新编C语言案例教程.ppt
《新编C语言案例教程.ppt》由会员分享,可在线阅读,更多相关《新编C语言案例教程.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1书名书名:新编:新编C C语言案例教程语言案例教程ISBNISBN:978-7-111-48814-9作者作者:樊秋月 陈明芳出版社:机械工业出版社出版社:机械工业出版社本书配有电子课件本书配有电子课件2数据类型、运算符和表达式单元2要点要点n 数据类型及定义方法n 不同类型的运算符及表达式32.1 C语言的数据类型2.1.1 2.1.1 字符集字符集1 1、英文字母:大小写各、英文字母:大小写各2626个,共计个,共计5252个;个;2 2、阿拉伯数:、阿拉伯数:0-90-9共共1010个数字;个数字;3 3、下划线:、下划线:_ _;4 4、特殊符号:通常指由、特殊符号:通常指由1 12
2、 2个符号组成的运算符。个符号组成的运算符。算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=!=条件运算符:条件运算符:?:?:赋值运算符:赋值运算符:=其他分隔符:其他分隔符:().,;().,;4 2.1.2 2.1.2 标识符标识符 就就是是用用来来标标识识变变量量名名、符符号号常常量量名名、函函数数名名、类类型型名名、文件名等的有效字符序列。文件名等的有效字符序列。C C语言规定:语言规定:标标识识符符只只能能由由字字母母、数数字字和和下下划划线线三三种种字字符符组组成成,且且第一个字符必须为字母或下划线。第一个字符必须为字母或下划线。例如:例如:合法标识
3、符:合法标识符:_22A _22A,lea_1lea_1,avg3avg3,dayday,ABCde43xyw8ABCde43xyw8不合法标识符:不合法标识符:M.J.YORKM.J.YORK,$_238$_238,#xy#xy,a*ba*b,8Tea8Tea注意:注意:在在C C语语言言中中,大大小小写写字字母母不不等等效效。因因此此,a a和和A A,I I和和i i,SumSum和和sumsum,分别是两个不同的标识符。,分别是两个不同的标识符。5关键字关键字 就就是是具具有有特特定定含含义义的的标标识识符符,用用户户不不能能用用来来作作自自定定义义标识符。由标识符。由ANSIANSI
4、标准推荐的关键字有标准推荐的关键字有3232个,常用的有:个,常用的有:与数据类型有关的:与数据类型有关的:char int float double signed unsigned char int float double signed unsigned short long void struct union typedef short long void struct union typedef enum sizeof enum sizeof 与存储类别有关的与存储类别有关的:auto extern register staticauto extern register static
5、与程序控制结构有关的:与程序控制结构有关的:do while for if else switch case do while for if else switch case default goto continue break return default goto continue break return6 任何程序都涉及待处理的数据,数据可以是常量和变量。常量和变量可分为基本类型、构造类型、指针类型和空类型。在C语言中,经常用到的各种类型数据,如图所示。2.2 C语言的数据类型分类语言的数据类型分类7 不同的数据类型在内存中占用不同的存储空间,它们的取值范围也不同。表2-1是C语言中
6、常用的基本数据类型所对应的字长(存储空间)和取值范围。C语言的数据类型的取值范围语言的数据类型的取值范围 类型标 识符名 字长度(字节)取值范围char 字符型 1 ASCII字符代码 unsigned char 无符号字符型 1 0255 short int短整型2-3276832767int 整型 4 -21474836482147483647unsigned int 无符号整型 4 04294967295long int 长整型 4 -21474836482147483647float 单精度型 4 double 双精度型 8 82.2.1 常量常量可分为不同的类型。常用的有:常量可分为
7、不同的类型。常用的有:常量常量常量常量C语言中的数据有常量和变量之分。常量又称常语言中的数据有常量和变量之分。常量又称常数,是指在程序运行中,其值不能被改变的量数,是指在程序运行中,其值不能被改变的量。整型常量实型常量字符常量字符串常量符号常量9 整型常量是由一个或多个数字组成,可以有正、负号,但不能有小数点。整型常量有三种表示方法:1 整型常量整型常量 n(1)十进制整数:取值范围:)十进制整数:取值范围:09。如如1236,-234,0。n(2)八进制整数:以)八进制整数:以0开头的数是八进制数,取值范围:开头的数是八进制数,取值范围:07。如如:011表示八进制数的表示八进制数的(11)
8、8。n(3)十六进制整数:以)十六进制整数:以0 x开头的数是十六进制数,取值范围:开头的数是十六进制数,取值范围:09,AF或或af。如:如:0 x1F表示十六进制数的表示十六进制数的(1F)16,(十进制数为十进制数为31)。10 【例例2.12.1】三种进制表示方法的转换。三种进制表示方法的转换。main main()()int x=1246 int x=1246,y=01246y=01246,z=0 x1246;z=0 x1246;printf printf(%d%d,%d%d,%dn%dn,x x,y y,z z);/*%d:;/*%d:以十进以十进制格式符输出制格式符输出*/pri
9、ntf printf(%o%o,%o%o,%on%on,x x,y y,z z);/*%o:;/*%o:以八进以八进制格式符输出制格式符输出*/printf printf(%x%x,%x%x,%xn%xn,x x,y y,z z);/*%x:;/*%x:以十六以十六进制格式符输出进制格式符输出*/11 在C语言中,把带小数的数值称为实数或浮点数。C语言实型常量只使用十进制数。有以下两种表示形式:2 实型常量实型常量 n 1十进制数形式:十进制数形式:由正负号、整数部分、由正负号、整数部分、小数点、小数部分组小数点、小数部分组成。成。n如:如:3.14159,-7.21,128.96等都是等都是
10、十进制形式。十进制形式。n 2指数形式:由正负号、指数形式:由正负号、整数部分、小数点、小数整数部分、小数点、小数部分和字母部分和字母E或或e后面带正后面带正负号的整数组成。负号的整数组成。n如:十进制数如:十进制数180000=(1.8)用指数)用指数法可以表示为法可以表示为1.8e5,其中:,其中:1.8称为尾数,称为尾数,5称为指数。称为指数。12 字符型常量是由一对单引号括起来的单个字符,在内存中占字符型常量是由一对单引号括起来的单个字符,在内存中占1个字个字节。节。例如:例如:A,b,2,%,;等都是有效的字符型常量。等都是有效的字符型常量。一个字符型常量的值是该字符集中对应的一个字
11、符型常量的值是该字符集中对应的ASCII编码值(参见附录编码值(参见附录)。)。例如,字符常量例如,字符常量09对应的对应的ASCII编码值是编码值是4857。显然。显然0与数与数字字0是不同的,这是初学者容易混淆的一点,具体可以参看附录是不同的,这是初学者容易混淆的一点,具体可以参看附录。C语言中还允许用一种特殊形式的字符常量,即以反斜杠字符语言中还允许用一种特殊形式的字符常量,即以反斜杠字符开开头的字符序列。前面用的头的字符序列。前面用的printf()函数中的()函数中的n,代表一个,代表一个“回车换行回车换行”符。这类字符称为符。这类字符称为“转义字符转义字符”,意思是将反斜杠,意思是
12、将反斜杠“”后面的字符转后面的字符转换成另外的意义。换成另外的意义。3 字符型字符型常量常量 13表表2-2 2-2 转换码序列表转换码序列表 转义符转义符ASCIIASCII码码字符字符 含义含义00NULL 表示字符串结束n10NL(LF)换行,将当前光标移到下一行的开头t9HT水平制表v11VT垂直制表b8BS 左退一格r13CR回车,将当前光标移到本行的开头f12FF换页39单引号”34双引号92反斜线ddd1至3位八进制数所代表的字符xhh1至2位十六进制数所代表的字符14 字符串常量是由一对双引号括起来的字符序列,若字符序列串长为字符串常量是由一对双引号括起来的字符序列,若字符序列
13、串长为N,则在内存占用,则在内存占用N+1个内存单元,字符串常量在内存中存储时,系统自个内存单元,字符串常量在内存中存储时,系统自动加上串尾标记动加上串尾标记“0”。例如:例如:program,A,book都是字符串常量,双引号起定界都是字符串常量,双引号起定界符的作用。符的作用。因为因为C语言中规定字符串常量以字符语言中规定字符串常量以字符0作为结束标志,系统将根据作为结束标志,系统将根据该字符判断字符串是否结束。对于字符串该字符判断字符串是否结束。对于字符串CHINA,它在内存中实际存,它在内存中实际存放的形式如图所示。其长度是放的形式如图所示。其长度是6个字节,而不是个字节,而不是5个字
14、节。字符个字节。字符0所对应所对应的的ASCII值为值为0,即,即“空空”字符。字符。4 字符串常量字符串常量 C CH HI IN NA A00152.2 常量第2章 用一个特定的符号来代替一个常量或代替一个较为复杂的字符串,用一个特定的符号来代替一个常量或代替一个较为复杂的字符串,这个符号称为符号常量。它通常由预处理命令这个符号称为符号常量。它通常由预处理命令#define来定义。符号常量来定义。符号常量一般用大写字母表示,以便与其它标识符相区别。一般用大写字母表示,以便与其它标识符相区别。符号常量的一般定义形式:符号常量的一般定义形式:#define 符号常量符号常量 常量(或常量(或“
15、字符串字符串”)预处理预处理#define又称为宏定义命令,一个又称为宏定义命令,一个#define命令只能定义一个命令只能定义一个符号常量。因为它不是语句,所以结尾不用加分号。符号常量。因为它不是语句,所以结尾不用加分号。5 符号常量符号常量 16 使用符号常量的优点如下:使用符号常量的优点如下:n(1)增强可读性。在程序中定义一些具有一定意义的符号常)增强可读性。在程序中定义一些具有一定意义的符号常量,能起到量,能起到“见名知义见名知义”的作用。的作用。n(2)简化输入程序。使用符号常量代替一个字符串,可以减)简化输入程序。使用符号常量代替一个字符串,可以减轻程序中重复书写某些字符串的工作
16、量。轻程序中重复书写某些字符串的工作量。n(3)增强程序的通用性和可维护性。如果一个程序中有多处)增强程序的通用性和可维护性。如果一个程序中有多处使用同一个常量,这时,可把该常量定义为一个符号常量。若需使用同一个常量,这时,可把该常量定义为一个符号常量。若需要修改该常量时,则只需要在定义处修改即可。可以作到一改全要修改该常量时,则只需要在定义处修改即可。可以作到一改全改,避免出现修改不完全或遗漏等错误。改,避免出现修改不完全或遗漏等错误。17 变量是指在程序运行过程中其值可以被改变的某个标识符。变量是指在程序运行过程中其值可以被改变的某个标识符。C语言语言中的变量可以分为以下几种类型,如图所示
17、。中的变量可以分为以下几种类型,如图所示。2.2.2 变量变量 18 在在C语言中,无论使用哪一种类型变量,都要语言中,无论使用哪一种类型变量,都要“先定义先定义”,后,后“使使用用”。所谓定义,是给程序中用到的变量定义一个类型,即取值范围。所谓定义,是给程序中用到的变量定义一个类型,即取值范围。初始化,就是在定义变量的同时,给变量赋初值。初始化,就是在定义变量的同时,给变量赋初值。变量的定义与初始化变量的定义与初始化 变量定义格式为:变量定义格式为:数据类型数据类型 变量名表变量名表;例:例:int a;/*定义变量定义变量a为为int,系统给,系统给a分配分配4个字节的个字节的内存空间内存
18、空间*/a=10;/*给变量给变量a赋值赋值10,即把,即把10送入送入a所分配的所分配的内存中内存中 */或:或:int a=10;/*定义变量定义变量a的同时,给的同时,给a赋值赋值10,又,又称给变量初始化称给变量初始化*/我们可以用以上两种方法给变量赋初值。我们可以用以上两种方法给变量赋初值。19 1.整型变量整型变量 整型变量用来存放整型数据(即不带小数点的数)。有以下几种类整型变量用来存放整型数据(即不带小数点的数)。有以下几种类型,其定义的关键字如下:型,其定义的关键字如下:(1)基本型:用)基本型:用int表示(表示(4个字节)个字节)(2)短整型:用)短整型:用short i
19、nt或或short表示(表示(2字节)字节)(3)长整型:用)长整型:用long int或或long表示(表示(4字节)字节)(4)无符号整型:)无符号整型:无符号整型:无符号整型:用用unsigned int或或unsigned表示(表示(4字节)字节)无符号短整型:用无符号短整型:用unsigned short int或或unsigned short表示(表示(2字节)字节)无符号长整型:用无符号长整型:用unsigned long int或或unsigned long表示(表示(4字节)字节)20 无符号整型变量在存储单元中的全部二进制位都用来存放数据本身。无符号整型变量在存储单元中的全
20、部二进制位都用来存放数据本身。而没有符号位,即不能存放负数。而没有符号位,即不能存放负数。下面以短整型变量在内存中占两个字节(下面以短整型变量在内存中占两个字节(16bit)为例,来说明无符)为例,来说明无符号与有符号数据类型的区别。号与有符号数据类型的区别。短整型变量数值的表示范围是短整型变量数值的表示范围是-3276832767,若不考虑符号位,若不考虑符号位,无符号短整型数值的表示范围为无符号短整型数值的表示范围为065535,如图,如图2-4 所示,可以看出它所示,可以看出它们的取值范围是不同的。们的取值范围是不同的。21 【例例2.22.2】简单的算术运算。简单的算术运算。#incl
21、ude#include main()main()int a int a,b b,s1s1,s2;/*s2;/*定义定义a a,b b,s1s1,s2s2为整型变量为整型变量*/unsigned x=20;/*unsigned x=20;/*定义定义x x为无符号整型变量并赋初为无符号整型变量并赋初值值20*/20*/a=10;b=-30;/*a=10;b=-30;/*给变量给变量a a,b b分别赋值分别赋值*/s1=a+x;/*s1=a+x;/*进行计算,结果赋给变量进行计算,结果赋给变量s1*/s1*/s2=b+x;/*s2=b+x;/*进行计算,结果赋给变量进行计算,结果赋给变量s2*/
22、s2*/printfprintf(a+x=%da+x=%d,b+x=%dnb+x=%dn,s1s1,s2s2);/*a+x=;/*a+x=,b+x=b+x=是字符串是字符串原样输出,原样输出,%d%d是按整型格式输出变量是按整型格式输出变量s1s1,s2s2的值,的值,nn是输出数据后换是输出数据后换行行*/运行结果为:运行结果为:a+x=30,b+x=-1022 实型变量实型变量 实型变量又称浮点型变量,按能够表示数的小数点后的精度,实型变量又称浮点型变量,按能够表示数的小数点后的精度,C语语言实型变量分为三种:言实型变量分为三种:(1)单精度型:)单精度型:用用float表示,在内存占用表
23、示,在内存占用4个字节,有效数字个字节,有效数字67位。位。(2)双精度型:)双精度型:用用double表示,在内存占用表示,在内存占用8个字节,有效数字个字节,有效数字1516位。位。(3)长双精度型:)长双精度型:用用long double表示,在内存占用表示,在内存占用16个字节,有效数字个字节,有效数字1819位。位。23 其定义方式如下其定义方式如下:float a,b;/*定义单精度变量定义单精度变量a,b*/double c,d;/*定义双精度变量定义双精度变量c,d*/单精度浮点型变量和双精度浮点型变量之间的差异仅仅体现在所能单精度浮点型变量和双精度浮点型变量之间的差异仅仅体现
24、在所能表示的数的精度上。一般单精度型数据占表示的数的精度上。一般单精度型数据占4个字节,有效位为个字节,有效位为7位,数值位,数值范围约为范围约为10-381038,而双精度型数据占,而双精度型数据占8个字节,有效位为个字节,有效位为1516位,位,数值范围约为数值范围约为10-30810308。24 【例例2.32.3】不同类型数据的输出比较。不同类型数据的输出比较。#include#include main()main()float a;float a;double b;double b;a=123456.111;a=123456.111;b=123456.111;b=123456.111
25、;printf(a=%f,b=%lfn,a,b);printf(a=%f,b=%lfn,a,b);运行结果:运行结果:a=123456.109375,b=123456.11100025 字符型变量字符型变量 一个字符型变量用来存放一个字符,在内存中占一个字节。实际上,一个字符型变量用来存放一个字符,在内存中占一个字节。实际上,将一个字符常数赋值给一个字符变量,并不是把该字符本身放到内存单将一个字符常数赋值给一个字符变量,并不是把该字符本身放到内存单元中去,而是将该字符对应的元中去,而是将该字符对应的ASCII值(整数)存放到内存单元中。因值(整数)存放到内存单元中。因此,字符型数据也可以像整型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 语言 案例 教程
限制150内