常量、变量及表达式.ppt
《常量、变量及表达式.ppt》由会员分享,可在线阅读,更多相关《常量、变量及表达式.ppt(81页珍藏版)》请在三一办公上搜索。
1、C语言程序设计,数据类型、运算符、表达式及简单的输入输出函数,第四章,第四章数据类型、运算符、表达式及简单的输入输出函数,数据类型常量变量运算和运算符运算表达式简单的输入输出函数,字符集:编程可使用的字符,C语言程序的基本标识符,英文字母 a z,A Z;阿拉伯数字 0 9;特殊符号(!%*:;?/以及空格、换行等),12cd,$123,#11,M.D.Ritchie。这里所表示的标识符都是错误的。,标识符:,标识符规定:,例:sun,day,month,student_name,c1string_2。,1.标识符由字母、下划线、数字三种字符组成,且第一个字符必须是字母或者下划线。+*.汉字等
2、均不能出现。2.字母区分大小写;3.标识符不能是关键字。,用来标明变量名、函数名、数组名、结构体名、文件名、类型名等的符识。标识符就是有效字符的序列,一个名字。用英文!,保留字(关键字)(见书P43 表4-1 C语言的保留字)预定义标识符(库函数名,如:stdio;预编译命令,如:include)用户定义标识符,4.2 数据类型,整型实型(浮点型)字符型(字符串)枚举型,单精度型双精度型,数组类型结构体类型共同体类型,基本类型,构造类型,指针类型,数组类型相同的数据集合,常量形式变量形式,结构体类型不同的数据集合,按进制分类:十进制。例:10,35,-1289。八进制,以 0 开头。例:010
3、(o是字母)。对应十进制 8 十六进制,以 0 x 开头。例:0 x10。对应十进制 16 按字节长度分类:短型 2个字节。长型 4个字节。长型常量后加字母L。例:15L,0 x10,010。,程序运行中数值不改变的量,十进制数形式,由数字和小数点组成。例:1.3415926 指数形式,由尾数、字母e或E和指数组成。例:1E3 表示:1乘10的三次方(1103)。,4.3 常量,返回,1、整型数,2、实型(浮点数)数,字符常量,3、字符型数据,字符串常量,转义字符,即普通字符用单引号括起来。在C语言中,字符型数据是用ASCII码来表示(储存)的。例:A(65),a(97)。在C语言中,字符型数
4、据与整型数据可通用:10+R,即一串普通字符用双引号括起来。例:“Turbo C”,“China”。,以“”开头的字符表示特定的含义。此时字符转变为另外的意义。例:n 表示回车换行,r 表示回车。,(1)数,(2)字符常量,(3)字符串常量,A和“A”不相同!,小 结,注意,用“”包围的一个或多个字符,如:“hello”,单一字符,用 包围,如:A,8,类 型 进 制 表 示 范 围整型数 八、十、十六 015,15,0 x15-215 215-1长整型数 八、十、十六 015L,15L,0 x15L-231 231-1实型数 十 123.5,1.235e+2 10-381038,(4)特殊的
5、字符常量(转义字符),后跟一个字符或一个数字,表示控制代码和用于功能定义的字符 如:,字符 功能 n 回车换行 r 回车 t 水平制表 b 退格 v 垂直制表 f 换页 a 响铃警报“双引号字符 101 A x41 A,符号常量,对常量命名,即用符号代替常量;先定义后使用;格式:#define 符号常量 常量 例:#define PI 3.1415926宏定义,不用分号;好处:1.增强可读性 2.可维护性,避免多处修改(如:求周长,体积)。,常量与变量,常量的本质不占据任何存储空间属于指令的一部分,编译后不再更改变量:程序运行时可以随时改变定义变量时,给变量分配存储单元(如:一个字节),如宿舍
6、号码对应一个房间,变量名对应一段存储空间。通过变量对内存修改、存取;对变量的存取就是对存储单元的存取。要先定义变量的类型,决定占用的内存空间,才能存取。,2.3.1 变量的数据类型 2.3.2 变量的使用 2.3.3 变量数据的存储与读取 2.3.4 其它变量,2.3 变量,返回,12cd,$123,#11,。这里所表示的标识符都是错误的。,变量:,变量名:,标识符:,标识符规定:,例:sun,day,month,student_name,c1string_2。,用来标明变量名、函数名、数组名、结构体名、文件名、类型名等的符识。名字。英文!,变量的名字。用标识符标识变量名。,程序运行中其值改变
7、的量。,标识符由字母(区分大小写)、下划线、数字三种字符组成,且第一个字符必须是字母或者下划线。书P5,表1-2,C语言的31个保留字。,1、整型变量:表示整型数据(整数)的变量。,2、实型变量:,2.3.1 变量的数据类型,1)按照存储空间分三种(限制了表达范围):基本型:int 变量名 2个字节。短整型:short int 变量名 2个字节。长整型:long int 变量名 4个字节。2)符号(正负号):int变量名 无符号型:unsigned short int 变量名 long int 变量名,表示实型数据(实数)的变量。单精度型:float 变量名 4个字节。双精度型:double
8、变量名 8个字节。,3、字符型变量:,4、字符串数组:,表示字符型数据的变量。char 变量名 1个字节。,表示字符串型数据的数组。char 变量名 下标 字符串数组:是一个地址量。字符串数组表示字符串的第一个字符的地址。,2.3.1 变量的数据类型,5、表 变量的数据类型、字节长度、位数、数据范围,1、变量的定义(声明),例:int a;float b,c,d;char c1,string;,变量定义的格式:,存储类型 数据类型标识符 变量1,变量2,变量n;,2.3.2 变量的使用,在C语言中,所使用的每一个变量在引用前都须先定义,否则在程序编译时会发生错误。变量的定义就是按一定的方式为其
9、使用的变量指定数据类型(标识符)、变量名(标识符)。在程序编译时,为其分配存储空间。,变量的定义意义在于,计算机在编译时,对每一个变量分配对应和固定的存储单元(地址),为其程序的使用创造必要条件。,int i,j number;float x,y;char name;static double u,v;int a;int a1;extern float a2;extern char str;,变量定义举例:,例:int a=3;int b=0,c=0;float f=5.8;char c1=e;char string 10=“Beijing”;,2、变量的初始化,给变量赋初值的过程叫变量的初始
10、化。C 语言允许在定义变量的同时对变量赋值。,注意:没有赋初值的变量,并不意味着该变量中没有数值。此时,对于静态型(static)变量中的值是0,其它存储类型变量一个随机数。变量初始化的意义:程序编译完成后,变量已被赋值。,(1)初始化:定义的同时赋值 int i=5,j=6;float x=10.1;char name=A;,(2)先定义,后赋值。int i;float x=10.1;char name;i=5;x=20.5;name=A;i=d;,变量的赋值的方法:,在程序中使用变量,称为变量的引用。如进行数值计算、数据处理等。使用变量时,先定义,后引用。,3、变量的引用,2.3.3 变量
11、数据的存储与读取,变量所代表的数据是存储在(计算机)内存中。在使用中往往希望数据的存储应灵活、多样,以便于编程。,变量数据的存储形式有:静态存储 static 静态型 extern 外部型 动态存储 auto 自动型 register 寄存器型这部分的内容在第五章函数中详细介绍。,1、变量数据的存储,变量 内存,a,b,变量 地址 内 存,a 2000,b 2002,直接读取:,间接读取:,2、变量数据的读取,变量名实际代表一个确定的存储单元。程序编译完成后,变量就与数据存储单元一一对应。对变量读取操作,就是到对应的存储单元中读取数据。,(指针)变量中存放的是数据内存的地址,在这种情况下,首先
12、拿存放数据的地址,然后,再到对应的地址中读取数据。,2.3.4 其它变量,指针变量(第六章):,数组变量(第四章):,结构体变量(第八章):,联合体变量(第八章):,类型标识符*变量名;,类型标识符 数组名下标;,struct 结构体名 结构体成员表 结构体变量;,union 联合体名 联合体成员表列;,变量的存储类型:,存储类型 数据类型 变量名,auto 自动型,使用最多,可缺省不写。static 静态型。register寄存器型,少用。extern 外部型。,变量说明格式:,英文字母、数字、下划线;首字符必须是字母;中间不能有空格,一般用小写;不要和关键字重名。,变量名:,小 结,2.4
13、 运算和运算符,2.4.1 运算 2.4.2 运算符,返回,2.4 运算和运算符,2.4.1 运算,运算,运算符,运算量,运算表达式,对数据进行处理的过程,表示各种数据处理的符识,被处理的数据,运算符+运算量,(1)算术运算符(2)关系运算符(3)逻辑运算符(4)赋值运算符(5)自反赋值运算符(6)自增自减运算符(7)逗号运算符(8)条件运算符(9)指针运算符(10)地址运算符(11)结构体成员运算符(12)指向结构体成员运算符(13)下标运算符(14)圆括号运算符(15)大括号运算符(16)长度运算符(17)数据类型转换运算符(18)位运算运算符,2.4.2 运算符,+、-、*、/、%、=、
14、=、!=&、|、!=+=、-=、*=、/=、%=+、-,?:*&.-()sizeof(类型标识符)(类型标识符)表达式&、|、,返回,(1)算术运算符,名称 运算符 运算规则 正+取原值 负-取负值 加+加法+减-减法-乘*乘法*除/除法/对于整数,则为整除,余数舍去;实数则不然。例:1/3*3=0 1.0/3.0*3.0=1.0 模%整除取余(只适用于整数)分子分母,结果=余数。例:12%5 分子分母,结果=分子。例:2%5,注意:C 语言中乘法、除法运算符的表示与数学中的表示不同。(乘法不能写成mn,m n,mn;没有乘方运算符。除法不能写成m n),注:避免除数为0,关系运算符:对两个操
15、作量进行大小比较的运算符,名 称 运算符 小于 大于等于=等于=不等于!=,注意:C 语言中小于等于、大于等于、等于、不等于运算符的表示与数学中的表示()不同。,(3)逻辑运算符,1.逻辑运算把一切“非 0”的数作为真(用1表示),把“0”数作为假(用0表示)。逻辑运算是“非 0”和“0”两类数据或真和假两类种状态的运算。,2.名 称 运算符 非!单目运算符 与&双目运算符 或|双目运算符,!非,|或,3.真值表决定逻辑运算结果!,&与,有假则假,全真则真。,有真则真,全假则假。,(4)赋值运算符,(5)自反赋值运算符,名 称 运算符 赋 值=格式:变量=表达式;先计算等号右边的表达式,然后将
16、其值赋给等号左边的变量。,名 称 运算符 加赋值+=减赋值-=乘赋值*=除赋值/=模赋值%=,例:,a+=b a=a+b a-=b a=a ba*=b a=a*ba/=b a=a/ba%=b a=a%b,例:,x=x+10;y=x*x+x;,C语言赋值运算符与数学中的等号其含义有着本质的不同。赋值表示操作,有结果。,(6)自增自减运算符:让变量自己加1或者减1,名 称 运算符 说 明 例增 1(前缀)+先加1,后使用。+i 增 1(后缀)+先使用,后加1。i+减 1(前缀)-先减1,后使用。-i减 1(后缀)-先使用,后减1。i-,例:,int j;i=3;j=+i;结果:j的值为4。i的值为
17、4。,而,int j;i=3;j=i+;结果:变量j的值为3,变量i将3赋给j后自加1变为4。,自增自减运算仅限用于变量。自增自减运算不能用于常量或表达式。单目运算符,结合性为自右向左。,(8)条件运算符,(9)指针运算符,(10)地址运算符,(11)结构体成员运算符,(12)指向结构体成员运算符,(7)逗号运算符,,,?:,*,&,.,-,(13)下标运算符,名 称 运算符下标 用于数组运算。详细内容在第四章数组中介绍。,(14)圆括号运算符,名 称 运算符圆括号()例:(3+5)*88-21/7,在函数的定义、引用中也应用圆括号。详细内容在第五章函数中介绍。,(15)大括号运算符,(16)
18、长度运算符(函数),名 称 运算符大括号 用于含括函数的函数体、分程序的程序体。,名 称 运算符长度 sizeof,格式:,求数据类型或表达式结果值的字节长度。,例:sizeof(int);结果:等于2。,sizeof(数据类型标识符 或表达式);,(18)位运算运算符,(17)数据类型转换运算符,&对应的位均为1,该位结果才为1。测试某位是否为0|对应的位均为0,该位结果才为0。设置某位为1 对应的位不同为1,相同为0。使各位翻转。逢1变0,逢0变1,(数据类型标识符)表达式,按位与按位或按位异或取反左移右移,名 称 运算符,数据类型转换格式:,相当于乘2的n次方,左边移出的舍去,右边补0:
19、例:x=1,则x4之后,x=10000,即十进制16;,相当于除以2的n次方,右边移出的舍去,左边补0,运算符,运算符优先级 结合性(见附录B),返回,例(1)注意表达式的正确书写:写出 5x10 的c语言表达式:,5x10 错!5x&x10,(2)若已知 x=y=5,a=b=10,下列各式执行后b的值为多少?x5&(b=20)ax5|(b=20)ax=5|(b=20)ax=10&(b=20)a,0 b=10 1 b=20,1 b=10,1 b=20,(3)若已知 a=5,b=3,c=2,d=6,则ab?a:cd?c:d 的值为多少?,条件运算符的结合性是自右至左,上式相当于ab?a:(cd?
20、c:d),5,(4)3x a+b 的c语言表达式:3*x/(a+b),与运算:第一个为0,则第二个不再计算,或运算:第一个为非0,则第二个不再计算,2.5 运算表达式,2.5.1 算术表达式 2.5.2 关系表达式 2.5.3 逻辑表达式 2.5.4 条件表达式 2.5.5 赋值表达式 2.5.6 逗号表达式 2.5.7 混合表达式,返回,2.5.1 算术表达式,由算术运算符连接常量、变量或表达式构成。结果是:整数、实数。优先级:先乘除、后加减。结合性(双目运算符):自左向右。,运算表达式 用运算符将运算对象连接的算式。,例:2*a+b/3,4.0/3*3.14159*R*R*R1/6*3.1
21、4159*D*D 球体积、表面积,求算术表达式的值:1+5*3/4,结果:4,2.5.2 关系表达式,1.由关系运算符连接常量、变量或表达式构成。2.关系表达式的结果:逻辑型 关系不满足,结果为:假(用0表示)。如:103.优先级:1)=优先级同,=和!=优先级同;而前者的优先级又高于后者。2)都比算术运算符优先级低。4.结合性(双目运算符):自左向右,5.例:1)a b 若:a=300,b=301,则关系表达式结果为:0 2)5(45)结果为:1 3)若x=10,y=5,则关系表达式的值 x=y+5 结果为:1(x=3)5+y 结果为:1*x=yy+5 结果为:x=1(运算符的优先级+=)5
22、)除了整型、实型以外,字符型(ASCII码)也可参与计算:a b 结果为:1,2.5.3 逻辑表达式,1.由逻辑运算符连接常量、变量或表达式构成。2.逻辑表达式的结果:逻辑成立结果为真,即等于1。5&1(结果为1)逻辑不成立结果为假,即等于0。4&0(结果为0)3.逻辑表达式两边的表达式,先理解成逻辑值(即表达式值为0,则为假0;表达式值不为0,则为真1),再做逻辑运算。4.优先级:!高于&,&高于|。&、|都比关系运算符低,!比算数运算符高。5.结合性:自左向右,例:a1&b 若:a=1,b=5,结果为0。例:a+6|b0 若:a=1,b=5,结果为1。,6.特殊之处:&有假则假。例如:a&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常量 变量 表达式
链接地址:https://www.31ppt.com/p-6570966.html