c语言-第3章数据类型、运算符与表达式.ppt
《c语言-第3章数据类型、运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《c语言-第3章数据类型、运算符与表达式.ppt(122页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 数据类型及格式输出、运算符数据类型及格式输出、运算符与表达式与表达式主要内容主要内容 C C的数据类型的数据类型 常量与变量常量与变量 整型数据及格式输出整型数据及格式输出 实型数据及格式输出实型数据及格式输出 字符型数据及格式输出字符型数据及格式输出 字符串及格式输出字符串及格式输出 变量的赋初值变量的赋初值 各类数值型数据混合计算各类数值型数据混合计算 算术运算符和算术表达式算术运算符和算术表达式 赋值运算符和赋值表达式赋值运算符和赋值表达式 逗号运算符和逗号表达式逗号运算符和逗号表达式3.1 3.1 的数据类型的数据类型 整型(整型(int,long,unsigned,un
2、signed longint,long,unsigned,unsigned long)字符型(字符型(charchar)基本类型基本类型 单精度型(单精度型(floatfloat)浮点型浮点型 双精度型(双精度型(doubledouble)枚举类型(枚举类型(enumenum)数据类型数据类型 数组类型(数组类型()构造类型构造类型 结构体类型(结构体类型(structstruct)共用体类型(共用体类型(unionunion)指针类型(指针类型(*)空类型(空类型(voidvoid)3.2 3.2 常量和变量常量和变量一、常量一、常量概念:在程序运行中概念:在程序运行中,其数值不能被改变的其
3、数值不能被改变的量。量。分类:分类:直接常量和符号常量直接常量和符号常量1.1.直接常量:是在程序中直接常量:是在程序中直接引用直接引用的数据。的数据。分为:整型、实型、字符型、字符串分为:整型、实型、字符型、字符串 如:如:3,4.5,S,“china”等等2.2.2.2.符号常量:符号常量:符号常量:符号常量:特点:特点:在程序中不能给它赋值在程序中不能给它赋值。概念:是用标识符来表示一个常量。概念:是用标识符来表示一个常量。定义形式(定义在函数体之外)定义形式(定义在函数体之外):#define#define 标识符标识符 常量数据常量数据例如例如:#define PI 3.14159:
4、#define PI 3.14159在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符PIPI的地方的地方都将用数据都将用数据3.141593.14159来替换。来替换。如如:2*2.3*PI:2*2.3*PI 就等价于就等价于 2*2.3*3.14159 2*2.3*3.14159。习惯上,符号常量用大写字母表示。习惯上,符号常量用大写字母表示。define PRICE 30define PRICE 30 void main()void main()int num,total;int num,total;num=10;num=10;total=num*PRICE;total=num
5、*PRICE;printf(“total=%d”,total);printf(“total=%d”,total);符号常量在其作用域内不能再被赋值。符号常量在其作用域内不能再被赋值。使用符号常量的好处:使用符号常量的好处:(1 1)含义清楚;()含义清楚;(2 2)一改全改)一改全改二、变量二、变量变量是指在程序运行中变量是指在程序运行中,其值其值可以被改变可以被改变的量。的量。基本概念:基本概念:变量代表计算机内存中的某一存储空间变量代表计算机内存中的某一存储空间,该存储该存储空间中存放的数据就是变量的值。空间中存放的数据就是变量的值。在同一程序块中,每个变量都有唯一的名字,在同一程序块中,
6、每个变量都有唯一的名字,不能被重复定义。不能被重复定义。int a,b,c;int a,b,c;float x,y;float x,y;char c1,c2;char c1,c2;或或 int c1,c2;int c1,c2;自己设定,满足自己设定,满足标识符的规定。标识符的规定。如:如:int,int,float,charfloat,char“;”不可省不可省定义形式定义形式:类型标识符类型标识符 变量名变量名1,1,变量名变量名2,2,变量名变量名3 3,.;例如:例如:注意事项注意事项:(1)(1)变量必须先定义后使用变量必须先定义后使用(2)(2)每个变量必须被指定为一种类型每个变量必
7、须被指定为一种类型(3)(3)一般习惯上用小写字母表示变量一般习惯上用小写字母表示变量,用大写字母表用大写字母表示符号常量,以示区别。(仅是习惯不是规定)示符号常量,以示区别。(仅是习惯不是规定)三、三、C语言中的标识符语言中的标识符概念:就是用来标识变量名、符号常量名、函概念:就是用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。数名、类型名、文件名等的有效字符序列。(1)(1)标标识识符符只只能能由由字字母母、数数字字和和下下划划线线三三种种字字符符组组成,且第一个字符必须为字母或下划线。成,且第一个字符必须为字母或下划线。定义规则:定义规则:如:如:_1 year mo
8、nth student_name sum0 _1 year month student_name sum0 M.D.Jones$123#a 3b?c a=b M.D.Jones$123#a 3b?c a=b(2)(2)在在C C语言中,大写字母和小写字母被认为是不同语言中,大写字母和小写字母被认为是不同的字符。因此,的字符。因此,a a和和A A,I I和和i i,SumSum和和sumsum,分别是两,分别是两个不同的标识符。个不同的标识符。一般,变量名用小写字母,与人一般,变量名用小写字母,与人们习惯一致。们习惯一致。(3)Turbo C(3)Turbo C 规定标识符最长为规定标识符最长
9、为3232个字符。个字符。(4)(4)用用户户自自定定义义的的标标识识符符不不能能与与保保留留字字(关关键键字字)同名。同名。关键字关键字概念:就是概念:就是具有特定含义具有特定含义的标识符,用户不的标识符,用户不能用来作自定义标识符。能用来作自定义标识符。C C语言中的关键字较少,由语言中的关键字较少,由ANSIANSI标准推荐的关键标准推荐的关键字有字有3232个。个。常用的有:常用的有:(1)(1)与数据类型有关的(与数据类型有关的(1414):):charintfloatdoublesignedunsignedcharintfloatdoublesignedunsignedshortl
10、ongvoidstructuniontypedefshortlongvoidstructuniontypedefenumsizeofenumsizeof(3)(3)与程序控制结构有关的(与程序控制结构有关的(1212):):dowhileforifelseswitchcasedowhileforifelseswitchcasedefaultgotocontinuedefaultgotocontinue breakreturnbreakreturn见课见课本本P365P365附附录录IIII(2)(2)与存储类别有关的:与存储类别有关的:autoexternregisterstaticautoe
11、xternregisterstatic一、整型常量的表示方法一、整型常量的表示方法整型常量的表示方法:整型常量的表示方法:1.1.十进制整数:十进制整数:123 123、-76-76、0 0 2 2八进制整数(以八进制整数(以0 0开头):开头):076 076、-0253-0253 076 076转换成十进制:转换成十进制:7*8+6 7*8+6 3 3十六制整数(以十六制整数(以0 x0 x开头):开头):0 xa 0 xa、0 x20 0 x20、0 xf4 0 xf4 0 xf4 0 xf4转换成十进制:转换成十进制:15*16+4 15*16+4 3.3 3.3 整型数据整型数据(1
12、)(1)整型变量的分类整型变量的分类基本型,以基本型,以intint表示。表示。长整型,以长整型,以long intlong int表示,或以表示,或以longlong表示。表示。无符号型,其中无符号型又分为无符号整型和无符无符号型,其中无符号型又分为无符号整型和无符号长整型,分别以号长整型,分别以unsigned int unsigned int unsigned longunsigned long表示。表示。默认为有符号型默认为有符号型:(signed)int,(signed)long int:(signed)int,(signed)long int二、整型变量二、整型变量类型类型比特数比
13、特数最小取值范围最小取值范围signed intsigned int1616-2-21515(2(21515-1)-1)即即-3276832767-3276832767signedlongintsignedlongint3232-2-23131(2(23131-1)-1)unsigned intunsigned int16160(20(21616-1)-1)即即065535065535unsigned longintunsigned longint32320(20(23232-1)-1)int x;int x;long y;long y;2000200020012001200220022005
14、2005x xy y内存内存内存地址内存地址2003200320042004所有变量必须先定义所有变量必须先定义再使用!再使用!(2)(2)整数在内存中的存放形式整数在内存中的存放形式整数在内存中以补码表示整数在内存中以补码表示:一个正数的补码和其原码的形式相同;一个正数的补码和其原码的形式相同;负数的补码:将该数的绝对值的原码,按位取反再负数的补码:将该数的绝对值的原码,按位取反再加加1 1。例如:整数例如:整数 8 8 的的1616位(位(2 2字节)编码字节)编码原码:原码:0 00000000 000010000000000 00001000反码:反码:0 00000000 00001
15、0000000000 00001000补码:补码:0 000000000000000 0000100000001000例如:整数例如:整数-8-8 的的1616位(位(2 2字节)编码字节)编码原码:原码:1 10000000 000010000000000 00001000反码:反码:1 11111111 111101111111111 11110111补码:补码:1 111111111111111 1111100011111000内存中存储形式内存中存储形式内存中存储形式内存中存储形式(3)(3)整型变量的定义整型变量的定义类型标识符类型标识符 变量名变量名1,1,变量名变量名2,2,变量
16、名变量名3 3,.;如:如:int a,b;int a,b;(指定变量(指定变量a,ba,b为整型)为整型)unsigned int c,d;(unsigned int c,d;(指定变量指定变量c,dc,d为无符号整型)为无符号整型)long e,f;long e,f;(指定变量(指定变量e,fe,f为长整型)为长整型)(5)(5)整型数据的格式输出整型数据的格式输出例:例:main()int a,b,sum;a=123;b=456;sum=a+b;printf(”a=%d,b=%d,c=%dn”,a,b,sum);结果结果:a=123,b=456,c=579 原样原样原样原样输出输出输出输
17、出格式符与输出项格式符与输出项一一对应一一对应转转义义字字符符(换行)(换行)printfprintf函数的一般格式:函数的一般格式:printfprintf(格式控制字符串格式控制字符串,输出项列表);,输出项列表);必须用英文的双引号必须用英文的双引号括起来。括起来。作用是控制输出项作用是控制输出项的格式和输出一些提示的格式和输出一些提示信息。信息。要输出的表达式。要输出的表达式。常量、变量、运算常量、变量、运算符表达式、函数返回值符表达式、函数返回值等,每个输出项之间用等,每个输出项之间用逗号逗号“,”分隔。分隔。格式控制字符格式控制字符格式控制字符格式控制字符组成组成:普通字符、转义字
18、符、格普通字符、转义字符、格普通字符、转义字符、格普通字符、转义字符、格式说明。式说明。式说明。式说明。普通字符普通字符普通字符普通字符按原样输出,主要用于输出提示信息。按原样输出,主要用于输出提示信息。按原样输出,主要用于输出提示信息。按原样输出,主要用于输出提示信息。:转义字符转义字符转义字符转义字符“”“”起头的转义字符(输出所表示的字符或实起头的转义字符(输出所表示的字符或实起头的转义字符(输出所表示的字符或实起头的转义字符(输出所表示的字符或实现其功能,见现其功能,见现其功能,见现其功能,见P25P25表表表表3-1 3-1,详后述),详后述),详后述),详后述)格式说明格式说明格式
19、说明格式说明由由由由%和和和和 格式字符串格式字符串格式字符串格式字符串 组成:组成:组成:组成:%格式字符串。格式字符串。格式字符串。格式字符串。它它它它表表表表示示示示按按按按规规规规定定定定的的的的格格格格式式式式输输输输出出出出数数数数据据据据,与与与与输输输输出出出出项项项项一一一一一一一一对对对对应。应。应。应。:常用的整型数据的输出格式符:常用的整型数据的输出格式符:%d%d:以有符号十进制数形式输出整数。:以有符号十进制数形式输出整数。%ld%ld:以有符号十进制数形式输出:以有符号十进制数形式输出长长整数。整数。%md%md:以有符号十进制数形式输出整数,至少占:以有符号十进
20、制数形式输出整数,至少占m m位。如果数位。如果数据的位数小于据的位数小于m m,右右对齐,若大于对齐,若大于m m,则按实际位数输出。,则按实际位数输出。例如:例如:printf(%dn,100);printf(%5dn,100););printf(%d%8d,100,100*100);1 0 01 0 0 0 0C语言的整型数据在内存中的存储形式是【】A)原码 B)补码 C)反码 D)ASCII码以下【】组中的标识符都是合法的C语言用户标识符:A)a_10 B)char C)_int D signed 3ab a#b day a一、实型常量的表示方法:一、实型常量的表示方法:十进制形式十进
21、制形式:由数字和小数点组成;由数字和小数点组成;例如例如例如例如:3.4 :3.4 :3.4 :3.4 4.4.4.4.3.3.3.3注意:必须有小数点注意:必须有小数点注意:必须有小数点注意:必须有小数点指数形式:由指数形式:由“十进制小数十进制小数”+“e(”+“e(或或E)”+“E)”+“十进制数整数十进制数整数”三部分组成。三部分组成。例如例如:12.5e-6 :12.5e-6 表示表示12.51012.510-6-6十进制小数十进制小数(尾数部分)(尾数部分)e(e(或或E)E)十进制数整数十进制数整数(指数部分)(指数部分)3.4 3.4 实型数据实型数据注意:注意:e e或或E
22、E的两边必须有数,且其后面必须为整数;的两边必须有数,且其后面必须为整数;如:如:6E0.2 6E0.2 e5 e5 6E 6E 二、实型变量二、实型变量(1)(1)实型变量在内存中的存放形式和变量定义实型变量在内存中的存放形式和变量定义 实型数据在内存中是按照规范化的浮点数形式存实型数据在内存中是按照规范化的浮点数形式存储的。储的。变量定义变量定义:float float 变量名;变量名;double double 变量名;变量名;数符数符尾数尾数指数符号指数符号 指数指数如:如:floatfloat a,b,c;a,b,c;double double a1,a2;a1,a2;a,b,ca,
23、b,c为为floatfloat型变量名。型变量名。a1,a2a1,a2为为doubledouble型变量名。型变量名。(2)(2)实型变量的分类实型变量的分类单精度(单精度(floatfloat)型型双精度(双精度(doubledouble)型)型长双精度(长双精度(long doublelong double)型)型类型类型比特数比特数 有效数字有效数字数值范围数值范围float326710-38 1038double64151610-308 10308 long double128181910-4932104932实例实例float x;float x;double y;double y;
24、20002000200320032004200420112011x xy y内存内存内存地址内存地址(3)(3)实型数据的输出举例实型数据的输出举例P47P47例例3.43.4:main()main()float a,b;float a,b;a=1.23e1;a=1.23e1;b=a+20 b=a+20;printf(%fn,a);printf(%fn,a);printf(%fn,b);printf(%fn,b);运行结果:运行结果:12.300000 12.300000 32.300000 32.300000 TCTC默认浮点数据输默认浮点数据输出出6 6个小数位数个小数位数(4)(4)实型
25、数据的输出格式符(实型数据的输出格式符(P37P37)%f%f:按小数形式输出实型数,整数部分全部输出,默认:按小数形式输出实型数,整数部分全部输出,默认6 6位小数。位小数。%m.nf:%m.nf:按小数形式输出实数,制定保留按小数形式输出实数,制定保留n n位小数,数据位小数,数据总宽度至少为总宽度至少为m m位,位,右右对齐,超过对齐,超过m m位按实际长度输出。位按实际长度输出。例如:例如:printf(“b=%5.2f”,2.3);printf(“b=%5.2f”,2.3);二种表现形式:二种表现形式:用单引号括起来的一个字符;用单引号括起来的一个字符;如:如:AA、1 1、?等。等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型 运算 表达式
限制150内