2、3章-数据类型资料.ppt
《2、3章-数据类型资料.ppt》由会员分享,可在线阅读,更多相关《2、3章-数据类型资料.ppt(76页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、主要内容主要内容1 C1 C语言的基本元素语言的基本元素2 C2 C的数据类型的数据类型3 3常量与变量常量与变量4 4 整型数据整型数据5 5 浮点型数据运行浮点型数据运行6 6 字符型数据字符型数据 7 7 变量赋初值变量赋初值 8 8 各类数值型数据间的混合运算各类数值型数据间的混合运算 9 9 算术运算符和算术表达式算术运算符和算术表达式 10 10 赋值运算符和赋值表达式赋值运算符和赋值表达式 11 11 逗号运算符和逗号表达式逗号运算符和逗号表达式 ,逗号逗号 .圆点圆点 ;分号分号 :冒号冒号?问号问号 单引号单引号 ”双引号双引号 (左圆括号左圆括号 )右圆括号右圆括号 左方括
2、号左方括号 右方括号右方括号 左大括号左大括号 右大括号右大括号 右尖括号右尖括号 !感叹号感叹号|竖线竖线 /斜杠斜杠 反斜杠反斜杠 波折号波折号#井号井号%百分号百分号&and&and与与 xorxor异或异或 *乘号乘号 -减号减号 =等号等号 +加号加号 C C语言的基本元素语言的基本元素 一、符号集(字符集)一、符号集(字符集)C C语言的基本符号共有如下语言的基本符号共有如下5 5种。种。(1 1)大写字母)大写字母 :A AZ Z (2 2)小写字母:)小写字母:a a z z (3 3)阿拉伯数字:)阿拉伯数字:0 0 9 9(4 4)下划线)下划线 :_ _ (5 5)标点符
3、号和运算符)标点符号和运算符 二、标识符P17用来标记常量、变量、函数以及文件名字的字符序列。标识符的构成规则:I.以字母(大小写皆可)或下划线开头II.随后可跟若干个(包括0个)字母、数字、下划线(区分大小写)III.标识符的长度各个系统不同,最好不要超过8个字符如:x y3 _imax ELSE X A_to_B (合法)7x int#No re-input(不合法)区分大小写。如:区分大小写。如:Max、max是两个标识符是两个标识符注意注意三、关键字(key)也称“保留字”。它具有特定含义、专门用作语言特定成分的一类标识符。ANSI推荐的C语言的关键字是32个 如:main、int、c
4、har、float、define等注意:u所有的关键字都有固定的意义,不能用作其它。u 所有的关键字都必须小写。l如:else与ELSE代表不同含义:l else是关键字,ELSE用户定义的标识符 C C C C的数据类型的数据类型的数据类型的数据类型P18P18P18P18数据是操作的对象,数据类型是指数据在内存的表现形式(代码、存储、运算)。数据类型数据类型构造类型构造类型指针类型指针类型空类型(空类型(无值类型)无值类型)voidvoid枚举类型枚举类型枚举类型枚举类型 enumenumenumenum数组类型数组类型数组类型数组类型结构类型结构类型结构类型结构类型 structstru
5、ctstructstruct联合类型联合类型联合类型联合类型 unionunionunionunion基本类型基本类型整型整型整型整型 intintintint字符型字符型字符型字符型 charcharcharchar实型(浮点型)实型(浮点型)实型(浮点型)实型(浮点型)单精度实型单精度实型单精度实型单精度实型 floatfloatfloatfloat双精度实型双精度实型双精度实型双精度实型 doubledouble常量与变量常量与变量常量与变量常量与变量一、常量和符号常量在程序运行过程中,其值不能被改变的量称为常量1 1 常量常量常量区分为不同的类型:整型整型 100100,125125,
6、-100-100,0 0实型实型 3.14 3.14,0.1250.125,-3.789-3.789字符型字符型 a a,b b2 2、符号常量、符号常量定义方法:定义方法:#define#define 标识符标识符 常量常量例例1 1#define PI 3.14#includevoid main()float r,s;r=10;s=r*r*PI;printf(“s=%f”,s);total=300说明:说明:说明:说明:如再用赋值语句如再用赋值语句给给PIPI赋值是错误的。赋值是错误的。PI=3.1;/*PI=3.1;/*错误,不错误,不能给符号常量赋值。能给符号常量赋值。常量与变量常量与
7、变量常量与变量常量与变量二、变量二、变量变量变量代表内存中具有特定属性的一个存储单元,它代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是用来存放数据,这就是变量的值变量的值,在程序运行期间,在程序运行期间,这些值是可以改变的。这些值是可以改变的。变量名变量名实际上是一个以一个名字对应代表一个地址,实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取变量名找到相应的内存地址,从该
8、存储单元中读取数据数据。变量-变量名-存储单元定义方法:类型符 标识符(变量名)如:int i,j,imax;char c1,c2;float x,root;double y1,y2;表示表示值值变量名变量名变量值变量值8a存储单元存储单元 变量命名的规定:变量命名的规定:语言规定标识符只能由语言规定标识符只能由字母、数字和下划线三种字符组成,且第一字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。个字符必须为字母或下划线。例:sumsum,_total,month,Student_name_total,month,Student_name,lotus_1_2_lotus_1_2
9、_,BASIC,li_ling BASIC,li_ling M.D.John,M.D.John,¥123,3D64,ab123,3D64,ab 常量与变量常量与变量注意:编译系统将大写字母和小写字母认为是两个不同的字符。建议变量名的长度最好不要超过8个字符。在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词 (或其缩写)作标识符。要求对所有用到的变量作强制定义,也就是“先定义,后使用”。整型数据整型数据整型数据整型数据1、整型常量的表示方法 整型常量即整常数。在语言中,整常数可用以下三种形式表示:(1)十进制整数。如:123,-456.4。(2)八进制整数。最高位必须用0
10、做引导符 如:0123表示八进制数123,等于十进制数83,(3)十六进制整数。由0-9,a-f(A-F)组成;最高位必须以0 x(0X)作引导符。如:0 x123,代表16进制数123,等于十进制数 291。2.2.整型变量的分类整型变量的分类 按范围分:按范围分:基本整型(基本整型(intint)2 2 短整型(短整型(short intshort int)2 2 长整型(长整型(long intlong int)4 4为充分利用值范围,又分:为充分利用值范围,又分:有符号数(有符号数(signedsigned)(可省可省)无符号数(无符号数(unsignedunsigned)6 6种整型
11、变量:种整型变量:有符号基本整型有符号基本整型 signed int;signed int;有符号短整型有符号短整型 signed short int;signed short int;有符号长整型有符号长整型 signed long int;signed long int;无符号基本整型无符号基本整型 unsigned int;unsigned int;无符号短整型无符号短整型 unsigned short int;unsigned short int;无符号长整型无符号长整型 unsigned long int;unsigned long int;有符号数有符号数基本型:以基本型:以int
12、int说明,占用说明,占用2 2字节,字节,如:如:int i,sum;int i,sum;短整型:以短整型:以short intshort int或或shortshort说明说明,占用占用2 2字节。字节。如:如:short s,sum;short s,sum;长整型:以长整型:以long intlong int或或longlong说明。占用说明。占用4 4字节。字节。如:如:long l,sum;long l,sum;无符号型无符号型无符号整型无符号整型:以以unsigned int unsigned int 或或 unsignedunsigned说明,占用说明,占用2 2字节字节 如:如
13、:unsigned ui,sum;unsigned ui,sum;无符号短整型无符号短整型:以以unsigned shortunsigned short说明,占用说明,占用2 2字节字节 如:如:unsigned short us,sum;unsigned short us,sum;无符号长整型无符号长整型:以以unsigned longunsigned long说明,占用说明,占用4 4字节字节 如:如:unsigned long ul,sum;unsigned long ul,sum;(p19p19表表2-12-1给出了各整型数据的取指范围)给出了各整型数据的取指范围)整型数据整型数据整型
14、数据整型数据3、整型变量的定义:规定在程序中所有用到的规定在程序中所有用到的变量都必须变量都必须在程序中在程序中定义定义,即,即“强制类型定义强制类型定义”。例如:int a,b(指定变量、为整型)(指定变量、为整型)unsigned short c,d;(指定变量、为无符号短整型)(指定变量、为无符号短整型)long e,f;(指定变量、为长整型)指定变量、为长整型)例例2 2:#include#include void main()void main()int a,b;/*int a,b;/*指定指定a,ba,b为整型变量为整型变量*/unsigned s;/*unsigned s;/*指
15、定指定s s为无符号整型变量为无符号整型变量*/a=3;a=3;b=5;b=5;s=a+b;s=a+b;printf printf(“a+b=%d”,sa+b=%d”,s);4.4.整形变量的溢出整形变量的溢出例例3 3#include#include void main()void main()short a,b;short a,b;a=32767;a=32767;b=a+1;b=a+1;printf(“%d%dn”,a,b);printf(“%d%dn”,a,b);运行结果为:运行结果为:3276732767,-32768-32768n发生溢出,但运发生溢出,但运行时并不报错行时并不报错n
16、靠程序员的细心靠程序员的细心和经验来保证结和经验来保证结果正确果正确说明:说明:数值是以补码表示的。数值是以补码表示的。一个整型变量只能容纳一个整型变量只能容纳-32768-327683276732767范围内的数,无范围内的数,无法表示大于法表示大于3276732767或小于或小于-32768-32768的数。遇此情况就发生的数。遇此情况就发生“溢出溢出”。总结总结整型常量的类型整型常量的类型 值在值在-32768+32767-32768+32767范围。认为是范围。认为是shortshort型型值在值在-2147483648+2147483647-2147483648+2147483647
17、范围。认为是范围。认为是long intlong int型型八进制十六进制常量的类型根据数值的大小可以是整型、八进制十六进制常量的类型根据数值的大小可以是整型、无符号型(无符号型(065535065535)、长整型或无符号长整型)、长整型或无符号长整型整数后有后缀整数后有后缀u u或或U U,认为是,认为是unsignedunsigned型型整数后有后缀整数后有后缀l l或或L L,认为是,认为是long intlong int型。型。-72-7272u72u-72l-72l72ul72ul-072-072072u072u-072l-072l072ul072ul-0 x72-0 x720 x7
18、2u0 x72u-0 x72u-0 x72u0 x72ul0 x72ul浮点型数据浮点型数据一、浮点型常量一、浮点型常量 C C语言中的浮点数,即实数。语言中的浮点数,即实数。两个表示形式:两个表示形式:1 1、十进制小数形式、十进制小数形式 (必须有小数点)(必须有小数点)如:如:0.1230.123,123.123.,123.0123.0,0.00.02 2、指数形式、指数形式 如:如:3.45e3 3.45E3 3.45e3 3.45E3 表示表示3.45103.45103 3注意:字母字母e e或或E E之前必须有数字之前必须有数字,e e、e3e3、.e3.e3字母字母e e或或E
19、E后后的指数的指数必须为整数必须为整数。e2.1e2.1、2e3.22e3.21e31e3、1.8e-31.8e-3、-123e-6-123e-6、-.1e-3-.1e-3e3e3、2.1e3.52.1e3.5、.e3.e3、e e 错错 对对 浮点型数据浮点型数据浮点型数据浮点型数据规范化的指数形式规范化的指数形式:在字母在字母e e(或(或E E)之前的小数部分中,小数点左)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字边应有一位(且只能有一位)非零的数字.例如例如:123.456:123.456可以表示为:可以表示为:123.456e0,12.3456e1,1.23456
20、e2,123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e0.123456e3,0.0123456e4,0.00123456e 其中的其中的1.23456e31.23456e3称为称为“规范化的指数形式规范化的指数形式”。浮点型数据浮点型数据二、二、浮点型变量的分类浮点型变量的分类浮点型变量分为三类形式浮点型变量分为三类形式:l单精度(单精度(floatfloat)型)型:占占4 4个字节,个字节,6767位有效数字。位有效数字。l双精度(双精度(doubledouble)型)型:占占8 8个字节,个字节,151615
21、16位有效数字。位有效数字。l长双精度长双精度(long double)(long double)型:占型:占8 8个字节,个字节,18191819位有效数字。位有效数字。如:如:float xfloat x,y;y;double a double a,b b,c c;例例4 4#include void main()float a,b;a=123456.789e5;b=a+20;printf(“a=%f,b=%f”,a,b);指指 数数阶阶 符符小小 数数数数符符运行结果运行结果a=12345678848.000000b=12345678868.000000说明:说明:一个浮点型变量只能保证
22、的一个浮点型变量只能保证的有效数字是有效数字是7 7位有效数字,后面位有效数字,后面的数字是无意义的,并不准确的数字是无意义的,并不准确地表示该数。(地表示该数。(若数据超过有若数据超过有效位。则产生误差。效位。则产生误差。)应当避)应当避免将一个很大的数和一个很小免将一个很大的数和一个很小的数直接相加或相减,否则就的数直接相加或相减,否则就会会“丢失丢失”小的数。小的数。三、浮点型数据的舍入误差三、浮点型数据的舍入误差虽然实型数据的表示形式有两种,虽然实型数据的表示形式有两种,但是在内存中均以指数形式存放。但是在内存中均以指数形式存放。浮点型数据浮点型数据四、浮点型常量的类型 C C编译系统
23、将浮点型常量作为双精度来处理。编译系统将浮点型常量作为双精度来处理。例如:f=2.45678*4523.65f=2.45678*4523.65 系统先把系统先把2.456782.45678和和4523.654523.65作为双精度数,然后作为双精度数,然后进行相乘的运算,得到的乘也是一个双精度数。最进行相乘的运算,得到的乘也是一个双精度数。最后取其前后取其前7 7位赋给浮点型变量位赋给浮点型变量f f。如是在数的后面加。如是在数的后面加字母字母f f或或F F(如(如1.65f,654.87F1.65f,654.87F),这样编译系统就),这样编译系统就会把它们按单精度(会把它们按单精度(32
24、32位)处理。位)处理。一、字符常量一、字符常量 P21P211.1.用用单引号单引号括起来的括起来的一个一个字符字符(只能包含一个字符只能包含一个字符)如:如:aa、AA、bb、*、$2.2.转义字符:特殊的字符常量,以转义字符:特殊的字符常量,以“”开头。开头。nn换行符换行符 00空值空值 tt横向跳格横向跳格 vv纵向跳格纵向跳格 bb退格退格 aa报警报警 rr回车回车 ff走纸换页走纸换页 输出反斜杠输出反斜杠 输出单引号输出单引号 ”输出双引号字符输出双引号字符 dddddd 1-3 1-3位八进制数表示的字符(位八进制数表示的字符(ASCIIASCII码)码)如:如:10110
25、1代表字符代表字符A.A.x xhhhh 1-2 1-2位十六进制数表示的字符位十六进制数表示的字符 (ASCII(ASCII码码)如:如:x41x41代表字符代表字符AA字符型数据字符型数据例例5 转义字符的使用转义字符的使用#include void main()printf(“ab ctderftgn”);printf(“htibbj kn”);/*程序结果1234567890f ge h j k*/字符型数据字符型数据 二、字符变量字符型变量用来存放字符常量,注意只能放字符型变量用来存放字符常量,注意只能放 一个字符,不可以存放字符串。一个字符,不可以存放字符串。字符变量的定义形式如下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 资料
限制150内