第三版C语言PPT课件讲解第03章数据类型、运算符与表达式.ppt

上传人:豆**** 文档编号:57949535 上传时间:2022-11-06 格式:PPT 页数:46 大小:1.14MB
返回 下载 相关 举报
第三版C语言PPT课件讲解第03章数据类型、运算符与表达式.ppt_第1页
第1页 / 共46页
第三版C语言PPT课件讲解第03章数据类型、运算符与表达式.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《第三版C语言PPT课件讲解第03章数据类型、运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《第三版C语言PPT课件讲解第03章数据类型、运算符与表达式.ppt(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三版第三版C语言语言PPT课件课件讲解第讲解第03章数据类型、章数据类型、运算符与表达式运算符与表达式3.1 C的数据类型的数据类型3.2 常量与变量常量与变量3.2.13.2.1常量和符号常量常量和符号常量常量和符号常量常量和符号常量1.1.常量的概念常量的概念常量的概念常量的概念常量:常量:常量:常量:在程序运行过程中,其值不能被改变的量。在程序运行过程中,其值不能被改变的量。在程序运行过程中,其值不能被改变的量。在程序运行过程中,其值不能被改变的量。2.2.常量的分类常量的分类常量的分类常量的分类(1 1)整型常量(如)整型常量(如)整型常量(如)整型常量(如1212、0 0、-3-3

2、为整型常量)为整型常量)为整型常量)为整型常量)(2 2)实型常量()实型常量()实型常量()实型常量(4.64.6、-1.23-1.23为实型常量)为实型常量)为实型常量)为实型常量)(3 3)字符常量()字符常量()字符常量()字符常量(a a、d d字符常量)字符常量)字符常量)字符常量)(4 4)符号常量:)符号常量:)符号常量:)符号常量:用一个标识符代表的常量。用一个标识符代表的常量。用一个标识符代表的常量。用一个标识符代表的常量。1 1)符号常量定义格式)符号常量定义格式)符号常量定义格式)符号常量定义格式#define define 常量符号名常量符号名常量符号名常量符号名 常

3、量常量常量常量 2 2)符号常量不同于变量,它的值在其作用域内不能改变,)符号常量不同于变量,它的值在其作用域内不能改变,)符号常量不同于变量,它的值在其作用域内不能改变,)符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值;也不能再被赋值;也不能再被赋值;也不能再被赋值;例例 3.1 3.1:#define PRICE 30define PRICE 30main()main()int num,total;int num,total;num num1010;total=num*PRICE;total=num*PRICE;printf(“total=%d”,total);printf

4、(“total=%d”,total);符号常量定义语句,PRICE符号定义后等同于30此句等同于Total=num*30使用符号常量的好处:使用符号常量的好处:使用符号常量的好处:使用符号常量的好处:(1 1)含义清楚,含义清楚,含义清楚,含义清楚,见名知义见名知义见名知义见名知义,使用程序更加清楚易读;,使用程序更加清楚易读;,使用程序更加清楚易读;,使用程序更加清楚易读;(2 2)在需要改变一个常量时能做到在需要改变一个常量时能做到在需要改变一个常量时能做到在需要改变一个常量时能做到“一改全改一改全改一改全改一改全改”,便,便,便,便于程序的修改;于程序的修改;于程序的修改;于程序的修改;

5、3.2.2变量变量1.1.变量的概念变量的概念变量的概念变量的概念:在程序运行时其值可以改变的量称为在程序运行时其值可以改变的量称为在程序运行时其值可以改变的量称为在程序运行时其值可以改变的量称为 变量变量变量变量。2.2.变量的两个要素变量的两个要素变量的两个要素变量的两个要素:(1 1)变量名。)变量名。)变量名。)变量名。每个变量都必须有一个名字每个变量都必须有一个名字每个变量都必须有一个名字每个变量都必须有一个名字变量变量变量变量 名,变量命名遵循标识符命名规则。名,变量命名遵循标识符命名规则。名,变量命名遵循标识符命名规则。名,变量命名遵循标识符命名规则。(2 2)变量值。)变量值。

