第4章(常量、变量及表达式).ppt
《第4章(常量、变量及表达式).ppt》由会员分享,可在线阅读,更多相关《第4章(常量、变量及表达式).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 数据类型,整型 实型(浮点型) 字符型(字符串) 枚举型,单精度型 双精度型,数组类型 结构体类型 共同体类型,基本类型,构造类型,指针类型,数组 类型相同的数据集合,常量形式 变量形式,结构体 类型不同的数据集合,按进制分类:
3、 十进制。例:10 , 35, -1289。 八进制,以 0 开头。 例:010(o是字母)。对应十进制 8 十六进制,以 0x 开头。例:0x10。 对应十进制 16 按字节长度分类: 短型 2个字节。 长型 4个字节。长型常量后加字母L。 例:15L , 0x10, 010。,程序运行中数值不改变的量,十进制数形式,由数字和小数点组成。 例:1. 3415926 指数形式, 由尾数、字母e或E和指数组成。 例:1E3 表示: 1乘10的三次方(1103)。,4.3 常量,返回,1、整型数,2、实型(浮点数)数,字符常量,3、字符型数据,字符串常量,转义字符,即普通字符用单引号括起来。在C语
4、言中,字符型数据是用ASCII码来表示(储存)的。 例:A (65),a (97)。 在C语言中,字符型数据与整型数据可通用:10+R,即一串普通字符用双引号括起来。 例:“ Turbo C ”,“ China ”。,以“ ”开头的字符表示特定的含义。 此时字符转变为另外的意义。 例: n 表示回车换行 , r 表示回车。,(1)数,(2)字符常量,(3)字符串常量,A和 “A”不相同!,小 结,注意,用“”包围的一个或多个字符 ,如 :“ hello”,单一字符,用 包围, 如:A,8,类 型 进 制 表 示 范 围 整型数 八、 十、十六 015, 15, 0x15 -215 215-1
5、长整型数 八、 十、十六 015L, 15L, 0x15L -231 231-1 实型数 十 123.5, 1.235e+2 10-381038,(4)特殊的字符常量(转义字符), 后跟一个字符或一个数字,表示控制代码和用于功能定义的字符 如:,字符 功能 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, M.D.Ritchie。 这里所表示的标识符都是错误的。,变量:,变量名:,标识符:,标识符规
7、定:,例:sun,day,month,student_name, c1string_2。,用来标明变量名、函数名、数组名、结构体名、文件名、类型名等的符识。名字。英文!,变量的名字。用标识符标识变量名。,程序运行中其值改变的量。,标识符由字母(区分大小写)、下划线、数字三种字符组成,且第一个字符必须是字母或者下划线。 书P5,表1-2,C语言的31个保留字。,1、整型变量:表示整型数据(整数)的变量。,2、实型变量:,2.3.1 变量的数据类型,1)按照存储空间分三种(限制了表达范围): 基本型: int 变量名 2个字节。 短整型: short int 变量名 2个字节。 长整型: long
8、 int 变量名 4个字节。 2)符号(正负号) : int变量名 无符号型: unsigned short int 变量名 long int 变量名,表示实型数据(实数)的变量。 单精度型:float 变量名 4个字节。 双精度型:double 变量名 8个字节。,3、字符型变量:,4、字符串数组:,表示字符型数据的变量。 char 变量名 1个字节 。,表示字符串型数据的数组。 char 变量名 下标 字符串数组:是一个地址量。字符串数组表示字符串的第一个字符的地址。,2.3.1 变量的数据类型,5、表 变量的数据类型、字节长度、位数、数据范围,1、变量的定义(声明),例: int a;
9、float b, c, d; char c1,string;,变量定义的格式:,存储类型 数据类型标识符 变量1,变量2, 变量n;,2.3.2 变量的使用,在C语言中,所使用的每一个变量在引用前都须先定义,否则在程序编译时会发生错误。变量的定义就是按一定的方式为其使用的变量指定数据类型(标识符 )、变量名(标识符)。在程序编译时,为其分配存储空间。,变量的定义意义在于,计算机在编译时,对每一个变量分配对应和固定的存储单元(地址),为其程序的使用创造必要条件 。,int i, j number ; float x, y ; char name ; static double u, v ; in
10、t 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、变量的初始化,给变量赋初值的过程叫变量的初始化。 C 语言允许在定义变量的同时对变量赋值。,注意:没有赋初值的变量,并不意味着该变量中没有数值。此时,对于静态型(static)变量中的值是0,其它存储类型变量一个随机数。 变量初始化的意义:程序编译完成后,变量已被赋值。,(1) 初始化:定义的同时赋值 int i=5, j=6;
11、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 变量数据的存储与读取,变量所代表的数据是存储在(计算机)内存中。在使用中往往希望数据的存储应灵活、多样,以便于编程。,变量数据的存储形式有: 静态存储 static 静态型 extern 外部型 动态存储 auto 自动型 register 寄存器型 这部分的内
12、容在第五章函数中详细介绍。,1、变量数据的存储,变量 内存,a,b,变量 地址 内 存,a 2000,b 2002,直接读取:,间接读取:,2、变量数据的读取,变量名实际代表一个确定的存储单元。程序编译完成后,变量就与数据存储单元一一对应。对变量读取操作,就是到对应的存储单元中读取数据。,(指针)变量中存放的是数据内存的地址,在这种情况下,首先拿存放数据的地址,然后,再到对应的地址中读取数据。,2.3.4 其它变量,指针变量(第六章):,数组变量(第四章) :,结构体变量(第八章) :,联合体变量(第八章) :,类型标识符 *变量名;,类型标识符 数组名下标;,struct 结构体名 结构体成
13、员表 结构体变量;,union 联合体名 联合体成员表列 ;,变量的存储类型:, 存储类型 数据类型 变量名,auto 自动型,使用最多,可缺省不写。 static 静态型。 register寄存器型, 少用。 extern 外部型。,变量说明格式 :,英文字母、数字、下划线; 首字符必须是字母; 中间不能有空格,一般用小写; 不要和关键字重名。,变量名:,小 结,2.4 运算和运算符,2.4.1 运算 2.4.2 运算符,返回,2.4 运算和运算符,2.4.1 运算,运算,运算符,运算量,运算表达式,对数据进行处理的过程,表示各种数据处理的符识,被处理的数据,运算符 + 运算量,(1) 算术
14、运算符 (2) 关系运算符 (3) 逻辑运算符 (4) 赋值运算符 (5) 自反赋值运算符 (6) 自增自减运算符 (7) 逗号运算符 (8) 条件运算符 (9) 指针运算符 (10) 地址运算符 (11) 结构体成员运算符 (12) 指向结构体成员运算符 (13) 下标运算符 (14) 圆括号运算符 (15) 大括号运算符 (16) 长度运算符 (17) 数据类型转换运算符 (18)位运算运算符,2.4.2 运算符,+、-、*、/、% 、=、= =、!= &、|、! = +=、-=、*=、/=、%= + +、- - , ?: * & . - ( ) sizeof(类型标识符) (类型标识符)
15、表达式 &、|、,返回,(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,关系运算符:对两个操作量进行大小比较的运算符,名 称
16、运算符 小于 大于等于 = 等于 = = 不等于 ! =,注意:C 语言中小于等于 、大于等于、等于、不等于运算符的表示与数学中的表示( )不同。,(3) 逻辑运算符,1. 逻辑运算把一切“非 0” 的数作为真(用1表示),把“0” 数作为假(用0表示)。 逻辑运算是“非 0”和“0”两类数据或真和假两类种状态的运算。,2. 名 称 运算符 非 ! 单目运算符 与 & 双目运算符 或 | 双目运算符,! 非,| 或,3. 真值表决定逻辑运算结果!,& 与,有假则假,全真则真。,有真则真,全假则假。,(4) 赋值运算符,(5) 自反赋值运算符,名 称 运算符 赋 值 = 格式 : 变量 = 表达
17、式 ; 先计算等号右边的表达式,然后将其值赋给等号左边的变量。,名 称 运算符 加赋值 += 减赋值 - = 乘赋值 *= 除赋值 / = 模赋值 % =,例:,a + =b a=a + b a -=b a=a b a*=b a=a*b a/=b a=a/b a%=b a=a%b,例:,x = x+10 ; y = x*x+x ;,C语言赋值运算符与数学中的等号其含义有着本质的不同。赋值表示操作,有结果。,(6) 自增自减运算符:让变量自己加1或者减1,名 称 运算符 说 明 例 增 1(前缀) + + 先加1,后使用。 + i 增 1(后缀) + + 先使用,后加1。 i + 减 1(前缀)
18、 - - 先减1,后使用。 - - i 减 1(后缀) - - 先使用,后减1。 i - -,例:,int j; i=3; j=+i; 结果 :j的值为4。 i的值为4。,而,int j; i=3; j=i+; 结果:变量j的值为3, 变量i将3赋给j后自加1变为4。,自增自减运算仅限用于变量。 自增自减运算不能用于常量或表达式。 单目运算符,结合性为自右向左。,(8) 条件运算符,(9) 指针运算符,(10) 地址运算符,(11) 结构体成员运算符,(12) 指向结构体成员运算符,(7) 逗号运算符,,,?:,*,&,.,-,(13) 下标运算符,名 称 运算符 下标 用于数组运算。 详细内
19、容在第四章数组中介绍。,(14) 圆括号运算符,名 称 运算符 圆括号 ( ) 例:(3+5)*88-21/7,在函数的定义、引用中也应用圆括号。 详细内容在第五章函数中介绍。,(15) 大括号运算符,(16) 长度运算符 ( 函数 ),名 称 运算符 大括号 用于含括函数的函数体、分程序的程序体。,名 称 运算符 长度 sizeof,格式:,求数据类型或表达式结果值的字节长度。,例: sizeof (int ); 结果:等于2。,sizeof (数据类型标识符 或表达式 );,(18) 位运算运算符,(17) 数据类型转换运算符,& 对应的位均为1,该位结果才为1 。测试某位是否为0 | 对
20、应的位均为0,该位结果才为0 。设置某位为1 对应的位不同为1,相同为0 。使各位翻转。 逢1变0,逢0变1 ,(数据类型标识符)表达式,按位与 按位或 按位异或 取反 左移 右移,名 称 运算符,数据类型转换格式:,相当于乘2的n次方,左边移出的舍去,右边补0 : 例: 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
21、&(b=20)a x5|(b=20)a x=5|(b=20)a x=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?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 逗号表
22、达式 2.5.7 混合表达式,返回,2.5.1 算术表达式,由算术运算符连接常量、变量或表达式构成。 结果是:整数、实数。 优先级:先乘除、后加减。 结合性(双目运算符):自左向右。,运算表达式 用运算符将运算对象连接的算式。,例:2*a+b/3,4.0/3*3.14159*R*R*R 1/6*3.14159*D*D 球体积、表面积,求算术表达式的值:1+ 5 * 3 / 4,结果:4,2.5.2 关系表达式,1. 由关系运算符连接常量、变量或表达式构成。 2. 关系表达式的结果:逻辑型 关系不满足,结果为:假(用0表示)。 如:10 3. 优先级: 1) = = 优先级同,= 和!=优先级同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常量 变量 表达式
链接地址:https://www.31doc.com/p-2255813.html