第3章数据类型运算符与表达式优秀课件.ppt
《第3章数据类型运算符与表达式优秀课件.ppt》由会员分享,可在线阅读,更多相关《第3章数据类型运算符与表达式优秀课件.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 数据类型运算符与表达式1第1页,本讲稿共73页第三章第三章 数据类型、运算符和表达式数据类型、运算符和表达式n第一节第一节 C的数据类型的数据类型n第二节第二节 常量常量n第三节第三节 变量变量n第四节第四节 算术运算符和算术表达式算术运算符和算术表达式n第五节第五节 赋值运算符和赋值表达式赋值运算符和赋值表达式n第六节第六节 逗号运算符和逗号表达式逗号运算符和逗号表达式n第七节第七节 各类数据间的混合运算各类数据间的混合运算2第2页,本讲稿共73页第一节 C的数据类型n基本类型基本类型整型整型字符型字符型实型(浮点型)实型(浮点型)单精度、双精度单精度、双精度枚举型枚举型n构造类型构
2、造类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型n指针类型指针类型n空类型空类型3第3页,本讲稿共73页第一节 C的数据类型n说明:说明:1)标识符标识符,是指用来,是指用来标识程序中用到的标识程序中用到的变量变量名名、函数名函数名、类型名类型名、数组名数组名、文件名文件名及及符号符号常量名常量名等的有效字符序列。等的有效字符序列。标识符的命名规则标识符的命名规则是:是:由字母(大小写)、数字及下划线组成,由字母(大小写)、数字及下划线组成,且第一个字符必须是字母或下划线且第一个字符必须是字母或下划线。(举例说。(举例说明标识符的合法性判定)明标识符的合法性判定)2)C语言语言英
3、文大小写不同英文大小写不同,并把下划线定义,并把下划线定义为字母,故有为字母,故有53个个字母。字母。4第4页,本讲稿共73页第一节 C的数据类型n说明:说明:3)关键字(也称保留字)关键字(也称保留字)是是C语言中预先定语言中预先定义的标识符,用来命名义的标识符,用来命名C语言程序中的语言程序中的语句语句、数据类型数据类型和和变量属性变量属性等等。有固定的意义,不能。有固定的意义,不能重新说明,不能作用户定义符使用。一共有重新说明,不能作用户定义符使用。一共有32个个。都用。都用小写字母小写字母表示。表示。5第5页,本讲稿共73页第一节 C的数据类型n说明:说明:4)常量常量又称常数,是指在
4、程序运行过程中又称常数,是指在程序运行过程中其其值不能改变值不能改变的量,常量分为不同的类型。的量,常量分为不同的类型。5)变量变量是指在程序运行过程中是指在程序运行过程中其值可以被改其值可以被改变变的量。不同类型的变量在内存中占不同的存的量。不同类型的变量在内存中占不同的存储单元,以便用来存储相应的变量的值。储单元,以便用来存储相应的变量的值。6第6页,本讲稿共73页第二节 常量 常量包括常量包括直接直接常量(或称常量(或称字面字面常量)和常量)和符号符号常常量。量。直接常量有直接常量有整型常量整型常量,实型常量实型常量,字符常量字符常量与与字符串常量字符串常量。n2.1 符号常量符号常量n
5、2.2 整型常量整型常量n2.3 实型常量实型常量n2.4 字符型常量字符型常量n2.5 字符串常量字符串常量7第7页,本讲稿共73页2.1 符号常量 用标识符表示的常量称为符号常量。用标识符表示的常量称为符号常量。习惯习惯上,符号常量名用上,符号常量名用大写大写,如,如PI,MIN。符号常量。符号常量要要先定义,后使用先定义,后使用。注意注意:1)符号常量符号常量不同于变量,值在其所在的函数内不不同于变量,值在其所在的函数内不能改变。能改变。2)使用符号常量可以使用符号常量可以使程序清晰,修改容易使程序清晰,修改容易。8第8页,本讲稿共73页2.1 符号常量符号常量是用宏替换符号常量是用宏替
6、换#define 定义:定义:例#define PI 3.1415#define LETTER x 均合法。例#define A 100;#define A,B 26 均不合法。例1:#define PI 3.14159 main()float r,s,area;scanf(%f,&r);s=2*PI*r;area=PI*r*r;printf(s=%7.2f,area=%7.2f,s,area);9第9页,本讲稿共73页有以下三种数制形式表示:有以下三种数制形式表示:十进制:如十进制:如 123;-60;0八进制:以八进制:以0开始,如开始,如 0123表示(表示(123)8十六进制:以十六进
7、制:以0 x开始,如开始,如0 x123表示表示(123)162.2 整型常量10第10页,本讲稿共73页2.3 实型常量n小数形式:小数形式:由数字、数符和小数点组成。由数字、数符和小数点组成。注意必须有小数点。注意必须有小数点。如如 123.0 .123 0.0 12.n指数形式:指数形式:数字部分数字部分e指数部分。指数部分。字母字母E/e前必须有数字,字母前必须有数字,字母E/e后后 必须为整数(必须为整数(13位)。位)。如如123e2 123E211第11页,本讲稿共73页 字符常量是用字符常量是用单撇号单撇号括起来的一个字符。括起来的一个字符。例如:例如:a,x,d,?,字符常量
8、的值实际上是一个数字值。如字符常量字符常量的值实际上是一个数字值。如字符常量 0 ,其,其ASCII为为48,所以存储的实际值为,所以存储的实际值为48。字符常量可以字符常量可以象整数一样参与运算。象整数一样参与运算。2.4 字符型常量12第12页,本讲稿共73页 转义字符:转义字符:将反斜杠后面的字符转变成另外的意义将反斜杠后面的字符转变成另外的意义 例例:n表表示示换换行行符符,表表示示字字符符。转义字符转义字符 功能功能 转义字符转义字符 功功 能能 a 响铃响铃 反斜杠字符反斜杠字符 b 退一格退一格 单引号字符单引号字符 f 走纸换页走纸换页 双引号字符双引号字符 n 换行换行?问问
9、号号 r 回回车车 t 横横向向跳跳格格 ddd 13位位8进制数代表的字符进制数代表的字符 xhh 12位位16进制数代表的字符进制数代表的字符2.4 字符型常量13第13页,本讲稿共73页 转义字符:转义字符:将反斜杠后面的字符转变成另外的意义将反斜杠后面的字符转变成另外的意义例:例:101,代表代表ASCII码值码值65的字符的字符A,x41,也代表也代表ASCII码值码值65的字符的字符A。而而0,表示空操作,字符串结束符。表示空操作,字符串结束符。printf(“”D:xao.wps”);输出输出”D:xao.wps”2.4 字符型常量14第14页,本讲稿共73页 main()cha
10、r c1=101,c2=x42;printf(atbc tbABCn);printf(xyzt%c%c,c1,c2);结果?结果?a bc ABC xyz A B 例例2:15第15页,本讲稿共73页2.5 字符串常量字符串常量是用一对字符串常量是用一对双引号双引号括起来的字符序列。括起来的字符序列。如如:“CHINA”,“a”,“X+Y”。字符串常量在内存中的存放:每一个字符均以其字符串常量在内存中的存放:每一个字符均以其ASCII码存放,且码存放,且最后添加一个最后添加一个“0”作为字符串的作为字符串的结束标志结束标志 例:字符串常量“CHINA”存放在内存中的情况是:CHINA017第1
11、7页,本讲稿共73页 因此,因此,字符常量字符常量a和字符串常量和字符串常量“a”的区别的区别是:是:字符字符a:1字节(值为字节(值为97)字符串字符串“a”:2字节(值为字节(值为97,0)注注:在表达一个字符串时,要时刻记着尾部有个在表达一个字符串时,要时刻记着尾部有个 0字符结束整个字符串。字符结束整个字符串。2.5 字符串常量18第18页,本讲稿共73页第三节 变量n3.1 变量的概念变量的概念n3.2 变量名变量名n3.3 整型变量整型变量n3.4 实型变量实型变量n3.5 字符型变量字符型变量19第19页,本讲稿共73页3.1 变量的概念n程序运行过程中其值可以改变的量,称为变量
12、程序运行过程中其值可以改变的量,称为变量。系统为程序中的每一个变量开辟一个存储单元,如:main()int a;a=2;printf(a=%dn,a);a=4;printf(a=%dn,a);程序运行结果?程序运行结果?3 a变量名变量名变量值变量值存储单元存储单元图示:图示:20第20页,本讲稿共73页3.2 变量名 变量有两个要素变量有两个要素:n1 1)变量名)变量名:每个变量都必须有一个名字,即变每个变量都必须有一个名字,即变量名。量名。变量名由字母、数字和下划线组成,且第变量名由字母、数字和下划线组成,且第一个字符必须是字母或下划线。一个字符必须是字母或下划线。如果是字母通常如果是字
13、母通常使用小写字母,不使用大写字母。使用小写字母,不使用大写字母。n如如:name:name,nono,x x,k k,i i,j j,stu_namestu_name等。等。n变量名中不能含有变量名中不能含有运算符运算符、括号括号等等。命名遵循顾。命名遵循顾名思义原则,且不宜过长。名思义原则,且不宜过长。C C区分大小写字母。区分大小写字母。21第21页,本讲稿共73页3.2 变量名 变量有两个要素变量有两个要素:n2 2)变量值)变量值:每个变量都有特定的值,且可以改每个变量都有特定的值,且可以改变。变。在程序中,通过变量名来引用变量的值在程序中,通过变量名来引用变量的值。变量以变量名为标
14、志变量以变量名为标志,在内存中占据一定的存,在内存中占据一定的存储单元,在该存储单元中存放变量的值。每个变储单元,在该存储单元中存放变量的值。每个变量占用若干字节,具体与计算机系统有关。量占用若干字节,具体与计算机系统有关。系统以变量名来区别不同变量系统以变量名来区别不同变量,可以引用变量,可以引用变量名代表其存储单元,为其赋值;也可以引用变量名代表其存储单元,为其赋值;也可以引用变量名代表其值,使用该变量的值。名代表其值,使用该变量的值。如何区分?如何区分?22第22页,本讲稿共73页3.2 变量名 变量的定义变量的定义n所有的变量必须在赋值使用之前定义。所有的变量必须在赋值使用之前定义。定
15、义变定义变量的一般形式是量的一般形式是:n type type variable_list;variable_list;(变量定义语句变量定义语句)注注:ntypetype为为C C语言中有效类型语言中有效类型;nvariable_listvariable_list为变量列表,多个变量之间用为变量列表,多个变量之间用,隔开。隔开。n如如:int i,j,k;float a;:int i,j,k;float a;23第23页,本讲稿共73页3.2 变量名n变量名变量名“先定义,后使用先定义,后使用”的目的是:的目的是:1.凡凡未被事先定义的,不能作为变量名未被事先定义的,不能作为变量名,这可以,
16、这可以保证变量名使用的正确。保证变量名使用的正确。2.每一个变量被指定为一确定类型,每一个变量被指定为一确定类型,在编译时就在编译时就能为其分配相应的存储单元。能为其分配相应的存储单元。3.指定每一个变量属于一个类型,便于在编译时,指定每一个变量属于一个类型,便于在编译时,据此据此检查该变量所进行的运算是否合法。检查该变量所进行的运算是否合法。24第24页,本讲稿共73页3.3 整型变量1、分类、分类nsigned int 整型整型nsigned short int 短整型短整型nsigned long int 长整型长整型nunsigned int 无符号整型无符号整型nunsigned s
17、hort int 无符号短整型无符号短整型nunsigned long int 无符号长整型无符号长整型25第25页,本讲稿共73页2、各类型数据长度、取值范围、各类型数据长度、取值范围 n数据类型数据类型 所占位数所占位数 取值范围取值范围nint 16 -3276832767 nshort 16 -3276832767nlong 32 -21亿亿21亿亿nunsigned int 16 065535nunsigned short 16 065535nunsigned long 32 042亿亿 26第26页,本讲稿共73页3、整型变量的定义、整型变量的定义n所有的变量需先定义类型所有的变量
18、需先定义类型int a,b,c;/*指定指定a,b,c为整型变量为整型变量*/unsigned count;/*指定指定count为无符号整型变量为无符号整型变量*/long s;/*指定指定s为长整型变量为长整型变量*/n有些变量可以预先设置初值:有些变量可以预先设置初值:int a=0,b,c;/*指定指定a,b,c为整型变量,为整型变量,a a的初值为的初值为0 0*/int a=0,b=0,c=0;/*指定指定a,b,c为整型变量,为整型变量,a a、b b、c c的初值为的初值为0 0*/27第27页,本讲稿共73页4、整型数据在内存中的存放形式、整型数据在内存中的存放形式n定义一整
19、型变量定义一整型变量i int i=10;/*指定指定i为整型变量为整型变量,并赋以整数并赋以整数10*/每一个整型变量在内存中占每一个整型变量在内存中占2个字节,数值是以补码表示的个字节,数值是以补码表示的n数据存放示意图数据存放示意图 n数据在数据在内存中内存中的存放示意图的存放示意图 i 10 i0 0 0 0 0 0 0 00 0 0 0 1 0 1 028第28页,本讲稿共73页4、整型数据在内存中的存放形式、整型数据在内存中的存放形式n定义一整型变量定义一整型变量i int i=-10;/*指定指定i为整型变量为整型变量,并赋以整数并赋以整数-10*/n数据存放示意图数据存放示意图
20、 n数据在内存中的存放示意图数据在内存中的存放示意图 将该数的绝对值的二进制形式,按位取反再加将该数的绝对值的二进制形式,按位取反再加1 i -1010 的原码0 0 0 0 0 0 0 00 0 0 0 1 0 1 0取反得-10的反码1 1 1 1 1 1 1 11 1 1 1 0 1 0 1再加1,得-10的补码1 1 1 1 1 1 1 11 1 1 1 0 1 1 029第29页,本讲稿共73页5、举几个简单例子、举几个简单例子例例4:#include“stdio.h”void main()int a,b,c,d;unsigned int u;a=12;b=-24;u=10;c=a+
21、u;d=b+u;printf(“a+u=%d,b+u=%dn”,c,d);运行结果输出运行结果输出a+u=22,b+u=-14 30第30页,本讲稿共73页5、举几个简单例子、举几个简单例子例例5:整型数据的溢出。整型数据的溢出。#include“stdio.h”void main()int a,b;a=32767;b=a+1;printf(“%d,%dn”,a,b);运行结果输出运行结果输出32767,-32768 若把若把70000赋值就发生溢出。赋值就发生溢出。31第31页,本讲稿共73页6、练习题、练习题 请编写程序请编写程序szys.c,输入两个整数,输入两个整数n和和m,计,计算以
22、下表达式的值算以下表达式的值:n sum=n+mn diff=n-mn prod=n*mn quot=n/m 上机时调试完成。上机时调试完成。32第32页,本讲稿共73页3.4 实型变量1、分类、分类 所占位数所占位数 取值范围取值范围nfloat 单精度 32 -3.4*10-38 3.4*1038 ndouble 双精度 64 -1.7*10-308 1.7*10308 nlong double长双精度 128 -1.2*10-4932 1.2*1049322、变量的定义、变量的定义float x,y;/*指定x,y为单精度实型变量*/double z;/*指定z为双精度实型变量*/33第
23、33页,本讲稿共73页3.4 实型变量3、说明举例、说明举例 在在PC机中,机中,float占内存占内存4个字节,个字节,double占占8个字个字节。节。float的有效数字的有效数字6-7位,位,double 的有效数字的有效数字15-16位,位,long double的有效数字的有效数字18-19位。位。例例6:实型数据的舍入误差。实型数据的舍入误差。#include“stdio.h”void main()float a,b;a=123456.789e5;b=a+20;printf(“%fn”,b);运行结果输出运行结果输出 12345678848.000000 仅前仅前8位是正确。位是
24、正确。34第34页,本讲稿共73页3.4 实型变量3、说明举例、说明举例 在在PC机中,机中,float占内存占内存4个字节,个字节,double占占8个字节。个字节。float的有效数字的有效数字6-7位,位,double 的有的有效数字效数字15-16位,位,long double的有效数字的有效数字18-19位。位。例例7:实型数据的舍入误差。实型数据的舍入误差。void main()float s=2.5555;(s=2.5558)s=s*s;/四舍五入有效数字四舍五入有效数字 printf(“s=%f”,s);请注意运行结果请注意运行结果。35第35页,本讲稿共73页3.4 实型变量
25、练习题:练习题:请输入请输入x,计算以下表达式的结果。,计算以下表达式的结果。nfun1(x)=2xx+1.212x-1.5436第36页,本讲稿共73页3.5 字符变量1、变量的定义、变量的定义char c1,c2;/*指定指定c1,c2c1,c2为字符型变量为字符型变量*/2、字符型数据的存储、字符型数据的存储一个字符变量在内存中占一个字节,并以一个字符变量在内存中占一个字节,并以ASCII码存码存储储,存储形式与整型一样,可以和整数进行运算。,存储形式与整型一样,可以和整数进行运算。例例8:main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 数据类型运算符与表达式优秀课件 数据类型 运算 表达式 优秀 课件
限制150内