6、)变量值。)变量值。在程序运行过程中,变量值存储在内在程序运行过程中,变量值存储在内在程序运行过程中,变量值存储在内在程序运行过程中,变量值存储在内 存中。在程序中,通过变量名来引用存中。在程序中,通过变量名来引用存中。在程序中,通过变量名来引用存中。在程序中,通过变量名来引用 变量的值。变量的值。变量的值。变量的值。C C语语语语言言言言中中中中变变变变量量量量:“先先先先定定定定义义义义,后后后后使使使使用用用用”。也也也也就就就就是是是是说说说说,C C要求对所有用到的变量做强制定义。要求对所有用到的变量做强制定义。要求对所有用到的变量做强制定义。要求对所有用到的变量做强制定义。3a存储

7、单元变量值变量名变量值存取过程变量值存取过程变量名变量名根据变量名找到根据变量名找到对应的存储单元对应的存储单元取出存储单元中取出存储单元中存储的变量值存储的变量值变量名和变量值之间的联系和区别变量名和变量值之间的联系和区别FFFC存储单元地址关于标识符关于标识符(identifier)组成字符的规定:组成字符的规定:(1)(1)C C语言规定标识符只能由语言规定标识符只能由语言规定标识符只能由语言规定标识符只能由字母字母字母字母、数字数字数字数字和和和和下划线下划线下划线下划线三种字符三种字符三种字符三种字符 组成,且组成,且组成,且组成,且第一个字符第一个字符第一个字符第一个字符必须必须必

8、须必须字母字母字母字母或或或或下划线下划线下划线下划线。例:例:例:例:合法的标识符合法的标识符合法的标识符合法的标识符:sumsum,averageaverage,_total_total,lotus_1_2_3lotus_1_2_3,BASICBASIC 不合法的标识符不合法的标识符不合法的标识符不合法的标识符 M.D.JohnM.D.John,¥123123,#33#33,3D643D64,abab (2)(2)C C语言中,语言中,语言中,语言中,区分大小写字母区分大小写字母区分大小写字母区分大小写字母,大写字母和小写字母被认,大写字母和小写字母被认,大写字母和小写字母被认,大写字母和

9、小写字母被认 为是两个不同的字符。为是两个不同的字符。为是两个不同的字符。为是两个不同的字符。例:例:例:例:sumsum和和和和SUMSUM认为为不同的标识符。认为为不同的标识符。认为为不同的标识符。认为为不同的标识符。一般情况下,一般情况下,一般情况下,一般情况下,变量名采用小写字母表示变量名采用小写字母表示变量名采用小写字母表示变量名采用小写字母表示。(3)(3)关于标识符长度的规定:关于标识符长度的规定:关于标识符长度的规定:关于标识符长度的规定:Turbo CTurbo C允许允许允许允许3232个字符,有的系统如个字符,有的系统如个字符,有的系统如个字符,有的系统如IBM PCIB

10、M PC和和和和MS CMS C取取取取8 8个字符,如果变量名长度超过个字符,如果变量名长度超过个字符,如果变量名长度超过个字符,如果变量名长度超过8 8个个个个,只有前,只有前,只有前,只有前8 8个有效,后面的个有效,后面的个有效,后面的个有效,后面的不被识别。例如:不被识别。例如:不被识别。例如:不被识别。例如:student_namestudent_name和和和和student_numberstudent_number被认为同一变量被认为同一变量被认为同一变量被认为同一变量 注意注意注意注意:这种类型的错误,系统在编译时不会报错。:这种类型的错误,系统在编译时不会报错。:这种类型的

11、错误,系统在编译时不会报错。:这种类型的错误,系统在编译时不会报错。(4)(4)C C语言的关键字不能用作变量名。语言的关键字不能用作变量名。语言的关键字不能用作变量名。语言的关键字不能用作变量名。标识符命名的良好习惯标识符命名的良好习惯标识符命名的良好习惯标识符命名的良好习惯见名知意见名知意见名知意见名知意:所所谓谓“见见名名知知意意”是是指指,通通过过变变量量名名就就知知道道变变量量值值的的含含义义。通通常常应应选选择择能能表表示示数数据据含含义义的的英英文文单单词词(或或缩缩写写)作作变变量名,或汉语拼音字头作变量名。量名,或汉语拼音字头作变量名。例例如如,name/xmname/xm(

12、姓姓名名)、sex/xbsex/xb(性性别别)、age/nlage/nl(年年龄龄)、salary/gzsalary/gz(工资)。工资)。3.3 3.3 整型数据整型数据3.3.13.3.1整型常量的表示方法整型常量的表示方法整型常量的表示方法整型常量的表示方法 整型常量的表示方法有三种:整型常量的表示方法有三种:整型常量的表示方法有三种:整型常量的表示方法有三种:1)1)十进制整数。如十进制整数。如十进制整数。如十进制整数。如123123,-456-456,0 0;2)2)八进制整数。以八进制整数。以八进制整数。以八进制整数。以0 0开头开头开头开头的数是的数是的数是的数是八进制八进制八

