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