数据类型、运算符与表达式精品文稿.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据类型、运算符与表达式精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据类型、运算符与表达式精品文稿.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据类型、运算符与表达式第1页,本讲稿共72页C C语言提供的数据结构是以数据类型的形式出现的语言提供的数据结构是以数据类型的形式出现的语言提供的数据结构是以数据类型的形式出现的语言提供的数据结构是以数据类型的形式出现的用指针、结构体还可构成链表、树、栈等复杂的数据结构用指针、结构体还可构成链表、树、栈等复杂的数据结构用指针、结构体还可构成链表、树、栈等复杂的数据结构用指针、结构体还可构成链表、树、栈等复杂的数据结构整型整型整型整型字符型字符型字符型字符型实型实型实型实型(浮点型浮点型浮点型浮点型)枚举类型枚举类型枚举类型枚举类型单精度型单精度型单精度型单精度型双精度型双精度型双精度型双精度型
2、数组类型数组类型数组类型数组类型结构体类型结构体类型结构体类型结构体类型共用体类型共用体类型共用体类型共用体类型基本类型基本类型基本类型基本类型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型(void)(void)数据类型数据类型数据类型数据类型第2页,本讲稿共72页3.2 3.2 常量与变量常量与变量3.2.1 3.2.1 3.2.1 3.2.1 常量和符号常量常量和符号常量常量和符号常量常量和符号常量常量常量常量常量:在程序执行过程中,数值始终保持不变的量。在程序执行过程中,数值始终保持不变的量。在程序执行过程中,数值始终保持不变的量。在程序执行过
3、程中,数值始终保持不变的量。整型整型整型整型:5,-26,0:5,-26,0 实型实型实型实型:3.14,-2.45,2.17e3:3.14,-2.45,2.17e3 字符字符字符字符:a,1,A,$:a,1,A,$标识符(符号)标识符(符号)标识符(符号)标识符(符号)例如:例如:例如:例如:#define pi 3.14#define pi 3.14 常量一般从其字面形式即可判别。常量一般从其字面形式即可判别。常量一般从其字面形式即可判别。常量一般从其字面形式即可判别。第3页,本讲稿共72页例例例例3.13.1#define PRICE 30#define PRICE 30void mai
4、n()void main()int num,total;int num,total;num=10;num=10;total=num*PRICE;total=num*PRICE;printf(“total=%d”,total);printf(“total=%d”,total);输出输出输出输出:total=300:total=300 符号常量:见名知意,程序中一改全改。符号常量:见名知意,程序中一改全改。符号常量:见名知意,程序中一改全改。符号常量:见名知意,程序中一改全改。第4页,本讲稿共72页3.2.2 3.2.2 变量变量变量变量变量变量:在程序执行过程中,其值可以变化的量。在程序执行过程
5、中,其值可以变化的量。在程序执行过程中,其值可以变化的量。在程序执行过程中,其值可以变化的量。1.1.变量名:由合法标识符组成。变量名:由合法标识符组成。变量名:由合法标识符组成。变量名:由合法标识符组成。2.2.标识符:字母、数字、下划线序列构成。标识符:字母、数字、下划线序列构成。标识符:字母、数字、下划线序列构成。标识符:字母、数字、下划线序列构成。第一个字符必须是字母或下划线,如:第一个字符必须是字母或下划线,如:第一个字符必须是字母或下划线,如:第一个字符必须是字母或下划线,如:abs,_12,a3c5 abs,_12,a3c5 3b,a$e,Wang-1 3b,a$e,Wang-1
6、3.3.标识符长度:标识符长度:标识符长度:标识符长度:一般一般一般一般1818个合法字符。个合法字符。个合法字符。个合法字符。第5页,本讲稿共72页4.4.大小写字母有区别,如,大小写字母有区别,如,大小写字母有区别,如,大小写字母有区别,如,A A,a a是两个不同的标识符。是两个不同的标识符。是两个不同的标识符。是两个不同的标识符。5.5.使用方法:按先声明后使用的原则。使用方法:按先声明后使用的原则。使用方法:按先声明后使用的原则。使用方法:按先声明后使用的原则。6.6.变量类型能进行有关运算的合法性检查,如变量类型能进行有关运算的合法性检查,如变量类型能进行有关运算的合法性检查,如变
7、量类型能进行有关运算的合法性检查,如a%b,a%b,两边必须两边必须两边必须两边必须是整型数据。是整型数据。是整型数据。是整型数据。7.7.不同类型的变量,占据不同长度的存储单元,不同类型的变量,占据不同长度的存储单元,不同类型的变量,占据不同长度的存储单元,不同类型的变量,占据不同长度的存储单元,要区分变量要区分变量要区分变量要区分变量名和变量值两个不同的概念。名和变量值两个不同的概念。名和变量值两个不同的概念。名和变量值两个不同的概念。3 3变量名变量名变量名变量名变量值变量值变量值变量值存储单元存储单元存储单元存储单元a a第6页,本讲稿共72页3.3 3.3 整型数据整型数据3.3.1
8、 3.3.1 3.3.1 3.3.1 整型常量整型常量整型常量整型常量1 1、十进制整数、十进制整数、十进制整数、十进制整数:如如如如 29,-36,0 29,-36,02 2、八进制整数、八进制整数、八进制整数、八进制整数:以以以以0 0开头开头开头开头,后跟后跟后跟后跟0707中的若干数字中的若干数字中的若干数字中的若干数字;如如如如:0123:0123 (83)(83)10103 3、十六进整制、十六进整制、十六进整制、十六进整制:以以以以0 x0 x开头开头开头开头,后跟后跟后跟后跟09,A,B,C,D,E,F09,A,B,C,D,E,F(可小写)中的(可小写)中的(可小写)中的(可小
9、写)中的 若干字符若干字符若干字符若干字符,如如如如0 xA2 0 xA2(162)(162)1010第7页,本讲稿共72页3.3.2 3.3.2 整型变量整型变量1 1、整型变量在内存中的存放形式、整型变量在内存中的存放形式、整型变量在内存中的存放形式、整型变量在内存中的存放形式数据在内存中是以二进制补码形式存放的。数据在内存中是以二进制补码形式存放的。数据在内存中是以二进制补码形式存放的。数据在内存中是以二进制补码形式存放的。例:例:例:例:int i,j;int i,j;i=10;j=-10;i=10;j=-10;求负数补码:求负数补码:求负数补码:求负数补码:求该数的绝对值的二进制;求
10、该数的绝对值的二进制;求该数的绝对值的二进制;求该数的绝对值的二进制;对其值连同符号位一起求反加对其值连同符号位一起求反加对其值连同符号位一起求反加对其值连同符号位一起求反加1 1i i10 10 数据数据数据数据i i存放示意图存放示意图存放示意图存放示意图数据数据数据数据i i在内存中实际存放情况在内存中实际存放情况在内存中实际存放情况在内存中实际存放情况0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 1 0 1 00 0 0 0 1 0 1 0-10-10 j j数据数据数据数据j j存放示意图存放示意图存放示意图存放示意图数据数据数据数据j j在内存中实际存
11、放情况在内存中实际存放情况在内存中实际存放情况在内存中实际存放情况1 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 0 1 1 01 1 1 1 0 1 1 0第8页,本讲稿共72页2 2、整型变量的分类、整型变量的分类、整型变量的分类、整型变量的分类根据数值的范围可定义以下类型的变量:根据数值的范围可定义以下类型的变量:根据数值的范围可定义以下类型的变量:根据数值的范围可定义以下类型的变量:1 1、基本型:用、基本型:用、基本型:用、基本型:用int int 定义定义定义定义2 2、短整型:用、短整型:用、短整型:用、短整型:用short int short int
12、 或或或或 short short 定义定义定义定义3 3、长整型:用、长整型:用、长整型:用、长整型:用long int long int 或或或或 long long 定义定义定义定义 整:整:整:整:unsigned intunsigned int4 4、无符号型:、无符号型:、无符号型:、无符号型:短整:短整:短整:短整:unsigned shortunsigned short 长整:长整:长整:长整:unsigned longunsigned long第9页,本讲稿共72页无符号数据的特点:无符号数据的特点:无符号数据的特点:无符号数据的特点:最高位不是作为符号位,而是作为存放有效数
13、值本身。最高位不是作为符号位,而是作为存放有效数值本身。最高位不是作为符号位,而是作为存放有效数值本身。最高位不是作为符号位,而是作为存放有效数值本身。例:例:例:例:int a;/*aint a;/*a的数值范围为的数值范围为的数值范围为的数值范围为-32768 32767*/-32768 32767*/unsigned int b;/*b unsigned int b;/*b的数值范围为的数值范围为的数值范围为的数值范围为0 65535*/0 65535*/符号位符号位符号位符号位有符号整型变量有符号整型变量有符号整型变量有符号整型变量a a=32767=327670 1 1 1 1 1
14、1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 无符号整型变量无符号整型变量无符号整型变量无符号整型变量b b=65535=655351 1 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 数值有效位数值有效位数值有效位数值有效位第10页,本讲稿共72页 ANSI ANSI 定义的整数类型定义的整数类型定义的整数类型定义的整数类型 类型类型类型类型 比特数比特数比特数比特数 取值范围取值范围取值范围取值范围int 16 -3276832767int 16 -3276832
15、767short 16 -3276832767short 16 -3276832767long 32 -21474836482147483647long 32 -21474836482147483647unsigned int 16 065535unsigned int 16 065535unsigned short 16 065535unsigned short 16 065535unsigned long 32 04294967297unsigned long 32 04294967297第11页,本讲稿共72页以十进制数以十进制数以十进制数以十进制数1313为例,说明该数在内存中的存储情
16、况为例,说明该数在内存中的存储情况为例,说明该数在内存中的存储情况为例,说明该数在内存中的存储情况 其中:带符号数在内存中存储形式是:最左边一位其中:带符号数在内存中存储形式是:最左边一位其中:带符号数在内存中存储形式是:最左边一位其中:带符号数在内存中存储形式是:最左边一位(最高位)是符号位,正为最高位)是符号位,正为最高位)是符号位,正为最高位)是符号位,正为0 0负为负为负为负为1 1不带符号的数在内存中的存储形式是:最左边一位(最高位)是数值的有效位不带符号的数在内存中的存储形式是:最左边一位(最高位)是数值的有效位不带符号的数在内存中的存储形式是:最左边一位(最高位)是数值的有效位不
17、带符号的数在内存中的存储形式是:最左边一位(最高位)是数值的有效位0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0
18、0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1符符符符号号号号位位位位intintshortshortlonglongunsigned intunsigned intunsigned
19、shortunsigned shortunsigned longunsigned long第12页,本讲稿共72页3 3、整型变量的定义、整型变量的定义、整型变量的定义、整型变量的定义变量类型定义的目的:让编译为其分配内存单元。变量类型定义的目的:让编译为其分配内存单元。变量类型定义的目的:让编译为其分配内存单元。变量类型定义的目的:让编译为其分配内存单元。变量的定义一般在函数开始的声明部分,也可以在分程序变量的定义一般在函数开始的声明部分,也可以在分程序变量的定义一般在函数开始的声明部分,也可以在分程序变量的定义一般在函数开始的声明部分,也可以在分程序 中,若在分程中,若在分程中,若在分程中
20、,若在分程序中定义,其作用域仅在分程序中有效。序中定义,其作用域仅在分程序中有效。序中定义,其作用域仅在分程序中有效。序中定义,其作用域仅在分程序中有效。例例例例3.23.2void main()void main()int a,b,c,d;unsigned int u;int a,b,c,d;unsigned int u;a=12;b=-24;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);运算结果:运算结果:运算结果:运算结果:a+u
21、=22,b+u=-14a+u=22,b+u=-14由此可见:不同类型的整型数据可以进行混合运算由此可见:不同类型的整型数据可以进行混合运算由此可见:不同类型的整型数据可以进行混合运算由此可见:不同类型的整型数据可以进行混合运算第13页,本讲稿共72页4 4、整型数据的溢出、整型数据的溢出、整型数据的溢出、整型数据的溢出int int 型变量允许的最大值为型变量允许的最大值为型变量允许的最大值为型变量允许的最大值为32767,32767,如果大于此数,将产生溢出如果大于此数,将产生溢出如果大于此数,将产生溢出如果大于此数,将产生溢出例例例例3.3 3.3 整型数据的溢出情况整型数据的溢出情况整型
22、数据的溢出情况整型数据的溢出情况void main()void main()int a,b;int a,b;a=32767;b=a+1;a=32767;b=a+1;printf(“%d,%d”,a,b);printf(“%d,%d”,a,b);运行结果:运行结果:运行结果:运行结果:32767,-3276832767,-32768变量变量变量变量a a是正整数的最大值,加是正整数的最大值,加是正整数的最大值,加是正整数的最大值,加1 1后赋给后赋给后赋给后赋给b b,使数值有效位占据符号位。,使数值有效位占据符号位。,使数值有效位占据符号位。,使数值有效位占据符号位。此种情况,编译系统不会报错
23、,这要靠编程者把握。此种情况,编译系统不会报错,这要靠编程者把握。此种情况,编译系统不会报错,这要靠编程者把握。此种情况,编译系统不会报错,这要靠编程者把握。0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1a:a:3276732767 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0b:b:-32768-32768 第14页,本讲稿共72页3.3.3 3.3.3 3.3.3 3.3.3 整型常量的类型整型常量的类型整型常量的类型整型常量的类型
24、整型常量本身隐含了某种数据类型,将整型常量赋给整型变整型常量本身隐含了某种数据类型,将整型常量赋给整型变整型常量本身隐含了某种数据类型,将整型常量赋给整型变整型常量本身隐含了某种数据类型,将整型常量赋给整型变量时,要考虑常量的大小和变量所能表示的数据范围。量时,要考虑常量的大小和变量所能表示的数据范围。量时,要考虑常量的大小和变量所能表示的数据范围。量时,要考虑常量的大小和变量所能表示的数据范围。一个整数,其值在如下范围:一个整数,其值在如下范围:一个整数,其值在如下范围:一个整数,其值在如下范围:(1 1)-3276832767 -3276832767 int,short int,long
25、int int,short int,long int(2 2)-21474836482147483647 -21474836482147483647 long int long int(3 3)对于非负数,)对于非负数,)对于非负数,)对于非负数,如:如:如:如:065535 065535 unsigned int,unsigned short unsigned int,unsigned short 04294967295 04294967295 unsigned long unsigned long说明:说明:说明:说明:1.1.常量中无常量中无常量中无常量中无 unsigned unsig
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式 精品 文稿
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内