13、进制八进制。如。如。如。如0123,0123,-011-011;3)3)十六进制整数。以十六进制整数。以十六进制整数。以十六进制整数。以0 0 x x开头开头开头开头的数是的数是的数是的数是十六进制数十六进制数十六进制数十六进制数。如。如。如。如 0 0 x123x123,-0 x18-0 x18。3.3.23.3.2整型变量整型变量整型变量整型变量 数据在内存中是以二进制形式存放的。微机上使用的数据在内存中是以二进制形式存放的。微机上使用的数据在内存中是以二进制形式存放的。微机上使用的数据在内存中是以二进制形式存放的。微机上使用的C C编译系统,编译系统,编译系统,编译系统,每一个整型变量每

14、一个整型变量每一个整型变量每一个整型变量在内存中占用在内存中占用在内存中占用在内存中占用2 2个字节个字节个字节个字节。例:。例:。例:。例:int i;int i;i=10;i=10;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0i实际使用中,整型变量的数值是以实际使用中,整型变量的数值是以实际使用中,整型变量的数值是以实际使用中,整型变量的数值是以补码形式补码形式补码形式补码形式存放的。存放的。存放的。存放的。正数的补码:正数的补码:正数的补码:正数的补码:正数的补码和其原码的正数的补码和其原码的正数的补码和其原

15、码的正数的补码和其原码的形式相同形式相同形式相同形式相同。例:。例:。例:。例:10 10 原码原码原码原码 补码补码补码补码负数的补码负数的补码负数的补码负数的补码:绝对值绝对值绝对值绝对值的二进制形式,按位的二进制形式,按位的二进制形式,按位的二进制形式,按位取反再加取反再加取反再加取反再加1 1 -10 10-10 10的原码的原码的原码的原码 取反取反取反取反 再加再加再加再加1 1得得得得 -10 -10的补码的补码的补码的补码0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 0 0 1 1 0 00 0 0 0 0 0 0 0 0

16、 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 0 0 1 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 0 0 1 1 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 0 0 1 1 0 0 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 0 0 1 1 1 1 0 02.整型变量的分类整型变量的分类关键字关键字关键字关键字类型类型类型类型比特数比特数比特数比特数最小取值范围最小取值范围最小取值范围最小取

17、值范围备注备注备注备注intint有符号整型有符号整型有符号整型有符号整型1616-32768+32767-32768+32767即即即即 -2 -21515(2(21515-1)-1)最高位为符号位最高位为符号位最高位为符号位最高位为符号位unsigned intunsigned int无符号整型无符号整型无符号整型无符号整型1616065535 065535 即即即即 0(2 0(21616-1)-1)最高位仍代表数据最高位仍代表数据最高位仍代表数据最高位仍代表数据short intshort int有符号短整型有符号短整型有符号短整型有符号短整型1616-32768+32767-3276

18、8+32767即即即即 -2 -21515(2(21515-1)-1)最高位为符号位最高位为符号位最高位为符号位最高位为符号位unsigned short unsigned short intint无符号短整型无符号短整型无符号短整型无符号短整型1616065535 065535 即即即即 0(2 0(21616-1)-1)最高位仍代表数据最高位仍代表数据最高位仍代表数据最高位仍代表数据long intlong int有符号长整型有符号长整型有符号长整型有符号长整型3232-2147483648-2147483648 21474836472147483647即即即即 -2 -23131(2(2

19、3131-1)-1)最高位为符号位最高位为符号位最高位为符号位最高位为符号位unsigned long unsigned long intint无符号长整型无符号长整型无符号长整型无符号长整型32320429496729504294967295即即即即 0(2 0(23232-1)-1)最高位仍代表数据最高位仍代表数据最高位仍代表数据最高位仍代表数据Turbo c/Turbo c+的整数类型的有关数据3.整型变量的定义整型变量的定义 对于变量的定义,一般是放在一个函数的开头部分的对于变量的定义,一般是放在一个函数的开头部分的对于变量的定义,一般是放在一个函数的开头部分的对于变量的定义,一般是放

