第3章数据类型、运算符与表达式(4学时).ppt
《第3章数据类型、运算符与表达式(4学时).ppt》由会员分享,可在线阅读,更多相关《第3章数据类型、运算符与表达式(4学时).ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章数据类型、运算符与表达式第三章数据类型、运算符与表达式大连轻工业学院于晓强制作教教学学目目的的:掌掌握握C语语言言常常用用运运算算符符、表表达达式式的的使用,进一步熟悉使用,进一步熟悉TC的运行环境的运行环境理解并逐渐掌握程序的运行流程理解并逐渐掌握程序的运行流程教教学学重重点点:C语语言言的的数数据据类类型型、运运算算符符的的优优先先级、表达式的计算级、表达式的计算教学难点:教学难点:各种表达式的确定与计算各种表达式的确定与计算大连轻工业学院于晓强制作3.1C的数据类型的数据类型1)决定数据的表示方式)决定数据的表示方式2)存储空间存储空间3)影影响响运运算算的的种种类类、速速度度及结
2、果及结果大连轻工业学院于晓强制作3.2常量与变量常量与变量在在程程序序执执行行过过程程中中,其其值值不不能能发发生生改改变变的的量量称称为为常常量量,其其值值可可变变的量称为变量的量称为变量。在在程程序序中中,常常量量是是可可以以不不经经说说明明而而直直接接引引用用的的,而而变变量量则则必必须须先先定义后使用定义后使用。整型量包括整型常量、整型变量。整型量包括整型常量、整型变量。整型整型实型实型 字符型字符型 字符串字符串 符号符号 常常量量类类型型大连轻工业学院于晓强制作常量与符号常量常量与符号常量n n直接常量:直接常量:直接常量:直接常量:整型常量:整型常量:1212、0 0、-3-3;
3、实型常量:实型常量:4.64.6、-1.23-1.23;字符常量:字符常量:aa、bb。n n符号常量:用标识符代表一个常量。在语言中,符号常量:用标识符代表一个常量。在语言中,符号常量:用标识符代表一个常量。在语言中,符号常量:用标识符代表一个常量。在语言中,可以用一个标识符来表示一个常量,称之为符号常可以用一个标识符来表示一个常量,称之为符号常可以用一个标识符来表示一个常量,称之为符号常可以用一个标识符来表示一个常量,称之为符号常量。量。量。量。n n标识符:用来标识变量名、符号常量名、函数名、标识符:用来标识变量名、符号常量名、函数名、标识符:用来标识变量名、符号常量名、函数名、标识符:
4、用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。数组名、类型名、文件名的有效字符序列。数组名、类型名、文件名的有效字符序列。数组名、类型名、文件名的有效字符序列。大连轻工业学院于晓强制作标识符命名标识符命名n n数字、字母、下划线数字、字母、下划线n n数字不能开头数字不能开头n n系统保留的关键字不能用作标识符系统保留的关键字不能用作标识符n n注意:注意:C语言区分大小写语言区分大小写大连轻工业学院于晓强制作“符号常量符号常量/宏宏”举例举例 例题例题例题例题3.13.1#defineCHANG10/*defineCHANG10/*注意中间没有等号注意中间没有等号
5、注意中间没有等号注意中间没有等号*/#defineKUAN20defineKUAN20main()main()intints s;ssCHANG*KUANCHANG*KUAN;printfprintf(“s=%d”(“s=%d”,s)s);程序运行结果:?程序运行结果:?程序运行结果:?程序运行结果:?使用符号常量的好处是:含义清楚;使用符号常量的好处是:含义清楚;使用符号常量的好处是:含义清楚;使用符号常量的好处是:含义清楚;能做到能做到能做到能做到“一改全改一改全改一改全改一改全改”。大连轻工业学院于晓强制作变量变量在程序运行过程中,其值可以改变的量称为变量。每个变量都在程序运行过程中,其
6、值可以改变的量称为变量。每个变量都在程序运行过程中,其值可以改变的量称为变量。每个变量都在程序运行过程中,其值可以改变的量称为变量。每个变量都应该有一个名字,称为变量名。应该有一个名字,称为变量名。应该有一个名字,称为变量名。应该有一个名字,称为变量名。变量名:变量名:a a 变量值:变量值:3 3 变量地址:变量地址:&a a变量的使用原则:变量的使用原则:变量的使用原则:变量的使用原则:“先定义后使用先定义后使用先定义后使用先定义后使用”。大连轻工业学院于晓强制作3.3整型数据整型数据3.3.1整型常量的表示方法整型常量的表示方法十进制整型常量:如:10、-2、0等。八进制整型常量:以数字
7、0开头。十六进制整型常量:以0 x开头。注意:长整型常数必须在其后用标识符注意:长整型常数必须在其后用标识符“L”说明,说明,如:如:23L、-6L等。等。大连轻工业学院于晓强制作常量合法性比较常量合法性比较1.1.1.1.合法的十进制整常数?合法的十进制整常数?237237、-568-568、6553565535、16271627、2323DD2.2.合法的八进制数?合法的八进制数?015015、01010101、01777770177777、256256、0303A2A2、-0127-01273.3.3.3.合法的十六进制整常数合法的十六进制整常数?0 0X2AX2A、0XA00XA0、0
8、XFFFF0XFFFF、5A5A、0X3H0X3H大连轻工业学院于晓强制作3.3.2整型变量整型变量n n整型变量的分类:整型变量的分类:intint、unsignedunsignedintint shortshortintint、unsignedshortunsignedshortintint longlongintint、unsignedlongunsignedlongintintn n整型变量的存储:整型变量的存储:“补码补码”正数的补码:与原码相同正数的补码:与原码相同负数的补码:将该数的绝对值的二进制形式按位负数的补码:将该数的绝对值的二进制形式按位取反再加取反再加1 1。大连轻工业
9、学院于晓强制作“10”的补码的补码大连轻工业学院于晓强制作3.整型变量的定义整型变量的定义变量定义的一般形式为:变量定义的一般形式为:变量定义的一般形式为:变量定义的一般形式为:类型说明符类型说明符类型说明符类型说明符 变量名标识符,变量名标识符,变量名标识符,变量名标识符,变量名标识符,变量名标识符,变量名标识符,变量名标识符,.;例如:例如:例如:例如:intinta,b,c;(a,b,ca,b,c;(a,b,c为整型变量为整型变量为整型变量为整型变量)longx,y;(x,ylongx,y;(x,y为长整型变量为长整型变量为长整型变量为长整型变量)unsignedp,q;(p,qunsi
10、gnedp,q;(p,q为无符号整型变量为无符号整型变量为无符号整型变量为无符号整型变量)在书写变量定义时,应注意以下几点:在书写变量定义时,应注意以下几点:在书写变量定义时,应注意以下几点:在书写变量定义时,应注意以下几点:允许在一个类型说明符后,定义多个相同类型的变量。各变量名之允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用间用逗号逗号逗号逗号间隔。类型说明符与变量名之间至少用一个空格间隔。间隔。类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以最后一个变量名之后必须以“;”号结尾。号结尾。变量定义必须放在变量使用之前。一般放在函数体的开头部分。变量定义必须
11、放在变量使用之前。一般放在函数体的开头部分。大连轻工业学院于晓强制作整型变量定义举例整型变量定义举例【例【例3.2】整型变量的定义与使用。整型变量的定义与使用。main()inta,b,c;a=12;b=4;c=a+b;printf(“c=%dn”,c);若将第二行与第三若将第二行与第三行互换?若将第一行互换?若将第一行与第二行互换呢行与第二行互换呢?变量具有当前值变量具有当前值。在程序运行的不同时刻可以具有不同的值。思考:思考:变量定义后值是多少变量定义后值是多少?大连轻工业学院于晓强制作3.4实型数据实型数据3.4.1实型常量的表示方法实型常量的表示方法在语言中,实数在语言中,实数在语言中
12、,实数在语言中,实数只只只只采用十进制。它有二种形式:采用十进制。它有二种形式:采用十进制。它有二种形式:采用十进制。它有二种形式:十进制小数形式、指数形式。十进制小数形式、指数形式。十进制小数形式、指数形式。十进制小数形式、指数形式。n n十进制小数形式:十进制小数形式:如:如:如:如:3.14153.1415、2.62.6、168168、0.00.0等。等。等。等。注意不能省注意不能省注意不能省注意不能省掉小数点掉小数点掉小数点掉小数点。n n指数形式:指数形式:mEmEmEmE+n+n+n+n 或或或或mEmEmEmE-n-n-n-n,E E E E前必须有数字;前必须有数字;前必须有数
13、字;前必须有数字;E E E E后必须为整后必须为整后必须为整后必须为整数;数;数;数;大连轻工业学院于晓强制作3.4.2实型变量实型变量大连轻工业学院于晓强制作3.4.2实型变量实型变量3.4.2 实型变量的分类实型变量的分类单精度(单精度(floatfloat型)型)双精度(双精度(doubledouble型)型)长双精度(长双精度(longdoublelongdouble型)型)大连轻工业学院于晓强制作3.4.2实型变量实型变量3.4.33.4.3实型变量的定义实型变量的定义实型变量的定义实型变量的定义实型变量定义的格式和书写规则与整型相同实型变量定义的格式和书写规则与整型相同实型变量定
14、义的格式和书写规则与整型相同实型变量定义的格式和书写规则与整型相同。【例【例3.73.7】有效数字与舍入误差。有效数字与舍入误差。main()main()floata;/*7floata;/*7位有效数字位有效数字*/*/doubleb;/*14doubleb;/*14位有效数字位有效数字*/*/a=33333.33333;a=33333.33333;b=33333.33333333333333;b=33333.33333333333333;printfprintf(%fn%fn,a,b);(%fn%fn,a,b);大连轻工业学院于晓强制作3.5字符型数据字符型数据3.5.13.5.1字符型常
15、量字符型常量字符型常量字符型常量n n字符常量是用单引号括起来的一个字符。字符常量是用单引号括起来的一个字符。例如:例如:例如:例如:aa、bb、=、+、?都是合法字符常量。都是合法字符常量。都是合法字符常量。都是合法字符常量。不合法的字符常量:不合法的字符常量:不合法的字符常量:不合法的字符常量:abab,xyxy n n在语言中,字符常量有以下特点:在语言中,字符常量有以下特点:字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能用单引号括起来,不能用双引号或其它括号。字符常
16、量只能是单个字符,不能是字符串。字符常量只能是单个字符,不能是字符串。字符常量只能是单个字符,不能是字符串。字符常量只能是单个字符,不能是字符串。字字字字符符符符可可可可以以以以是是是是字字字字符符符符集集集集中中中中任任任任意意意意字字字字符符符符。但但但但数数数数字字字字被被被被定定定定义义义义为为为为字字字字符符符符型型型型之之之之后后后后就就就就不不不不能能能能参参参参与与与与数数数数值值值值运运运运算算算算。如如如如55和和和和5 5是是是是不不不不同同同同的的的的。55是是是是字字字字符符符符常量,不能参与运算。常量,不能参与运算。常量,不能参与运算。常量,不能参与运算。大连轻工业
17、学院于晓强制作3.5.2转义字符转义字符n n转义字符是一种特殊的字符常量。转义字符转义字符是一种特殊的字符常量。转义字符以反斜线以反斜线“”开头,后跟一个或几个字符。开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的转义字符具有特定的含义,不同于字符原有的意义,故称意义,故称“转义转义”字符。字符。n n例如,在前面各例题例如,在前面各例题printf函数的格式串中用函数的格式串中用到的到的“n”就是一个转义字符,其意义是就是一个转义字符,其意义是“回回车换行车换行”。n n转义字符主要用来表示那些用一般字符不便转义字符主要用来表示那些用一般字符不便于表示的控制代码。于表示的
18、控制代码。大连轻工业学院于晓强制作常用的转义字符及其含义常用的转义字符及其含义大连轻工业学院于晓强制作转义字符的使用转义字符的使用【例题例题3.8】main()printf(“t166t288r59t43n”);printf(“x3ft327bb8tn”);大连轻工业学院于晓强制作转义字符的使用转义字符的使用【例题例题3.9】main()inta,b,c;a=5;b=6;c=7;printf(“abctderfn”);printf(“hijktLbMn”);大连轻工业学院于晓强制作3.5.3字符变量字符变量n n字符变量用来存储字符常量,即单个字符。字符变量用来存储字符常量,即单个字符。n n
19、字符变量的类型说明符是字符变量的类型说明符是char。n n字字符符变变量量类类型型定定义义的的格格式式和和书书写写规规则则都都与与整整型变量相同。例如:型变量相同。例如:chara,b;大连轻工业学院于晓强制作3.5.4字符数据在内存中的存储形式及使用方法字符数据在内存中的存储形式及使用方法n n每个字符变量被分配一个字节的内存空间,因每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以此只能存放一个字符。字符值是以ASCII码的形码的形式存放在变量的内存单元之中的。式存放在变量的内存单元之中的。n n如如x的的十十进进制制ASCII码码是是120,y的的十十进进制制ASC
20、II码是码是121。对字符变量。对字符变量a,b赋予赋予x和和y值:值:a=x;a=x;b=y;b=y;n n实际上是在实际上是在a,b两个单元内存放两个单元内存放120和和121的二的二进制代码:进制代码:大连轻工业学院于晓强制作字符变量举例字符变量举例【例【例3.9】向字符变量赋以整数。向字符变量赋以整数。main()chara,b;a=120;b=121;printf(%c,%cn,a,b);printf(%d,%dn,a,b);大连轻工业学院于晓强制作字符变量应用举例字符变量应用举例【例【例3.10】main()chara,b;a=a;b=b;a=a-32;b=b-32;printf(
21、%c,%cn%d,%dn,a,b,a,b);大连轻工业学院于晓强制作3.5.5字符串常量字符串常量n n字符串常量是由一对双引号括起的字符序列。字符串常量是由一对双引号括起的字符序列。字符串常量是由一对双引号括起的字符序列。字符串常量是由一对双引号括起的字符序列。例如:例如:“CHINA”CHINA”,“Cprogram”“Cprogram”,“$12.5”“$12.5”等都是合法的字符等都是合法的字符串常量。串常量。n n字符串常量和字符常量是不同的量。它们之间主要有以下字符串常量和字符常量是不同的量。它们之间主要有以下字符串常量和字符常量是不同的量。它们之间主要有以下字符串常量和字符常量是
22、不同的量。它们之间主要有以下区别:区别:区别:区别:1)1)字符常量由单引号括起来,字符串常量由双引号括起来。字符常量由单引号括起来,字符串常量由双引号括起来。2)2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。字符常量只能是单个字符,字符串常量则可以含一个或多个字符。3)3)可可以以把把一一个个字字符符常常量量赋赋予予一一个个字字符符变变量量,但但不不能能把把一一个个字字符符串串常常量量赋赋予予一一个个字字符符变变量量。在在语语言言中中没没有有相相应应的的字字符符串串变变量量。但但是是可可以以用一个字符数组来存放一个字符串常量。用一个字符数组来存放一个字符串常量。4)4)字字符
23、符常常量量占占一一个个字字节节的的内内存存空空间间。字字符符串串常常量量占占的的内内存存字字节节数数等等于于字字符符串串中中字字符符数数加加1 1。增增加加的的一一个个字字节节中中存存放放字字符符00(ASCIIASCII码码为为0)0)。这是字符串结束的标志。这是字符串结束的标志。大连轻工业学院于晓强制作3.6变量赋初值变量赋初值n n在程序中常常需要对变量赋初值,以便使用变量。在程序中常常需要对变量赋初值,以便使用变量。在程序中常常需要对变量赋初值,以便使用变量。在程序中常常需要对变量赋初值,以便使用变量。语言程序中可有多种方法为变量提供初值。语言程序中可有多种方法为变量提供初值。语言程序
24、中可有多种方法为变量提供初值。语言程序中可有多种方法为变量提供初值。定义变量的同时赋值定义变量的同时赋值 intinta=3a=3;floatbfloatb3.143.14;charccharcss;被定义的变量部分赋值被定义的变量部分赋值 intinta,b,ca,b,c7 7;先定义再赋值先定义再赋值 intinta,ba,b;a a2 2;b b9 9;应注意,在定义中不允许连续赋值,如应注意,在定义中不允许连续赋值,如a=b=c=5a=b=c=5是不合法是不合法的。的。大连轻工业学院于晓强制作3.7各类数值型数据间的混合运算各类数值型数据间的混合运算n n变变量量的的数数据据类类型型是
25、是可可以以转转换换的的。转转换换的的方方法法有有两两种种,一一种种是是自自动动转转换换,一一种种是是强强制制转转换换。自自动动转转换换发发生生在在不不同同数数据据类类型型的的量量混混合合运运算算时,由编译系统自动完成。时,由编译系统自动完成。大连轻工业学院于晓强制作自动转换遵循以下规则:自动转换遵循以下规则:1)1)若若参参与与运运算算量量的的类类型型不不同同,则则先先转转换换成成同同一一类类型型,然然后后进进行运算。行运算。2)2)转转换换按按数数据据长长度度增增加加的的方方向向进进行行,以以保保证证精精度度不不降降低低。如如intint型和型和longlong型运算时,先把型运算时,先把i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式 学时
限制150内