资源描述:
《第二章_数据类型、运算符与表达式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章数据类型、运算符与表达式C语言的数据类型常量与变量运算符与表达式数据类型转换2.1C语言的数据类型数据类型总表:C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作2.2常量与变量2.2.1常量在程序运行过程中,其值不能改变的量。常量有两种存在形式:直接常量:如:1,5,34,-234等都是整型常量5.2,3.14,-3
2、4.5等都是实型常量’A’,’a’,’b’,’!’字符型常量在下面程序中:main(){inta,b,c;a=23;b=87;c=a+b;printf(“%d”,c);}23和87都是以直接常量形式出现的符号常量:用一个标识符来代表一个常量。标识符:程序设计中用到的变量、符号常量、函数等,都要给他们取个名字,这些变量名、符号常量名、函数名等统称为标识符。标识符命名规则:(1)只能由字母、数字、下划线组成,并且,名字的第一个字符只能是字母或下划线(即不能是数字)。(2)大小写敏感(3)不能使用关键字(关键字指c语言中有特定含义的标识符,如printf,scanf,
3、main,int等)(4)长度一般不超过32个字符例:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123符号常量的定义形式:#define符号常量名常量说明:(1)习惯上,符号常量名用大些英文字母,以区分于后面将要介绍的变量名。(2)用#define语句定义符号常量时,语句结尾不需要“;”,加上分号会出错。符号常量的使用:程序运行时,一旦遇见符号常量,就以定义时符号常li量名后面的常量值去替代该符号常量.例符号常量举例(ch2_1.c)#definePRIC
4、E30main(){intnum,total;num=10;total=PRICE*num;printf("total=%d",total);}程序运行时,该条语句变成total=30*num;程序运行结果:total=300若将上例的符号常量定义语句改为:#definePRICE30;,运行时,total=PRICE*num;语句将变成为:total=30;*num;程序出错!(3)符号常量定义语句不能写在main函数内部,应写在程序顶部,main函数外面。看程序,写结果:#defineA2#defineB3main(){intc;c=A*B;printf(“c=
5、%d”,c);c=c+A+B;printf(“c=%d”,c);}c=6c=112.2.2变量程序运行过程中,值可以改变的量。变量不同于常量的是,它一般不直接表示为某一个特定数值,而是对应于内存中的某个存储空间,所以,一个完整的变量包含变量名和变量值两方面含义。main(){inta;a=21;…}定义变量a,实质上是在内存中分配两个字节的空间,并将这两个字节的空间取名为a往a空间中存入数值21,21就是a变量此时的值说明:(1)变量必须先定义再使用。如果使用一个未定义的变量,编译时会出现诸如“undefinedsymbol…”此类的错误提示。(2)变量定义
6、格式:类型变量名;如:inta,b,c;floatx,y,z;等(3)变量命名应符合标识符命名规则2.3整型数据2.3.1整型常量的表示方法十进制形式:如:123,-456,76等八进制形式:以0开头的八进制数字串。如:010,026看程序,写结果:main(){inta,b;a=10;b=010;printf(“%d,%d”,a,b);}10,8看程序,写结果:main(){inta,b;a=10;b=018;printf(“%d,%d”,a,b);}十六进制形式:以0x或0X开头的十六进制数字串。如:0x24,0x2f等。结果是多少?程序出错,018不是
7、正确的八进制整数常量形式2.3.2整型变量整型数值在内存中的存放:众所周知,数据在内存中是以二进制形式存储的。数据存储可分为有符号数存储和无符号数存储。有符号数:可以表示正数和负数,有符号数存储时,存储单元的最高位为符号位,最高位为0,表示正数;最高位为1,表示负数,其余位为数值位。如:inta;a=37;在turboc中,对于int型变量,系统会为它分配两个字节的存储空间(1byte=8bit)0000000000100101符号位若有:inta;a=-37;又是如何存储的呢?在大多数计算机系统中,有符号数存储采用补码形式。数值存储形式:原码、补码。原码:+3