20、在一个函数的开头部分的声明部分声明部分声明部分声明部分(子函数放在子函数的声明部分子函数放在子函数的声明部分子函数放在子函数的声明部分子函数放在子函数的声明部分)。例例例例3.23.2整型变量的定义与使用整型变量的定义与使用整型变量的定义与使用整型变量的定义与使用main()main()int a,b,c,d;int a,b,c,d;/*/*定义定义定义定义a.b.c.da.b.c.d为整型变量为整型变量为整型变量为整型变量*/*/unsigned u;unsigned u;/*/*指定指定指定指定u u为无符号整型变量为无符号整型变量为无符号整型变量为无符号整型变量*/*/a=12;b=-2

21、4;u=10;a=12;b=-24;u=10;c=a+u;d=b+u;c=a+u;d=b+u;printf(“a+u=%d,b+u=%dn”,c,d);printf(“a+u=%d,b+u=%dn”,c,d);注:注:注:注:不同种类的整型数据可以进行算术运算。不同种类的整型数据可以进行算术运算。不同种类的整型数据可以进行算术运算。不同种类的整型数据可以进行算术运算。4.整型数据的溢出整型数据的溢出例例例例3.33.3整型数据的溢出整型数据的溢出整型数据的溢出整型数据的溢出main()main()int a,b;int a,b;a=32767;a=32767;b=a+1;b=a+1;print

22、f(“%d,%d”,a,b);printf(“%d,%d”,a,b);0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1结果为:32767,-327681 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a:a:b:b:3276732767-32768-32768一个int型的变量最大允许值为32767,如果再加1,会出现什么情况?5、整型常量的类型、整型常量的类型(1 1)一个整数,在)一个整数,在)一个整数,在)一个整数,在-3276832767

23、-3276832767内,则为内,则为内,则为内,则为intint型,可以赋值给型,可以赋值给型,可以赋值给型,可以赋值给intint型或型或型或型或long intlong int型变量。型变量。型变量。型变量。(2 2)一个整数,)一个整数,)一个整数,)一个整数,超过了超过了超过了超过了-3276832767-3276832767,但在,但在,但在,但在-2147483648-2147483648-21474836472147483647内,则为内,则为内,则为内,则为long intlong int型,可以赋值给型,可以赋值给型,可以赋值给型,可以赋值给long intlong int

24、型。型。型。型。(3 3)一个整数常量后面加一个)一个整数常量后面加一个)一个整数常量后面加一个)一个整数常量后面加一个u u或或或或U U,认为是,认为是,认为是,认为是unsinged intunsinged int型,型,型,型,按无符号数存储。按无符号数存储。按无符号数存储。按无符号数存储。(4 4)一个整数常量后面加一个)一个整数常量后面加一个)一个整数常量后面加一个)一个整数常量后面加一个l l或或或或L L,认为是,认为是,认为是,认为是long intlong int型。型。型。型。3.4实型数据实型数据3.4.13.4.1实型常量的表示方法实型常量的表示方法 实数实数实数实数

25、(real number)real number)又称浮点数又称浮点数又称浮点数又称浮点数(floating-point floating-point number).number).实数有两种表示形式:实数有两种表示形式:实数有两种表示形式:实数有两种表示形式:(1)(1)十进制小数形式。它由数字和小数点组成。例如十进制小数形式。它由数字和小数点组成。例如十进制小数形式。它由数字和小数点组成。例如十进制小数形式。它由数字和小数点组成。例如 123.45123.450.00.00.55670.5567(2)(2)指数形式。例:指数形式。例:指数形式。例:指数形式。例:123123e4e4或或或

