第3章 数据类型和表达式.ppt
《第3章 数据类型和表达式.ppt》由会员分享,可在线阅读,更多相关《第3章 数据类型和表达式.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 数据类型和表达式数据类型和表达式程序就是对数据的处理程序就是对数据的处理3.1 C语言的基本数据类型语言的基本数据类型数据类型数据类型构造类型构造类型指针类型指针类型空类型空类型 voidvoid数组类型数组类型结构体类型结构体类型 structstructstructstruct共用体类型共用体类型 unionunionunionunion基本类型基本类型字符类型字符类型字符类型字符类型 char char char char 数值类型数值类型数值类型数值类型整型类型整型类型整型类型整型类型 intintintint及其它及其它及其它及其它实型类型实型类型实型类型实型类型 flo
2、atfloat,doubledouble及其它及其它及其它及其它C语言语言的数据类型有的数据类型有枚举类型枚举类型 关于基本数据类型关于基本数据类型1.数据类型确定了允许对其进行的数据类型确定了允许对其进行的操作。操作。2.不同类型数据在内存中占不同的不同类型数据在内存中占不同的存储空间存储空间,且采取不同的,且采取不同的存储存储形式。形式。3.不同类型数据对应不同的不同类型数据对应不同的取值范围。取值范围。基本类型基本类型基本类型基本类型字符型字符型字符型字符型:char char 实型实型实型实型:float,double,long doublefloat,double,long doub
3、le整型整型整型整型:intint,short,long,unsigned,unsigned,short,long,unsigned,unsigned short,unsigned longshort,unsigned long3.1.1 常量、变量的表示方法常量、变量的表示方法l按照数据在程序中的取值:值保持不变按照数据在程序中的取值:值保持不变-常量,值随常量,值随程序运行变化程序运行变化-变量变量1、常量、常量在程序运行中,其值保持不变。在程序运行中,其值保持不变。直接常量(字面常量):直接常量(字面常量):100,125,-1003.14,0.125a,b符号常量:符号常量:#defi
4、ne PI 3.14159用指定的标识符表用指定的标识符表示某个常量示某个常量#define 预处理命令预处理命令宏定义命令:把标识符定义为其后内容的替换宏定义命令:把标识符定义为其后内容的替换例:常量与符号常量例:常量与符号常量#include#define PI 3.14159void main()printf(圆的半径圆的半径为为%d ,3 );printf(“圆的圆的周长周长为为%f ,PI*2*3);printf(“圆的圆的面积面积为为%f ,PI*3*3);思考:用符号常量的好处?思考:用符号常量的好处?圆的半径为圆的半径为3圆的周长为圆的周长为18.849540圆的面积为圆的面积
5、为28.2743102、变量、变量l在程序运行中,值可以变化在程序运行中,值可以变化l必须先定义(声明),再使用必须先定义(声明),再使用l定义变量要指出类型和变量名定义变量要指出类型和变量名l变量定义放于函数开头,可执行语句之前变量定义放于函数开头,可执行语句之前变量定义会在内存分配相应存储空间变量定义会在内存分配相应存储空间变量定义会在内存分配相应存储空间变量定义会在内存分配相应存储空间uu变量名:变量在内存中的位置变量名:变量在内存中的位置变量名:变量在内存中的位置变量名:变量在内存中的位置uu类型:变量在内存中占据存储单元大小类型:变量在内存中占据存储单元大小类型:变量在内存中占据存储
6、单元大小类型:变量在内存中占据存储单元大小int a,b;类型类型 变量名表变量名表memorya8256256 3 3变量命名:合法的标识符(字母和下划线开头,字母、下划变量命名:合法的标识符(字母和下划线开头,字母、下划线、数字组成)线、数字组成)不能用保留字不能用保留字区分大小写区分大小写变量名应有意义变量名应有意义l变量的使用:赋值、引用。变量的使用:赋值、引用。方式:通过变量名来存、取变量。方式:通过变量名来存、取变量。memorya8256256 3 3int a=3;a=256;int b;b=a;#include#define PI 3.14159void main()int
7、r=2;float g,a;g=2*PI*r;a=PI*r*r;printf(半径半径%d的圆的圆,其周长为其周长为%f,其面积为其面积为%f,r,g,a);10进制:进制:10,-23,89。8进制:进制:017-(17)8,相当于,相当于10进进制数的制数的15;-011相当于相当于10进制数进制数9;019是错误的整数常量,是错误的整数常量,因为因为9不能作为不能作为8进制数进制数的数位值。的数位值。16进制:进制:0 x18实际上是实际上是(18)16,相当于相当于10进制数的进制数的24。3.2 整型数据整型数据3.2.1 整型常量整型常量lC C语语言言中中提提供供了了3 3种种表
8、表示示整整数数常常量量的方法:的方法:l1010进制整数进制整数l8 8进进制制整整数数:以以数数字字0 0开开头头的的数数是是8 8进制数。进制数。l1616进进制制整整数数:以以0 0 x x或或0 0X X开开头头的的数是数是1616进制数。进制数。l有有了了上上面面3 3种种整整数数表表示示方方法法,我我们可以这样定义整数的符号常量:们可以这样定义整数的符号常量:#definedefineNUM130NUM130#define#defineNUM2026NUM2026#define#defineNUM30 x1aNUM30 x1a常量常量NUM1的值是的值是30,常量常量NUM2的值是
9、的值是22,常量常量NUM3的值是的值是263.2.2 整型变量整型变量定义格式:定义格式:类型标识符类型标识符变量名列表变量名列表;分号结尾分号结尾例如:例如:intinta;a;如果想一次定义多个整型变量,可以这样:如果想一次定义多个整型变量,可以这样:intinta,b,c;a,b,c;变量间用逗号分隔变量间用逗号分隔上面一行定义等价于下面上面一行定义等价于下面3 3行,但形式却简洁一些:行,但形式却简洁一些:intinta;a;intintb;b;intintc;c;3.2.3 整型数据的分类和存储整型数据的分类和存储1、分类、分类整型变量的基本类型符是整型变量的基本类型符是intin
10、t。在在intint前面增加两类修饰符:前面增加两类修饰符:lsignedsigned和和unsignedunsigned(控制整型变量是否有符号)控制整型变量是否有符号)lshortshort和和longlong(控制整型变量的值域范围)控制整型变量的值域范围)这样就形成了这样就形成了6 6类整型变量:类整型变量:类型说明符类型说明符类型说明符类型说明符 长度长度长度长度 数的范围数的范围数的范围数的范围基本型基本型基本型基本型 intintintint 2 2 2 2字节字节字节字节 -32768-32768-32768-3276832767327673276732767短整型短整型短整型
11、短整型 short short short short intintintint 2 2 2 2字节字节字节字节 -2-2-2-2151515152 2 2 215151515-1-1-1-1 长整型长整型长整型长整型 long long long long int int int int 4 4 4 4字节字节字节字节 -2-2-2-2313131312 2 2 231313131-1-1-1-1无符号整型无符号整型无符号整型无符号整型 unsigned unsigned unsigned unsigned int int int int 2 2 2 2字节字节字节字节 0 0 0 0655
12、35655356553565535无符号短整型无符号短整型无符号短整型无符号短整型 unsigned short unsigned short unsigned short unsigned short int int int int 2 2 2 2字节字节字节字节 0 0 0 065535655356553565535无符号长整型无符号长整型无符号长整型无符号长整型 unsigned long unsigned long unsigned long unsigned long int int int int 4 4 4 4字节字节字节字节 0 0 0 0(2 2 2 232323232-1-
13、1-1-1)2、存储、存储void main()int i=11;short j=11;long k=11;unsigned int ui=11;unsigned short uj=11;unsigned long uk=11;int m=-11;0000000000001011000000000000101100000000000000000000000000001011000000000000101100000000000010110000000000000000000000000000101111111111111101001111111111110101整数在内存用二进制补码表示(有符
14、号数)整数在内存用二进制补码表示(有符号数)计算机中规定对于有符号数,最高位充当符号位(计算机中规定对于有符号数,最高位充当符号位(0为正,为正,1为负),为负),其他位用来存放数据。其他位用来存放数据。一个整数的绝对值的一个整数的绝对值的2进制表示称为这个数的原码。进制表示称为这个数的原码。一个正整数和零的补码就是原码本身。一个正整数和零的补码就是原码本身。但一个负数的补码是它的原码取反加但一个负数的补码是它的原码取反加1的结果。的结果。void main()int x,y;x=32767;y=x+1;printf(“%d,%d”,x,y);3、sizeof运算符运算符测定数据类型所占存储空
15、间(字节数)测定数据类型所占存储空间(字节数)sizeof (类型标识符)类型标识符)sizeof (变量名)变量名)4、整型数据的溢出、整型数据的溢出0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-327683.3 实型数据实型数据3.3.1 实型常量实型常量l两种表示方式两种表示方式l1010进进制制小小数数形形式式:数数字字和和小小数数点点组组成成。l指指数数形形式式:小小数数部部分分,e e,指指数数部部分分组组成成3.3.2 实型变量实型变量l变变量量定定义义格格式式与与书书写写规规则同整数则同整数floa
16、t a,b;如:如:1.21.2、33.2433.24、0.00.0若整数部分为若整数部分为0 0可以省去,只保可以省去,只保留小数点和小数部分,但绝对不留小数点和小数部分,但绝对不能没有小数点。能没有小数点。如:如:.24.24、.2.2等等。等等。如:如:123.4123.4e2e2注意,注意,e e或或E E前面必须有数字,后前面必须有数字,后面必须是整数!面必须是整数!错误形式:错误形式:e3e3、.e5.e5、12e3.512e3.53.3.3 实型数据的分类和存储实型数据的分类和存储1、分类、分类l单精度单精度float4float4字节字节l双精度双精度double8double
17、8字节字节 l长长双双精精度度longlongdoubledouble 1616字节字节 float f=2.14;double x,y;long double a;2、存储、存储但实数在内存是按照指数形式存放的。但实数在内存是按照指数形式存放的。符号位符号位小数部分小数部分指数部分指数部分1位位 决定有效数字决定有效数字 决定取值范围决定取值范围 类型类型 长度长度 数的范围数的范围 有效数字有效数字单精度单精度 float float 4 4 1010-37-37 101038 38 6-7 6-7位位双精度双精度 doubledouble 8 8 1010-307-307 1010308
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 数据类型和表达式 数据类型 表达式
限制150内