C语言电子.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 电子
- 资源描述:
-
第第2章章 数据与运算数据与运算2.1 常量与变量常量与变量常量:常量:是在程序运行过程中其值不能发生改变的量。是在程序运行过程中其值不能发生改变的量。例如例如256256、3.453.45、aa等。等。变量:变量:是在程序运行过程中其值可以发生改变的量。变量在是在程序运行过程中其值可以发生改变的量。变量在内存中占据一定的存储单元。在该存储单元中存放变量的内存中占据一定的存储单元。在该存储单元中存放变量的值。变量的标识通过给变量取名实现,所以一个变量应该值。变量的标识通过给变量取名实现,所以一个变量应该有一个名字。有一个名字。用来标识变量名、符号常量名、函数名、数组名、类型名、用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为文件名的有效字符序列称为标识符标识符,简单地说,标识符,简单地说,标识符就是一个名字。就是一个名字。第第2章章 数据与运算数据与运算2.1 常量与变量常量与变量C C语言规定标识符必须满足以下规则:语言规定标识符必须满足以下规则:(1 1)所有标识符必须由一个字母)所有标识符必须由一个字母(a(az z,A AZ)Z)或下划线(或下划线(_ _)开头。)开头。(2 2)标识符的其他部分可以用字母、下划线或数字)标识符的其他部分可以用字母、下划线或数字 (0 09 9)组成。)组成。(3 3)大小写字母表示不同意义,即代表不同的标识符。)大小写字母表示不同意义,即代表不同的标识符。(4 4)标识符只有前)标识符只有前3232个字符有效。个字符有效。(5 5)标识符应当尽量遵循)标识符应当尽量遵循“简洁明了简洁明了”和和“见名知义见名知义”的的原则。原则。(6 6)标识符不能使用)标识符不能使用C C语言的关键字。语言的关键字。第第2章章 数据与运算数据与运算2.1 常量与变量常量与变量所谓所谓关键字关键字就是已被就是已被Turbo C 2.0Turbo C 2.0本身使用、不能作其他用本身使用、不能作其他用途使用的字。途使用的字。Turbo C 2.0Turbo C 2.0有以下关键字:有以下关键字:Turbo C 2.0Turbo C 2.0扩展的共扩展的共1111个:个:asmasm_cs _ds _cs _ds _es_es_ss _ss cdecl cdecl far farnearnearhugehuge interrupt pascal interrupt pascal 由由ANSIANSI标准定义的共标准定义的共3232个:个:auto double auto double intint struct structbreakbreak else long else long switch caseswitch caseenumenum register typedef char extern register typedef char externreturnreturnunionunionconstconstfloat shortfloat short unsignedunsignedcontinuecontinue forforsigned void defaultsigned void default goto gotosizeofsizeofvolatilevolatile dodoif if while whilestaticstatic第第2章章 数据与运算数据与运算2.1 常量与变量常量与变量C C语言规定变量在使用前必须先定义。语言规定变量在使用前必须先定义。变量定义的一般形式为:变量定义的一般形式为:类型说明符类型说明符 变量标识符变量标识符,变量标识符变量标识符,;,;示例:示例:int a,b,c;int a,b,c;float e,f;float e,f;char x,y;char x,y;以上以上intint,floatfloat,charchar为类型说明符,为类型说明符,a a,b b,c c,e e,f f,x x,y y为变量标识符。为变量标识符。第第2章章 数据与运算数据与运算2.2 数据类型数据类型数据的组织形式称为数据结构。数据的组织形式称为数据结构。C C语言中的数据结构表现为数据类型。语言中的数据结构表现为数据类型。数据类型数据类型基本类型基本类型构造类型构造类型空类型空类型指针类型指针类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型整型整型字符型字符型实型实型单精度单精度枚举类型枚举类型第第2章章 数据与运算数据与运算2.2 数据类型数据类型1 1整型变量整型变量数据类型数据类型类型说明符类型说明符 位(字节数)位(字节数)数的范围数的范围基本整型基本整型int16(2 2)-327683276732767-215(2(215-1)短整型短整型short16(2 2)-327683276732767-215(2(215-1)长整型长整型long int32(4 4)-214748364821474836472147483647-231(2(231-1)无符号基本整无符号基本整型型unsigned int16(2 2)065535655350(2(216-1)无符号短整型无符号短整型unsigned short16(2 2)065535655350(2(216-1)无符号长整型无符号长整型unsigned long32(4 4)0429496729542949672950(2(232-1)2.2.1 2.2.1 整型数据整型数据第第2章章 数据与运算数据与运算2.2 数据类型数据类型整型变量的定义:整型变量的定义:整型类型说明符整型类型说明符 变量标识符变量标识符,变量标识符变量标识符,;,;示例:示例:int a,b,c;int a,b,c;/*/*定义定义a a,b b,c c为基本整型变量为基本整型变量*/long d,e;long d,e;/*/*定义定义d d,e e为长整型变量为长整型变量*/unsigned x,y;unsigned x,y;/*/*定义定义x x,y y为无符号基本整型变量为无符号基本整型变量*/在书写变量说明时,应注意以下几点:在书写变量说明时,应注意以下几点:(1 1)允许在一个类型说明符后说明多个相同类型的变量。各变量名之间用)允许在一个类型说明符后说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。逗号间隔。类型说明符与变量名之间至少用一个空格间隔。(2 2)最后一个变量名之后必须以)最后一个变量名之后必须以“;”;”号结尾。号结尾。(3 3)变量说明必须放在变量使用之前,一般放在函数体的开头部分。)变量说明必须放在变量使用之前,一般放在函数体的开头部分。1 1整型变量整型变量2.2.1 2.2.1 整型数据整型数据第第2章章 数据与运算数据与运算2.2 数据类型数据类型2 2整型常量整型常量整型常量即整常数。整型常量即整常数。按不同的进制区分,整型常数有三种表示方法:按不同的进制区分,整型常数有三种表示方法:(1 1)十进制数:)十进制数:以非以非0 0开始的数,开始的数,如:如:254254,-10-10,4560045600。(2 2)八进制数:)八进制数:以以0 0开始的数,开始的数,如:如:0606,01060106,057057。(3 3)十六进制数:)十六进制数:以以0X0X或或0 x0 x开始的数,开始的数,如:如:0X2A0X2A,0XFF0XFF,0 x580 x58。1 1整型变量整型变量2.2.1 2.2.1 整型数据整型数据第第2章章 数据与运算数据与运算2.2 数据类型数据类型(1 1)一个整常量,如果其值在)一个整常量,如果其值在-32768-32768+32767+32767范围内,认为它是范围内,认为它是intint型。型。它可以赋值给它可以赋值给intint型和型和1ong int1ong int型变量。型变量。(2 2)一个整常量,如果其值超过了上述范围,而在)一个整常量,如果其值超过了上述范围,而在-2147483648-214748364821474836472147483647范围内,则认为它是范围内,则认为它是1ong int1ong int型。可以将它赋值给一个型。可以将它赋值给一个1ong 1ong intint型变量。型变量。(3 3)如果某一计算机系统的)如果某一计算机系统的C C版本确定的版本确定的short int short int 与与intint型数据在内存型数据在内存中占据的长度相同,则它表示的数据范围与中占据的长度相同,则它表示的数据范围与intint型相同,因此一个型相同,因此一个intint型的型的常量也同时是一个常量也同时是一个short intshort int型常量,可以赋给型常量,可以赋给intint型或型或short intshort int型变量;型变量;整型常量的类型:整型常量的类型:2 2整型常量整型常量1 1整型变量整型变量2.2.1 2.2.1 整型数据整型数据第第2章章 数据与运算数据与运算2.2 数据类型数据类型(4 4)常量中无)常量中无unsignedunsigned型。但一个非负值的整常量可以赋给型。但一个非负值的整常量可以赋给unsignedunsigned型整变量,只要它的范围不超过变量表示的数据范围即可。型整变量,只要它的范围不超过变量表示的数据范围即可。例如,将例如,将5000050000赋给一个赋给一个unsigned intunsigned int型变量是可以的,而将型变量是可以的,而将7000070000赋赋给它则是不行的(溢出)。给它则是不行的(溢出)。(5 5)在一个整常量后面加一个字母)在一个整常量后面加一个字母l l或或L L,则认为是,则认为是1ong int1ong int型常量。型常量。整型常量的类型:整型常量的类型:2 2整型常量整型常量1 1整型变量整型变量2.2.1 2.2.1 整型数据整型数据第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.2 2.2.2 实型数据实型数据1 1实型变量实型变量实型也称为浮点型,实型也称为浮点型,Turbo CTurbo C中实型变量有以下两种类型:中实型变量有以下两种类型:(1 1)单精度浮点型。)单精度浮点型。类型说明符为类型说明符为floatfloat,占,占4 4个字节(个字节(3232位)位)内存空间,其数值范围为内存空间,其数值范围为3.4E-383.4E-383.4E+383.4E+38,只能提供七位,只能提供七位有效数字。有效数字。(2 2)双精度浮点型。)双精度浮点型。类型说明符为类型说明符为doubledouble,占,占8 8个字节(个字节(6464位)内存空间,其数值范围为位)内存空间,其数值范围为1.7E-3081.7E-3081.7E+3081.7E+308,可提供,可提供十六位有效数字。十六位有效数字。说明:说明:浮点数均为有符号浮点数,没有无符号浮点数。浮点数均为有符号浮点数,没有无符号浮点数。第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.2 2.2.2 实型数据实型数据1 1实型变量实型变量实型变量定义:实型变量定义:实型类型说明符实型类型说明符 变量标识符变量标识符,变量标识符变量标识符,;,;示例:示例:float a,f;/*float a,f;/*定义定义a a,f f为单精度浮点型变量为单精度浮点型变量*/double b;/*double b;/*定义定义b b为双精度浮点型变量为双精度浮点型变量*/第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.2 2.2.2 实型数据实型数据1 1实型变量实型变量2 2实型常量实型常量实型常量又称实数或浮点数,有两种表示形式:实型常量又称实数或浮点数,有两种表示形式:(1 1)十进制数形式。)十进制数形式。十进制数形式由数字和小数点组成(注十进制数形式由数字和小数点组成(注意必须有小数点)。例如:意必须有小数点)。例如:0.1230.123、.123.123、123.0123.0、123.123.、0.00.0、123.123123.123等都是十进制数形式。等都是十进制数形式。(2 2)指数形式。)指数形式。指数形式由十进制数加阶码标志指数形式由十进制数加阶码标志“e”e”或或“E”E”以及阶码(只能为整数,可以带符号)组成。其一般形以及阶码(只能为整数,可以带符号)组成。其一般形式为式为a E n a E n(a a为十进制数,为十进制数,n n为十进制整数),表示值为为十进制整数),表示值为 a10na10n,其中,其中,a a,n n均不可缺省。均不可缺省。例:例:0.123E4 0.123E4 表示值为表示值为0.1231040.123104 -5.123E-4 -5.123E-4 表示值为表示值为-5.12310-4-5.12310-4第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.2 2.2.2 实型数据实型数据1 1实型变量实型变量2 2实型常量实型常量说明:说明:(1 1)浮点常数只有一种进制(十进制)。)浮点常数只有一种进制(十进制)。(2 2)所有实型常量都被默认为)所有实型常量都被默认为doubledouble类型。类型。(3 3)绝对值小于)绝对值小于1 1的浮点数,其小数点前面的零可以省略。的浮点数,其小数点前面的零可以省略。(4 4)Turbo CTurbo C以默认格式输出浮点数时,最多只保留小数点以默认格式输出浮点数时,最多只保留小数点后六位。后六位。第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量C C语言的字符常量是用单引号(即撇号)括起来的一个字符。语言的字符常量是用单引号(即撇号)括起来的一个字符。例如:例如:aa、xx,DD、?、$、A4A4等都是不同的字符常量。等都是不同的字符常量。C C还允许用一种特殊形式的字符常量,这种特殊形式的字还允许用一种特殊形式的字符常量,这种特殊形式的字符常量称为符常量称为转义字符。转义字符。转义字符以反斜线转义字符以反斜线“”开头,后跟一个或几个字符。开头,后跟一个或几个字符。转转义字符具有特定的含义,不同于字符原有的意义,故称义字符具有特定的含义,不同于字符原有的意义,故称“转义转义”字符。转义字符主要用来表示那些用一般字符不便字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码。于表示的控制代码。第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量转义字符转义字符表示含义表示含义n回车换行回车换行t横向跳到下一制表位置横向跳到下一制表位置v竖向跳格竖向跳格b退格退格r回车回车f走纸换页走纸换页反斜线符反斜线符单引号符单引号符a鸣铃鸣铃ddd13 3位八进制数所代表的字符位八进制数所代表的字符xhh12 2位十六进制数所代表的字符位十六进制数所代表的字符第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量2 2字符变量字符变量字符型变量用来字符型变量用来存放字符常量。存放字符常量。类型说明符为类型说明符为charchar。占占1 1个字节个字节(8 8位)内存空间。位)内存空间。字符变量的定义:字符变量的定义:字符型类型说明符字符型类型说明符 变量标识符变量标识符,变量标识符变量标识符,;,;示例:示例:char a,b;/*char a,b;/*定义定义a a,b b为字符型变量为字符型变量*/第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量2 2字符变量字符变量字符值是以字符值是以ASCIIASCII码的形式存放在变量的内存单元中的。码的形式存放在变量的内存单元中的。例如:例如:如果有如果有char a,b;char a,b;a=x;b=y;查表可知,查表可知,x x的十进制的十进制ASCIIASCII码是码是120120,y y的十进制的十进制ASCIIASCII码码是是121121,所以对字符变量,所以对字符变量a a,b b赋予赋予xx和和yy值,实际上是值,实际上是在在a a,b b两个单元内存放两个单元内存放120120和和121121的二进制代码,即:的二进制代码,即:a单元为:单元为:b单元为:单元为:0 1 1 1 1 0 0 00 1 1 1 1 0 0 1第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量2 2字符变量字符变量由此可见,由此可见,字符型量也可以看成是整型量。语言允许对字符型量也可以看成是整型量。语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量输出时,允许把字符变量按整型量输出,也允许把整型量按字符型量输出。整型量为二字节量,字符型量为单字节按字符型量输出。整型量为二字节量,字符型量为单字节量,当整型量按字符型量处理时,量,当整型量按字符型量处理时,只有低八位字节参与处只有低八位字节参与处理。理。第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量2 2字符变量字符变量3 3字符串常量字符串常量C C语言的字符串常量是用双引号括起来的一个字符序列。语言的字符串常量是用双引号括起来的一个字符序列。例如例如“ABcd”ABcd”、“9”9”、“a”a”等都是字符串常量。等都是字符串常量。第第2章章 数据与运算数据与运算2.2 数据类型数据类型2.2.3 2.2.3 字符型数据字符型数据1 1字符常量字符常量2 2字符变量字符变量3 3字符串常量字符串常量字符串常量和字符常量是不同的量。它们之间主要有以下区别:字符串常量和字符常量是不同的量。它们之间主要有以下区别:(1 1)字符常量由单引号括起来,字符串常量由双引号括起来。)字符常量由单引号括起来,字符串常量由双引号括起来。(2 2)字符常量只能是单个字符,字符串常量则可以含多个字符。)字符常量只能是单个字符,字符串常量则可以含多个字符。(3 3)可以把一个字符常量赋给一个字符变量,但不能把一个字符串)可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量赋给一个字符变量。在语言中没有相应的字符串变量。常量赋给一个字符变量。在语言中没有相应的字符串变量。(4 4)字符常量占一个字节的内存空间。字符串常量占的内存字节数)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字符数加等于字符串中字符数加1 1。增加的一个字节中存放字符。增加的一个字节中存放字符00,这是,这是字符串结束的标志。字符常量字符串结束的标志。字符常量aa和字符串常量和字符串常量“a”a”虽然看上去都虽然看上去都只有一个字符,但在内存中的情况是不同的:只有一个字符,但在内存中的情况是不同的:aa在内存中占一个在内存中占一个字节,可表示为字节,可表示为a a;“a”a”在内存中占两个字节,可表示为在内存中占两个字节,可表示为a0a0。第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式1 1算术运算符算术运算符运算符运算符作用作用运算符运算符作用作用+加加-取负取负-减减-减减1 1*乘乘+增增1 1/除除(类型类型)类型转换类型转换%取模取模第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式1 1算术运算符算术运算符2 2算术表达式算术表达式算术表达式是由算术运算符、括号以及操作对象组成的算术表达式是由算术运算符、括号以及操作对象组成的符合符合C C语言语法规则的表达式。语言语法规则的表达式。C C语言规定:语言规定:(1 1)模运算符)模运算符%仅用于整型变量或整型常量。仅用于整型变量或整型常量。(2 2)一个表达式中如有多个运算符,则按相应运算符)一个表达式中如有多个运算符,则按相应运算符的优先级顺序计算。的优先级顺序计算。(3 3)当运算对象两侧的运算符的优先级别相同时,应)当运算对象两侧的运算符的优先级别相同时,应按运算符的结合律处理。按运算符的结合律处理。第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式1 1算术运算符算术运算符2 2算术表达式算术表达式运算符运算符优先级优先级(值小的优先级高)(值小的优先级高)结合律结合律+-(减)(减)4从左向右从左向右*/%3-(取负)(取负)-+(类型类型)2从右向左从右向左第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式1 1算术运算符算术运算符2 2算术表达式算术表达式(4 4)增)增1 1 运算符运算符“+”+”是操作数加是操作数加1 1,而减,而减1 1运算符运算符“-”-”则是操作数减则是操作数减1 1。例:例:x=x+1 x=x+1 可写成可写成x+x+或或+x+x x=x-1 x=x-1 可写成可写成x-x-或或-x-x 但是,表达式但是,表达式x+x+与与+x+x是有区别的。表达式是有区别的。表达式x+x+的值为的值为x x的原值(不增的原值(不增加加1 1),而表达式),而表达式+x+x的值为的值为x x变量增加变量增加1 1后的值。后的值。例如:例如:执行执行m=4;x=m+;m=4;x=m+;后后,m=5,x=4,m=5,x=4。执行执行m=4;x=+m;m=4;x=+m;后后,m=5,x=5,m=5,x=5。同理,表达式同理,表达式x-x-值为值为x x的原值(不减的原值(不减1 1),而表达式),而表达式-x-x值为值为x x原值减原值减1 1后的值。后的值。(5 5)+和和-仅适用于变量,不能用于常量或表达式。仅适用于变量,不能用于常量或表达式。第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式1 1算术运算符算术运算符2 2算术表达式算术表达式3 3类型转换类型转换类型转换有两种方式:类型转换有两种方式:自动类型转换和强制类型转换。自动类型转换和强制类型转换。自动类型转换自动类型转换:运算时不必用户指定,系统自动将不同:运算时不必用户指定,系统自动将不同类型的数据转换成同一类型,然后进行计算。类型的数据转换成同一类型,然后进行计算。C C语言规定不同类型数值转换的规则如下:语言规定不同类型数值转换的规则如下:double float double float(必转)(必转)long long UnsignedUnsignedint char,short int char,short(必转)(必转)第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式1 1算术运算符算术运算符2 2算术表达式算术表达式3 3类型转换类型转换强制类型转换:强制类型转换:当自动类型转换不能实现目的时,可以用当自动类型转换不能实现目的时,可以用强制类型转换。强制类型转换。强制类型转换的一般形式如下:强制类型转换的一般形式如下:(类型类型)例如:例如:(int)(a+b)(int)(a+b)是将是将a+ba+b的结果强制转换成的结果强制转换成intint型;型;(float)a/b(float)a/b 是将是将a a的结果强制转换成的结果强制转换成floatfloat型后,型后,再进行计算。再进行计算。第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式2.3.2 2.3.2 赋值运算符和赋值表达式赋值运算符和赋值表达式1 1赋值运算符赋值运算符C C语言的赋值运算符是语言的赋值运算符是“=”=”,其作用是将赋值运算符右边,其作用是将赋值运算符右边表达式的值赋给其左边的变量。表达式的值赋给其左边的变量。2 2赋值表达式赋值表达式赋值表达式是由赋值运算符将一个变量和一个表达式连接起来赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子。的式子。赋值表达式的一般形式如下:赋值表达式的一般形式如下:变量变量=表达式表达式说明:说明:(1 1)赋值表达式的值等于计算后赋值运算符左边变量的值。)赋值表达式的值等于计算后赋值运算符左边变量的值。(2 2)赋值运算符左边必须是变量。)赋值运算符左边必须是变量。注意:注意:如果赋值运算符两侧的类型不一致,但都是数值型或如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。达式值的类型转换成赋值运算符左边变量的类型。(1 1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。数的小数部分。例:例:执行:执行:int a;int a;a=12.345;a=12.345;结果:结果:a=12a=12(2 2)将整型数据赋给单、双精度变量时,数值不变,但以浮点)将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中。数形式存储到变量中。例:例:执行:执行:float b;float b;b=12 b=12;结果:结果:b=12.00000b=12.00000注意:注意:如果赋值运算符两侧的类型不一致,但都是数值型或如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。达式值的类型转换成赋值运算符左边变量的类型。(3 3)字符型数据赋给整型变量时,由于字符只占一个字节,)字符型数据赋给整型变量时,由于字符只占一个字节,而整型变量为两个字节,因此将字符数据(而整型变量为两个字节,因此将字符数据(8 8位)放到整型变位)放到整型变量低量低8 8位中。位中。Turbo CTurbo C系统将字符处理为带符号的量,若字符最系统将字符处理为带符号的量,若字符最高位为高位为0 0,则整型变量高,则整型变量高8 8位全补位全补0 0;若字符最高位为;若字符最高位为1 1,则高,则高8 8位全补位全补1 1。例:例:执行:执行:int c;int c;执行:执行:int c;int c;c=a;c=a;c=376;c=376;结果:结果:c=97 c=97 结果:结果:c=-2c=-2(4 4)整型数据赋给字符型变量,只把低)整型数据赋给字符型变量,只把低8 8位原封不动送到字位原封不动送到字符型变量(即截断)。符型变量(即截断)。注意:注意:如果赋值运算符两侧的类型不一致,但都是数值型或如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。达式值的类型转换成赋值运算符左边变量的类型。(5 5)将带符号的整型数据()将带符号的整型数据(intint型)赋给型)赋给1ong int1ong int型变量时。型变量时。要进行符号扩展,如果要进行符号扩展,如果intint型数据为正值(符号位为型数据为正值(符号位为0 0),则),则1ong int1ong int型变量的高型变量的高1616位补位补0 0;如;如intint型变量为负值(符号位型变量为负值(符号位为为1 1),则),则1ong int1ong int型变量的高型变量的高1616位补位补1 1,将整型数的,将整型数的1616位送位送到到1ong1ong型低型低1616位中,以保持数值不改变。反之,若将一个位中,以保持数值不改变。反之,若将一个1ong int1ong int型数据赋给一个型数据赋给一个intint型变量,只把低型变量,只把低1616位原封不动送位原封不动送到整型变量(即截断)。到整型变量(即截断)。例:例:执行:执行:int a=12;int a=12;执行:执行:int a;int a;long b;long b;long b=65536;long b=65536;b=a b=a;a=ba=b;结果:结果:b=12 b=12 结果:结果:a=0a=0注意:注意:如果赋值运算符两侧的类型不一致,但都是数值型或如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。达式值的类型转换成赋值运算符左边变量的类型。(6 6)将)将signedsigned类型数据赋给长度相同的类型数据赋给长度相同的unsignedunsigned型变量时,型变量时,原样照赋(连同符号位);反之,将原样照赋(连同符号位);反之,将unsignedunsigned类型数据赋给类型数据赋给长度相同的长度相同的signedsigned型变量时,同样原样照赋,再将最高位作型变量时,同样原样照赋,再将最高位作为符号位处理。为符号位处理。例:例:执行:执行:unsigned a;unsigned a;执行:执行:int a;int a;int b=-1;unsigned b=65535;int b=-1;unsigned b=65535;a=b;a=b;a=b;a=b;结果:结果:a=65535 a=65535 结果:结果:b=-1b=-1第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式2.3.2 2.3.2 赋值运算符和赋值表达式赋值运算符和赋值表达式3 3复合赋值运算符复合赋值运算符C C语言允许在赋值运算符语言允许在赋值运算符“=”=”之前加上其他运算符,以构成之前加上其他运算符,以构成其复合运算符。其复合运算符。复合运算符有:复合运算符有:+=+=、-=-=、*=、/=/=、%=%=。例如:例如:a+=2 a+=2 等价于等价于 a=a+2a=a+2 x*=y+5 x*=y+5 等价于等价于 x=x*(y+5)x=x*(y+5)x%=8 x%=8 等价于等价于 x=x%8x=x%8同样:同样:(1 1)复合赋值表达式的值等于计算后赋值运算符左边变量的值。)复合赋值表达式的值等于计算后赋值运算符左边变量的值。(2 2)复合赋值运算符左边必须是变量。)复合赋值运算符左边必须是变量。赋值运算符的结合律都是从右向左执行,赋值运算符的结合律都是从右向左执行,其优先级低于所有算术运算符。其优先级低于所有算术运算符。第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式2.3.2 2.3.2 赋值运算符和赋值表达式赋值运算符和赋值表达式2.3.3 2.3.3 逗号运算符和逗号表达式逗号运算符和逗号表达式逗号运算符为逗号运算符为“,”,”。逗号表达式是用逗号运算符把表达式组合成的一个表达式。逗号表达式是用逗号运算符把表达式组合成的一个表达式。其一般形式为:其一般形式为:表达式表达式1,1,表达式表达式2,2,表达式表达式3,3,表达式表达式N N说明:说明:(1 1)逗号表达式的执行过程是:依次求表达式)逗号表达式的执行过程是:依次求表达式1 1的值、表达的值、表达式式2 2的值、的值、表达式、表达式N N的值,整个逗号表达式的值是表达的值,整个逗号表达式的值是表达式式N N的值。的值。(2 2)逗号运算符是所有运算符中级别最低的。)逗号运算符是所有运算符中级别最低的。第第2章章 数据与运算数据与运算2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 算术运算符和算术表达式算术运算符和算术表达式2.3.2 2.3.2 赋值运算符和赋值表达式赋值运算符和赋值表达式2.3.3 2.3.3 逗号运算符和逗号表达式逗号运算符和逗号表达式例如:例如:main()main()int x,y;int x,y;x=50;x=50;y=(x=x-5,x/5);y=(x=x-5,x/5);上面程序执行后上面程序执行后y y的值为的值为9 9,因为,因为x x的初始值为的初始值为5050,减减5 5后变为后变为4545,4545除除5 5为为9 9赋给赋给y y。第第2章章 数据与运算数据与运算2.4 2.4 本章考点本章考点 C C语言对用户标识符的规定。语言对用户标识符的规定。整型变量的定义和整型常量的表示。整型变量的定义和整型常量的表示。实型变量的定义和实型常量的表示。实型变量的定义和实型常量的表示。字符型变量的定义和字符型常量的表示。字符型变量的定义和字符型常量的表示。算术运算符和算术表达式。算术运算符和算术表达式。赋值运算符和赋值表达式。赋值运算符和赋值表达式。逗号运算符和逗号表达式。逗号运算符和逗号表达式。运算符的优先级和结合律。运算符的优先级和结合律。混合运算中的类型转换。混合运算中的类型转换。第第2章章 数据与运算数据与运算2.5 2.5 典型试题详解典型试题详解1 1以下选项中合法的用户标识符是以下选项中合法的用户标识符是_。A A)longlongB B)_2Test_2TestC C)3Dmax3DmaxD D)A.datA.dat正确答案:正确答案:B B(知识点:(知识点:C C语言对用户标识符的规定)语言对用户标识符的规定)试题分析:试题分析:C C语言规定标识符必须由一个字母(语言规定标识符必须由一个字母(a az z,A AZ Z)或下划线()或下划线(_ _)开头,标识符的其他部分可以用字母、下)开头,标识符的其他部分可以用字母、下划线或数字(划线或数字(0 09 9)组成。)组成。第第2章章 数据与运算数据与运算2.5 2.5 典型试题详解典型试题详解2 2以下选项中不属于以下选项中不属于C C语言的类型的是语言的类型的是_。A A)signed short intsigned short intB B)unsigned long intunsigned long intC C)unsigned intunsigned intD D)long shortlong short正确答案:正确答案:D D(知识点:(知识点:C C语言的基本数据类型)语言的基本数据类型)试题分析:试题分析:C C语言的基本类型包括语言的基本类型包括signed short intsigned short int、unsigned long intunsigned long int、unsigned intunsigned int、charchar、floatfloat、doubledouble等,没有等,没有long shortlong short类型。类型。第第2章章 数据与运算数据与运算2.5 2.5 典型试题详解典型试题详解3 3在在1616位位C C编译系统上,若定义编译系统上,若定义long a;long a;,则能给变量,则能给变量a a赋值赋值40000400展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




C语言电子.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3225234.html