26、或123123E4E4表示表示表示表示12310123104 4。注意:注意:注意:注意:1)1)E E前面必须有数字,后面的必须为整数;前面必须有数字,后面的必须为整数;前面必须有数字,后面的必须为整数;前面必须有数字,后面的必须为整数;2)2)规范化表示形式规范化表示形式规范化表示形式规范化表示形式:字母:字母:字母:字母e e之前的小数部分中,小之前的小数部分中,小之前的小数部分中,小之前的小数部分中,小 数点前面数点前面数点前面数点前面应有且只能有一位非零的数字应有且只能有一位非零的数字应有且只能有一位非零的数字应有且只能有一位非零的数字;例如:;例如:;例如:;例如:2.34782.

27、3478e12 3.099e23e12 3.099e23 为规范化表示形式为规范化表示形式为规范化表示形式为规范化表示形式 12.90812.908e10 756e2 0.12e3e10 756e2 0.12e3 为非规范化表示为非规范化表示为非规范化表示为非规范化表示 3.4.2实型变量实型变量1.1.实型数据的实型数据的实型数据的实型数据的存放形式存放形式存放形式存放形式:一个实型数据一般在内存中占一个实型数据一般在内存中占一个实型数据一般在内存中占一个实型数据一般在内存中占4 4个字节个字节个字节个字节(32(32位位位位)。按照。按照。按照。按照指数形式指数形式指数形式指数形式存储。一

28、般情况下,存储。一般情况下,存储。一般情况下,存储。一般情况下,小数部分小数部分小数部分小数部分占用占用占用占用2424位位位位(包括符包括符包括符包括符号位号位号位号位)。指数部分指数部分指数部分指数部分占用占用占用占用8 8位位位位,采用规范化的指数形式。采用规范化的指数形式。采用规范化的指数形式。采用规范化的指数形式。例如:例如:例如:例如:3.141593.14159在内存中的存放形式。在内存中的存放形式。在内存中的存放形式。在内存中的存放形式。.314159.3141591 1符号小数部分.314159指数部分1012.2.实型变量的分类实型变量的分类实型变量的分类实型变量的分类 C

29、 C实型变量分为实型变量分为实型变量分为实型变量分为单精度单精度单精度单精度(floatfloat型型型型)、双精度双精度双精度双精度(doubledouble型型型型)和和和和长双精度型长双精度型长双精度型长双精度型(long doublelong double型型型型)三类。三类。三类。三类。类型类型类型类型比特数比特数比特数比特数有效数字有效数字有效数字有效数字数值范围数值范围数值范围数值范围floatfloat323267671010-37-3710103838doubledouble6464151615161010-307-3071010308308long doublelong d

30、ouble128128181918191010-4931-49311010493249323.3.实型数据的舍入误差实型数据的舍入误差实型数据的舍入误差实型数据的舍入误差 实型变量是由有限的存储单元组成的,因此能提供的实型变量是由有限的存储单元组成的,因此能提供的实型变量是由有限的存储单元组成的,因此能提供的实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的有效数字总是有限的有效数字总是有限的有效数字总是有限的,在有效位以外的数字将被舍去。,在有效位以外的数字将被舍去。,在有效位以外的数字将被舍去。,在有效位以外的数字将被舍去。由此可能会产生一些误差。由此可能会产生一些误差。由此

31、可能会产生一些误差。由此可能会产生一些误差。例例例例3.43.4main()main()float a,b;float a,b;a=123456.789e5;a=123456.789e5;b=a+20;b=a+20;printf(“%f”,b);printf(“%f”,b);理论答案是:12345678920实际答案是:12345678848.000000因此,应当避免将一个很大的数和一个很小的数直接因此,应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会丢失小的数。相加或相减,否则就会丢失小的数。3.4.3实型常量的类型实型常量的类型通常的通常的通常的通常的C C编译系统编译系统编

32、译系统编译系统将实型常量作为双精度来处理将实型常量作为双精度来处理将实型常量作为双精度来处理将实型常量作为双精度来处理。例:一个实型变量例:一个实型变量例:一个实型变量例:一个实型变量f f,令:令:令:令:f=2.45678*4523.65f=2.45678*4523.65 系统首先会把系统首先会把系统首先会把系统首先会把2.456782.45678和和和和4523.654523.65按双精度处理,各按双精度处理,各按双精度处理,各按双精度处理,各 占占占占6464位,运算后得到一个双精度的乘积,然后取前位,运算后得到一个双精度的乘积,然后取前位,运算后得到一个双精度的乘积,然后取前位,运算

33、后得到一个双精度的乘积,然后取前7 7 位赋值给实型变量位赋值给实型变量位赋值给实型变量位赋值给实型变量f f.优点优点优点优点:精度高,计算结果更精确;:精度高,计算结果更精确;:精度高,计算结果更精确;:精度高,计算结果更精确;缺点缺点缺点缺点:运算速度降低。:运算速度降低。:运算速度降低。:运算速度降低。解决方法解决方法解决方法解决方法;在数的后面加字母在数的后面加字母在数的后面加字母在数的后面加字母f f或或或或F F,系统会按单精度处理系统会按单精度处理系统会按单精度处理系统会按单精度处理。3.5字符型数据字符型数据3.5.13.5.1字符常量字符常量字符常量字符常量 C C的字符常

34、量使用的字符常量使用的字符常量使用的字符常量使用单引号单引号单引号单引号括起来的一个字符。如:括起来的一个字符。如:括起来的一个字符。如:括起来的一个字符。如:a a b b D D$?转义字符:转义字符:转义字符:转义字符:字符形式字符形式字符形式字符形式含含含含 义义义义ASCIIASCII代码代码代码代码 n n换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头1010 t t水平制表水平制表水平制表水平制表(跳到下一个跳到下一个跳到下一个跳到下一个tabtab位置位置位置位置)9 9 b b退格,将当前位置移到前一列

35、退格,将当前位置移到前一列退格,将当前位置移到前一列退格,将当前位置移到前一列8 8 r r回车,将当前位置移到本行开头回车,将当前位置移到本行开头回车,将当前位置移到本行开头回车,将当前位置移到本行开头1313 f f换页,将当前位置一道下页开头换页,将当前位置一道下页开头换页,将当前位置一道下页开头换页,将当前位置一道下页开头1212 反斜杠字符反斜杠字符反斜杠字符反斜杠字符“”“”9292 单引号字符单引号字符单引号字符单引号字符3939“双引号字符双引号字符双引号字符双引号字符3434 dddddd1 1到到到到3 3位位位位8 8进制所代表的字符进制所代表的字符进制所代表的字符进制所

36、代表的字符101101代代代代表表表表A Axhhxhh1 1到到到到2 2 位位位位1616进制所代表的字符进制所代表的字符进制所代表的字符进制所代表的字符例例3.53.5转义字符的使用转义字符的使用转义字符的使用转义字符的使用main()main()printf(“ab ct derftgn”);printf(“ab ct derftgn”);printf(“htibbj k”);printf(“htibbj k”);abcdefghijkabc10111234578963.5.2字符变量字符变量字符变量的定义形式:字符变量的定义形式:字符变量的定义形式:字符变量的定义形式:char ch

37、ar 变量名变量名变量名变量名1 1,变量名,变量名,变量名,变量名2 2,变量名,变量名,变量名,变量名3 3,例:例:例:例:char c1,c2;char c1,c2;说明;说明;说明;说明;1)1)字符变量只能存放字符变量只能存放字符变量只能存放字符变量只能存放一个字符一个字符一个字符一个字符,每个变量在内存,每个变量在内存,每个变量在内存,每个变量在内存 中只占用中只占用中只占用中只占用一个字节的宽度一个字节的宽度一个字节的宽度一个字节的宽度(8(8位位位位);2)2)上述定义式把上述定义式把上述定义式把上述定义式把c1,c2c1,c2定义为字符型变量,各可以定义为字符型变量,各可以

