语言基本数据类型及运算.ppt
《语言基本数据类型及运算.ppt》由会员分享,可在线阅读,更多相关《语言基本数据类型及运算.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 C C语言基本数据类型及运算语言基本数据类型及运算 本章介绍了本章介绍了C C语言中最基本的要素:标识符、语言中最基本的要素:标识符、关键字、常量、变量、运算符和表达式,以及它们关键字、常量、变量、运算符和表达式,以及它们的分类、定义和使用。其中变量、运算符和表达式的分类、定义和使用。其中变量、运算符和表达式是本章的重点。是本章的重点。标识符标识符 数据类型数据类型常量常量 变量变量运算符运算符 表达式表达式数据类型、运算符与表达式示例数据类型、运算符与表达式示例标标 识识 符符 标识符是标识符是C C语言编程时用来标志识别的符号。语言编程时用来标志识别的符号。ANSI C AN
2、SI C规定:由字母或下划线开头,后跟字母,数字规定:由字母或下划线开头,后跟字母,数字或下划线任意组合的字符序列。或下划线任意组合的字符序列。正确:正确:count,test123,high_balance,PIcount,test123,high_balance,PI 不正确:不正确:1count1count,hihi!threethree,high.balancehigh.balance,a+ba+b 说明:说明:(1 1)标识符中大小写字母是有区别的。)标识符中大小写字母是有区别的。(2 2)不同的系统对标识符的长度有不同的要求。)不同的系统对标识符的长度有不同的要求。(3 3)一般应
3、做到见名知意,以提高程序的可读性。)一般应做到见名知意,以提高程序的可读性。关关 键键 字字 ANSI CANSI C规定了以下规定了以下3232个关键字(保留字),不能再用作各种个关键字(保留字),不能再用作各种标识符。如下:标识符。如下:auto,break,case,char,const,continue,default,do,double,auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,else,enum,extern,f
4、loat,for,goto,if,int,long,register,Return,short,signed,sizeof,static,struct,switch,typedef,Return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,whileunion,unsigned,void,volatile,while C C语言还使用下列语言还使用下列1212个标识符作为编译预处理的命令单词,使个标识符作为编译预处理的命令单词,使用时前面应家用时前面应家“#”define,elif,
5、else,endif,error,if,ifdef,ifndef,include,line,define,elif,else,endif,error,if,ifdef,ifndef,include,line,progrma,undefprogrma,undef数数 据据 类类 型型 基本数据类型基本数据类型基本数据类型基本数据类型字符类型、整形、实型(单精度、双精度)和无值型。字符类型、整形、实型(单精度、双精度)和无值型。基本数据类型的长度和值域基本数据类型的长度和值域类型修饰符类型修饰符类型修饰符有:类型修饰符有:signedsigned unsigned long shortunsign
6、ed long short整数定义后的缺省状态为整数定义后的缺省状态为signedsigned和和shortshort,如表所示。,如表所示。访问修饰符访问修饰符用于控制访问和修改变量方式:常量(用于控制访问和修改变量方式:常量(constconst)、易变量)、易变量(volatilevolatile)类型类型二进制数长度二进制数长度值域值域charintfloatdoublevoid816326400-255-32767-32767-3.4e-383.4e+381.7e-3081.7e-308valuelessC C基本类型及其修饰符所有组合基本类型及其修饰符所有组合说明:不同的计算机系统
7、对各类数据所占内存字节数有不同的规定。不同的计算机系统对各类数据所占内存字节数有不同的规定。构造数据类型和指针类型构造数据类型和指针类型构造数据类型构造数据类型 数组:数组:一组连续、有序地放在一起的具有相同类型的数据。结构体:结构体:将不同类型的数据按一定顺序存放在一起的数据结构。共用体:共用体:将不同类型的数都放在同一起始地址的内存单元中,以节省内存单元。枚举:枚举:只有几种可能的值,将其意义列举出来。实际使用符号来表示若干个可取的整型值。指针类型指针类型 指针类型是代表地址的数数 值值 常常 量量字字 符符 常常 量量 用单引号括起来的一个字符,如用单引号括起来的一个字符,如a a,G
8、G,+等。等。它们以其它们以其ASCIIASCII码形式贮存在内存中,每个字符在内存中占一码形式贮存在内存中,每个字符在内存中占一个字节。个字节。还有一类成为控制字符常量或转义字符常量。它们是一类不还有一类成为控制字符常量或转义字符常量。它们是一类不可打印字符,代表某些功能,如表所示:可打印字符,代表某些功能,如表所示:字字 符符 串串 常常 量量 字符串常量是用一对双引号括起来的字符序列,如字符串常量是用一对双引号括起来的字符序列,如“ABCABC”,“x+y=6x+y=6”,“How do you do.How do you do.”等。等。注意:注意:a a和和“a a”是不同的。是不同
9、的。字符常量在内存中只占一个字节,而字符串常量用字符常量在内存中只占一个字节,而字符串常量用00;来表示字符串的结束。来表示字符串的结束。如如“a a”在内存中的形式:在内存中的形式:符符 号号 常常 量量 (一)(一)符号常量在符号常量在C C语言中称为宏定义。宏定义是语言中称为宏定义。宏定义是C C语言提供的编译语言提供的编译预处理功能之一。预处理功能之一。不带参的宏定义不带参的宏定义#define#define用来定义一个标识符和一个字符串。用来定义一个标识符和一个字符串。这个标识符叫这个标识符叫宏名宏名,替换过程叫做,替换过程叫做宏替换宏替换或或宏展开宏展开。形式:形式:#define
10、#define 宏名宏名 字符串字符串 例:宏定义的使用例:宏定义的使用#define R 3.0#define PI 3.1415926#define L 2*PI*R#define S PI*R*Rmain()printf(“L=%fn S=%fn”,L,S);输出:输出:L=18.849556 S=28.274333符符 号号 常常 量量 (二)(二)说明:说明:(1 1)在宏名和字符串之间可以有任意个空格。)在宏名和字符串之间可以有任意个空格。例如:例如:#define PI 3.14159#define PI 3.14159(2 2)若定义了一个宏名,这个名字还可以作为其它宏定义)若
11、定义了一个宏名,这个名字还可以作为其它宏定义的一个部分来使用。的一个部分来使用。(3 3)宏替换仅是简单地用所说明的字符串来替换对应的宏)宏替换仅是简单地用所说明的字符串来替换对应的宏名,无实际的运算发生,也不做语法检查。名,无实际的运算发生,也不做语法检查。例如:例如:#define PI 3.14159#define PI 3.14159;area=PI*r*r area=PI*r*r;(4 4)C C程序中习惯用大写字母作为宏名。程序中习惯用大写字母作为宏名。(5 5)宏定义用宏命令)宏定义用宏命令#undef#undef 宏名宏名 来终止其作用域。来终止其作用域。例如:例如:#defi
12、ne PI 3.14159#define PI 3.14159 main main()()#undef PI#undef PI f1 f1()()符符 号号 常常 量量 (三)(三)带参的宏定义带参的宏定义 形式:形式:#define#define 宏名(参数标)宏名(参数标)字符串字符串 说明:说明:(1 1)在使用时,要将程序中宏名后的实际参数代入字)在使用时,要将程序中宏名后的实际参数代入字符串中参数的位置。符串中参数的位置。例如:例如:#define S(a,b)a*b#define S(a,b)a*b area=S(3,2);area=S(3,2);经编译预处理,该语句被展开为经编译
13、预处理,该语句被展开为area=3*2;area=3*2;(2 2)宏名与参数表左括号之间不能有空格。)宏名与参数表左括号之间不能有空格。(3 3)字符串中应注意括号的使用,以保证运算次序。)字符串中应注意括号的使用,以保证运算次序。例如:例如:#define S(a,b)#define S(a,b)(a a)*(b b)area=S(1+2 area=S(1+2,2 2)经展开后变成经展开后变成area=area=(1+21+2)*(2 2););变量的定义变量的定义变量定义的形式:变量定义的形式:类型类型 变量名表;变量名表;例如:例如:int I,j,num;float a,b,sum;
14、int I,j,num;float a,b,sum;说明:说明:(1 1)类型必须是)类型必须是C C语言的有效数据类型。语言的有效数据类型。(2 2)变量名表可以是一个或多个标识符名,中间以逗)变量名表可以是一个或多个标识符名,中间以逗号分隔,最后以分号结束。号分隔,最后以分号结束。(3 3)变量名可以是)变量名可以是C C语言中允许的合法标识符。语言中允许的合法标识符。(4 4)所有变量都应先定义后使用。)所有变量都应先定义后使用。C C语言中的各种类型的变量语言中的各种类型的变量整型变量整型变量 注意:在使用整型变量时一定要注意数值的范围,超过注意:在使用整型变量时一定要注意数值的范围,
15、超过该变量允许的使用范围将导致错误的效果。该变量允许的使用范围将导致错误的效果。实型变量实型变量 可分为可分为单精度型(单精度型(floatfloat)和和双精度型(双精度型(doubledouble)两类。两类。字符型变量字符型变量 分为基本型(int),短整型(short int或short),长整型(long int或long)和无符号型(unsigned int,unsigned short,unsigned long)。例如:int a,b;long e,f;说明说明C C语言中的各种类型的变量语言中的各种类型的变量整型变量整型变量 注意:在使用整型变量时一定要注意数值的范围,超过注
16、意:在使用整型变量时一定要注意数值的范围,超过该变量允许的使用范围将导致错误的效果。该变量允许的使用范围将导致错误的效果。实型变量实型变量 可分为可分为单精度型(单精度型(floatfloat)和和双精度型(双精度型(doubledouble)两类。两类。字符型变量字符型变量 在内存占4个字节,有7位有效数字,数值范围在3.4e-383.4e+38之间。说明说明C C语言中的各种类型的变量语言中的各种类型的变量整型变量整型变量 注意:在使用整型变量时一定要注意数值的范围,超过注意:在使用整型变量时一定要注意数值的范围,超过该变量允许的使用范围将导致错误的效果。该变量允许的使用范围将导致错误的效
17、果。实型变量实型变量 可分为可分为单精度型(单精度型(floatfloat)和和双精度型(双精度型(doubledouble)两类。两类。字符型变量字符型变量 占8个字节,有15-16位有效数字,数值范围在1.7e-3081.7e+308之间。说明说明C C语言中的各种类型的变量语言中的各种类型的变量整型变量整型变量 注意:在使用整型变量时一定要注意数值的范围,超过注意:在使用整型变量时一定要注意数值的范围,超过该变量允许的使用范围将导致错误的效果。该变量允许的使用范围将导致错误的效果。实型变量实型变量 可分为可分为单精度型(单精度型(floatfloat)和和双精度型(双精度型(double
18、double)两类。两类。字符型变量字符型变量 用来存放字符常量,只能存放一个字符。例如:char c1,c2;c1=a;c2=b;(对c1和c2赋值)说明说明C C语言中的各种类型的变量(续)语言中的各种类型的变量(续)枚举型变量枚举型变量形式:形式:enum enum 枚举元素表枚举元素表 例如例如:enum weekdaysun,mon,tue,wed,thu,fri,sat;:enum weekdaysun,mon,tue,wed,thu,fri,sat;enum weekday workday,restday;enum weekday workday,restday;示例:打印出枚举
19、元素示例:打印出枚举元素satsat的内存值。的内存值。main()main()enumsun,mon,tue,wed,thu,fri,satworkday,restday;enumsun,mon,tue,wed,thu,fri,satworkday,restday;restday=sat;restday=sat;printf(“restday is%dn”,restday);printf(“restday is%dn”,restday);运行结果:运行结果:restday is 6restday is 6其他类型变量其他类型变量 另外还有指针型变量,结构体型变量,共用体型变量。另外还有指针型
20、变量,结构体型变量,共用体型变量。枚举型变量说明枚举型变量说明 说明:说明:(1 1)workdayworkday,restday restday 只能被赋予花括号内的变量。只能被赋予花括号内的变量。例如:例如:workday=monworkday=mon;restday=sunrestday=sun;(2 2)可直接定义枚举变量,例如:)可直接定义枚举变量,例如:enumsunenumsun,monmon,tuetue,wedwed,thuthu,frifri,satworkdaysatworkday,restdayrestday;(3 3)可用初始化改变枚举元素的值,例如:)可用初始化改变
21、枚举元素的值,例如:enum weekdaysun=7enum weekdaysun=7,mon=1mon=1,tue=2tue=2,wed=3wed=3,thu=4thu=4,fri=5fri=5,sat=6sat=6workdayworkday,restdayrestday;定义;定义sunsun为为7 7,monmon为为1 1,satsat为为6.6.(4 4)一个整数不能直接赋给一个枚举变量,应进行类型转换才能赋值。)一个整数不能直接赋给一个枚举变量,应进行类型转换才能赋值。例如:例如:restday=(enum.weekday)6restday=(enum.weekday)6或或r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 数据类型 运算
限制150内