38、定义为字符型变量,各可以定义为字符型变量,各可以 存放一个字符;存放一个字符;存放一个字符;存放一个字符;例:例:例:例:c1=a;c2=b;c1=a;c2=b;c1=ab c1=ab3.5.3字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法 一个字符常量放到一个字符变量中,实际并不是把该字一个字符常量放到一个字符变量中,实际并不是把该字一个字符常量放到一个字符变量中,实际并不是把该字一个字符常量放到一个字符变量中,实际并不是把该字符本身放到内存单元中,而是将符本身放到内存单元中,而是将符本身放到内存单元中,而是将符本身放到内存单元中,而是将该字符的该字符的该字符的

39、该字符的ASCIIASCII代码代码代码代码放到存放到存放到存放到存储单元中。储单元中。储单元中。储单元中。例:例:例:例:c1=ac1=a实际作用是在变量实际作用是在变量实际作用是在变量实际作用是在变量c1c1所占用的内存单元中存所占用的内存单元中存所占用的内存单元中存所占用的内存单元中存 放了二进制码放了二进制码放了二进制码放了二进制码0110000101100001;c1c1=a011000011)字符数据与整数的存储形式类似,使得字符型字符数据与整数的存储形式类似,使得字符型数据和整型数据之间可以通用;数据和整型数据之间可以通用;2)大小写字母之间转换方便;大小写字母之间转换方便;例例

40、例例3.63.6向字符变量赋以整数向字符变量赋以整数向字符变量赋以整数向字符变量赋以整数main()main()char c1,c2;char c1,c2;c1=97;c1=97;c2=98;c2=98;printf(“%c%cn”,c1,c2);printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);printf(“%d%dn”,c1,c2);a b97 98向字符变量c1,c2赋以整数97,98由此可见,字符型数据和整型数据是通用的。例例例例3.73.7大小写字母的转换大小写字母的转换大小写字母的转换大小写字母的转换main()main()char c1,c

41、2;char c1,c2;c1=a;c1=a;c2=b;c2=b;c1=c1-32;c1=c1-32;c2=c2-32;c2=c2-32;printf(“%c%c”,c1,c2);printf(“%c%c”,c1,c2);运行结果:A Ba的ASCII码为97,A为65。b的ASCII码为98,B为66。这是这是C语言中语言中字母实现大小字母实现大小转换的方法。转换的方法。使用相当方便。使用相当方便。3.5.4字符串常量字符串常量字符串常量:字符串常量:字符串常量:字符串常量:字符串常量是一对字符串常量是一对字符串常量是一对字符串常量是一对双引号双引号双引号双引号括起来的字符序列。括起来的字符

42、序列。括起来的字符序列。括起来的字符序列。例如:例如:例如:例如:“Hello Visual C#”Hello Visual C#”,“China is the greatest country”“China is the greatest country”字符串常量的存储形式:字符串常量的存储形式:字符串常量的存储形式:字符串常量的存储形式:字符串各字符的字符串各字符的字符串各字符的字符串各字符的ASCIIASCII码码码码加上结束字加上结束字加上结束字加上结束字符符符符00。例如:例如:例如:例如:“Hello Visual C#”Hello Visual C#”,“a”“a”HHe el

43、 ll lo oV Vi is su ua al lC C#00a a00注意注意字符常量字符常量a和和字符串常量字符串常量“a”是是不相同的,不相同的,a存存储单元中没有储单元中没有“0”。因此切近。因此切近字符常量和字符串字符常量和字符串常量混用常量混用 3.6变量赋初值变量赋初值C C语言允许在定义变量的同时使变量初始化语言允许在定义变量的同时使变量初始化语言允许在定义变量的同时使变量初始化语言允许在定义变量的同时使变量初始化。例:。例:。例:。例:int a=3;int a=3;/*/*指定指定指定指定a a为整型变量,初值为为整型变量,初值为为整型变量,初值为为整型变量,初值为3*/

44、3*/float b=3.56;float b=3.56;/*/*指定指定指定指定b b为实型变量,初值为为实型变量,初值为为实型变量,初值为为实型变量,初值为3.56*/3.56*/char c=achar c=a /*/*指定指定指定指定c c为字符变量,初值为为字符变量,初值为为字符变量,初值为为字符变量,初值为 a*/a*/也可以对被定义的变量的一部分赋初值。也可以对被定义的变量的一部分赋初值。也可以对被定义的变量的一部分赋初值。也可以对被定义的变量的一部分赋初值。例:例:例:例:int a,b,c=5;int a,b,c=5;如果对几个变量赋予同一个初值,可写成:如果对几个变量赋予同

45、一个初值,可写成:如果对几个变量赋予同一个初值,可写成:如果对几个变量赋予同一个初值,可写成:int a,b,c;int a,b,c;a=b=c=3;a=b=c=3;该式表示该式表示该式表示该式表示a,b,ca,b,c的初值都是的初值都是的初值都是的初值都是3,3,并不表示整个程序中并不表示整个程序中并不表示整个程序中并不表示整个程序中a,b,ca,b,c变量一变量一变量一变量一直相等的,直相等的,直相等的,直相等的,只是初值相同只是初值相同只是初值相同只是初值相同。int a=b=c=3;int a=b=c=3;是错误的是错误的是错误的是错误的。初始化不是在编译阶段初始化不是在编译阶段完成而

46、是在程序运行时完成而是在程序运行时执行本函数时赋予初值执行本函数时赋予初值3.7各类数值型数据间的混合运算各类数值型数据间的混合运算 不同类型的数据之间进行运不同类型的数据之间进行运不同类型的数据之间进行运不同类型的数据之间进行运算,级别低的向级别高的转换;算,级别低的向级别高的转换;算,级别低的向级别高的转换;算,级别低的向级别高的转换;转换不需要中间过程,直接转换不需要中间过程,直接转换不需要中间过程,直接转换不需要中间过程,直接转变为高级别数据类型;转变为高级别数据类型;转变为高级别数据类型;转变为高级别数据类型;上述转换由系统自动进行。上述转换由系统自动进行。上述转换由系统自动进行。上

47、述转换由系统自动进行。doublelongintunsignedfloatcharshort低低高高例:例:i为整型变量,为整型变量,f为为float变量,变量,d为为double型变量,型变量,e为为long型。型。10+a+i*f-d/ea转整型,转整型,i、f转换为转换为double型,型,e转换为转换为double型。型。如果一个运算符两侧的操作数的数据类型不同,则系统如果一个运算符两侧的操作数的数据类型不同,则系统按按“先转换、后运算先转换、后运算”的原则,转换的方法有两种:的原则,转换的方法有两种:自动转自动转换换(隐式转换);(隐式转换);强制转换强制转换必定转换存储位少的向存储

48、位多的转换。目的是保证计算精度。3.8算术运算符和算术表达式算术运算符和算术表达式3.8.1 3.8.1 C C运算符简介运算符简介运算符简介运算符简介1.1.算术运算符算术运算符算术运算符算术运算符 (+*/%*/%)2.2.关系运算符关系运算符关系运算符关系运算符 (=!=)3.3.逻辑运算符逻辑运算符逻辑运算符逻辑运算符 (!&|!&|)4.4.位运算符位运算符位运算符位运算符 (|&|&)5.5.赋值运算符赋值运算符赋值运算符赋值运算符 (=及其扩展赋值运算符及其扩展赋值运算符及其扩展赋值运算符及其扩展赋值运算符)6.6.条件运算符条件运算符条件运算符条件运算符 (?:)7.7.逗号运

49、算符逗号运算符逗号运算符逗号运算符 (,)8.8.指针运算符指针运算符指针运算符指针运算符 (*&*&)9.9.求字节数运算符求字节数运算符求字节数运算符求字节数运算符(sizeofsizeof)10.10.强制类型转换运算符强制类型转换运算符强制类型转换运算符强制类型转换运算符 (类型类型类型类型)11.11.分量运算符分量运算符分量运算符分量运算符(.)12.12.下标运算符下标运算符下标运算符下标运算符()13.13.其他其他其他其他 (如函数调用运算符如函数调用运算符如函数调用运算符如函数调用运算符)3.8.2算术运算符和算术表达式算术运算符和算术表达式1.1.基本的算术运算符基本的算

50、术运算符基本的算术运算符基本的算术运算符 (加法运算符加法运算符加法运算符加法运算符,或,或,或,或正值运算符正值运算符正值运算符正值运算符。如。如。如。如3+53+5、3 3)(减法运算符减法运算符减法运算符减法运算符,或,或,或,或负值运算符负值运算符负值运算符负值运算符。如。如。如。如5 52 2、3)3)*(*(乘法运算符乘法运算符乘法运算符乘法运算符。如。如。如。如3*53*5)/(/(除法运算符除法运算符除法运算符除法运算符。如。如。如。如5/35/3)%(%(模运算符模运算符模运算符模运算符,或,或,或,或称求余运算符称求余运算符称求余运算符称求余运算符,%两侧均应为两侧均应为两

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com