C语言 第2章 类型、运算符与表达式(2.4~2.7).ppt
《C语言 第2章 类型、运算符与表达式(2.4~2.7).ppt》由会员分享,可在线阅读,更多相关《C语言 第2章 类型、运算符与表达式(2.4~2.7).ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章数据类型、运算符和表达式数据类型、运算符和表达式主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 22.4.1 2.4.1 变量和内存的概念变量和内存的概念 变量:变量:u程序运行过程中其值可以改变的量。程序运行过程中其值可以改变的量。u系统为程序中的每一个变量开辟存储单元系统为程序中的每一个变量开辟存储单元。变量名:变量
2、名:u字母开头,后跟字母、数字和下划线组成。字母开头,后跟字母、数字和下划线组成。uC C语言中的关键字不能作为变量名。语言中的关键字不能作为变量名。32.4.1 2.4.1 变量和内存的概念变量和内存的概念#include#define PI 3.1415926 void main()float r,s,ar;scanf(“%f”,&r);s=2*PI*r;ar=PI*r*r;printf(s=%7.2f,s);printf(ar=%7.2f“,ar);说明:说明:变量必须先定义后使用;变量必须先定义后使用;变量中存储的只能是一个变量中存储的只能是一个数据,往变量中存放数据数据,往变量中存放
3、数据的操作称为赋值。的操作称为赋值。变量改变的是其值,而不变量改变的是其值,而不是变量名。是变量名。42.4.2 2.4.2 变量赋初值变量赋初值 变量定义变量定义int a,b,c;float w;double z;char c1,c2;类型标识符类型标识符 变量名变量名1=1=常量常量11,变量名变量名2=2=常量常量22,;/*/*指定指定a,b,ca,b,c为整型变量为整型变量*/*/*指定指定w w为单精度实型变量为单精度实型变量*/*/*指定指定z z为双精度实型变量为双精度实型变量*/*/*指定指定c1,c2c1,c2为字符型变量为字符型变量*/52.4.2 2.4.2 变量定义
4、和赋初值变量定义和赋初值 变量赋初值变量赋初值int i=0;int a=5,b=5,c=5;float ep=0.001;char c=a;/*/*指定指定i i为整型变量,初值为为整型变量,初值为0*/0*/*/*指定指定a,b,ca,b,c的初值为的初值为5*/5*/*/*指定指定epep的初值为的初值为0.001*/0.001*/*/*指定指定c c的初值为的初值为a*/a*/6注意:注意:变量的变量的“名名”和变量的和变量的“值值”不同,变量的不同,变量的“名名”是该变量所代表的存储单元的标志,而变量的是该变量所代表的存储单元的标志,而变量的“值值”是指存储单元中的内容。是指存储单元
5、中的内容。如:如:intint a;a;a=5;a=5;a=10;a=10;?5107主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 互换互换82.6 2.6 运算符和表达式运算符和表达式C运运算算符符算术运算符:(算术运算符:(+-*/%+-+-*/%+-)关系运算符:(关系运算符:(=!=!=)逻辑运算符:(!逻辑运算符:(!&
6、|&|)位运算符位运算符 :(:(|&|&)赋值运算符:(赋值运算符:(=及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(,)指针运算符:(指针运算符:(*&)求字节数求字节数 :(:(sizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(.-.-)下标运算符:(下标运算符:()其它其它 :(:(()-()-)9学习运算符应注意:学习运算符应注意:u运算符功能运算符功能u与运算量关系与运算量关系l要求运算量个数要求运算量个数l要求运算量类型要求运算量类型u运算符优先级别运算符优先级别u结合方向结合方向u结果的类型
7、结果的类型10计算机实现操作有两种方式:计算机实现操作有两种方式:运算:数学中所规定的各种基本运算,由运算:数学中所规定的各种基本运算,由运算符运算符来来实现。实现。函数:对于复杂的运算,需要编制函数:对于复杂的运算,需要编制子函数子函数来实现。来实现。u标准函数标准函数(库函数库函数);u用户自定义函数;用户自定义函数;11运算符与表达式运算符与表达式1.1.算术运算符和算术表达式算术运算符和算术表达式2.2.赋值运算符和赋值表达式赋值运算符和赋值表达式12+-*%加法运算或正号运算符加法运算或正号运算符加法运算或正号运算符加法运算或正号运算符减法运算或负号运算符减法运算或负号运算符减法运算
8、或负号运算符减法运算或负号运算符乘法运算符乘法运算符乘法运算符乘法运算符除法运算符除法运算符除法运算符除法运算符求余运算符,或称模运算符求余运算符,或称模运算符求余运算符,或称模运算符求余运算符,或称模运算符完成现实世界的算术运算完成现实世界的算术运算完成现实世界的算术运算完成现实世界的算术运算(+(+(+(+、)算术运算符算术运算符13关于求余运算关于求余运算:求余运算求余运算求余运算求余运算A%BA%BA%BA%B表示:求表示:求表示:求表示:求A A A A 除以除以除以除以 B B B B 的余数的余数的余数的余数求余运算求余运算求余运算求余运算要求要求要求要求%两侧都是整型数据两侧都
9、是整型数据两侧都是整型数据两侧都是整型数据。对于除法,如果参加运算的两个数中有一个数为对于除法,如果参加运算的两个数中有一个数为对于除法,如果参加运算的两个数中有一个数为对于除法,如果参加运算的两个数中有一个数为实数,则结果是实数实数,则结果是实数实数,则结果是实数实数,则结果是实数 (实数除法实数除法实数除法实数除法)例:例:例:例:8%5 8%5 8%5 8%5 的运算结果:的运算结果:的运算结果:的运算结果:3 8/5 3 8/5 3 8/5 3 8/5 的运算结果:的运算结果:的运算结果:的运算结果:1 1 1 15.6/2 5.6/2 5.6/2 5.6/2:2.800000 8.4
10、3/52.800000 8.43/52.800000 8.43/52.800000 8.43/5:1.6860001.6860001.6860001.68600014算术表达式:算术表达式:算算算算术术术术表表表表达达达达式式式式:用用用用算算算算术术术术运运运运算算算算符符符符和和和和括括括括号号号号将将将将运运运运算算算算对对对对象象象象连连连连接接接接起起起起来的式子称为算术表达式。来的式子称为算术表达式。来的式子称为算术表达式。来的式子称为算术表达式。运算符有优先级和结合性:运算符有优先级和结合性:计算表达式的值时,按照优先级的高低依次计算;计算表达式的值时,按照优先级的高低依次计算;
11、计算表达式的值时,按照优先级的高低依次计算;计算表达式的值时,按照优先级的高低依次计算;如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。算术运算符的结合性算术运算符的结合性从左到右从左到右15(1)(1)求三个数的算术平均值求三个数的算术平均值求三个数的算术平均值求三个数的算术平均值代数表达式:代数表达式:代数表达式:代数表达式:aveave=算术表达式:算术表达式:算术表达式:算术表达式:aveave=(a+b+c)/3=(a+b+c)/3(2)(2)根据三
12、角形三边计算三角形面积根据三角形三边计算三角形面积根据三角形三边计算三角形面积根据三角形三边计算三角形面积代数表达式:代数表达式:代数表达式:代数表达式:算术表达式:算术表达式:算术表达式:算术表达式:sqrt(ssqrt(s*(s-a)*(*(s-a)*(s-bs-b)*()*(s-cs-c)(3)(3)根据半径计算圆的周长根据半径计算圆的周长根据半径计算圆的周长根据半径计算圆的周长代数表达式:代数表达式:代数表达式:代数表达式:s=2rs=2r算术表达式:算术表达式:算术表达式:算术表达式:s=2*3.14159*rs=2*3.14159*r算算术术表表达达式式16练习:练习:1.1.下列
13、运算符的操作数不能是下列运算符的操作数不能是floatfloat型的运算符是()。型的运算符是()。A.*B.%C.D./A.*B.%C.D./2.2.执行以下程序段,执行以下程序段,c c的值是(的值是()。)。intint a=1,b=2,c;a=1,b=2,c;c=a/b;c=a/b;A.0 B.1/2 C.0.5 D.1 A.0 B.1/2 C.0.5 D.1答案:答案:B、C答案:答案:A17算术运算符的算术运算符的优先级优先级+、-(-(-(-(加减运算符加减运算符加减运算符加减运算符)最低!最低!最低!最低!*、/、%第二级!第二级!第二级!第二级!-(-(-(-(负号运算符负号
14、运算符负号运算符负号运算符)无括号时我最高无括号时我最高无括号时我最高无括号时我最高!(、)()()()(括号括号括号括号)最优先!最优先!最优先!最优先!18自增自增(+)(+)和自减运算和自减运算(-)(-)+运算符的作用:是使变量的值增运算符的作用:是使变量的值增运算符的作用:是使变量的值增运算符的作用:是使变量的值增 1 1 1 1。-运算符的作用:是使变量的值减运算符的作用:是使变量的值减运算符的作用:是使变量的值减运算符的作用:是使变量的值减1 1 1 1。原始值原始值原始值原始值+1+1 +变量变量变量变量原始值原始值原始值原始值-1-1 -变量变量变量变量19自增自增(+)(+
15、)和自减运算和自减运算(-)(-)自增和自减运算只能应用于自增和自减运算只能应用于自增和自减运算只能应用于自增和自减运算只能应用于整型变量和指针型变量。整型变量和指针型变量。整型变量和指针型变量。整型变量和指针型变量。+和和和和 -可以写在变量的左侧或右侧;而且其意可以写在变量的左侧或右侧;而且其意可以写在变量的左侧或右侧;而且其意可以写在变量的左侧或右侧;而且其意义不同。义不同。义不同。义不同。“+变量名变量名变量名变量名”和和和和“-变量名变量名变量名变量名”:先做运算,后取值先做运算,后取值先做运算,后取值先做运算,后取值“变量名变量名变量名变量名 +”和和和和“变量名变量名变量名变量名
16、 -”:先取值,后做运算先取值,后做运算先取值,后做运算先取值,后做运算20自增自增(+)(+)和自减运算和自减运算(-)(-)举例举例N=I+N=I+N=I+N=I+变量变量变量变量NN010变量变量变量变量I I变量变量变量变量NN?变量变量变量变量I IN=+IN=+IN=+IN=+I变量变量变量变量NN0 01010变量变量变量变量I I变量变量变量变量NN?变量变量变量变量I I111110101111111121练习练习 :已知已知 i=7j=i+;j=?i=?j=+i;j=?i=?788822 若若 k 和和 j 为为 int 型变量,运算表达式型变量,运算表达式 j=3;k=+
17、j;j+;执行后,变量执行后,变量 k 的值为的值为_,变量变量 j 的值为的值为_。4 4 5 5练习练习23关于自增和自减运算符的说明:关于自增和自减运算符的说明:1.1.自自自自增增增增和和和和自自自自减减减减运运运运算算算算符符符符的的的的运运运运算算算算对对对对象象象象不不不不能能能能是是是是常常常常量量量量或或或或表表表表达达达达式式式式,只只只只能能能能是是是是单单单单个个个个变变变变量量量量。变变变变量量量量类类类类型型型型可可可可以以以以为为为为整整整整型型型型、指指指指针类型针类型针类型针类型。2.2.自增和自减运算符的自增和自减运算符的自增和自减运算符的自增和自减运算符的
18、结合方向结合方向结合方向结合方向是是是是“自右向左自右向左自右向左自右向左”。例例例例:-i+-i+-i+-i+等价于等价于等价于等价于 -(i+)-(i+)-(i+)-(i+);*i+i+i+i+等价于等价于等价于等价于*(i+)(i+)(i+)(i+);242、赋值运算符和赋值表达式、赋值运算符和赋值表达式1.1.赋赋值值:在在计计算算机机程程序序中中,要要完完成成这这样样一一种种操操作作将一个表达式的计算结果送到一个变量当中将一个表达式的计算结果送到一个变量当中。2.2.简单的赋值运算符:简单的赋值运算符:=3.3.赋值表达式:变量名赋值表达式:变量名 =表达式表达式4.4.赋值运算符的
19、结合性:赋值运算符的结合性:自右向左自右向左5.5.即:即:a=b=c a=b=c 相当于相当于 a=(b=c)a=(b=c)25 算术运算符与算术运算符与“=”结合在一起,形成复合的结合在一起,形成复合的赋值运算符。赋值运算符。复合的赋值运算符复合的赋值运算符例:例:i+=2 a%=3a*=b+5等价于等价于 i=i+2等价于等价于 a=a%3等价于等价于 a=a*(b+5)26主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的
20、混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 272.5 数据的混合运算数据的混合运算1、自动转换、自动转换运算转换运算转换赋值转换赋值转换2、强制类型转换、强制类型转换28 1 1、自动转换、自动转换运算转换运算转换在进行运算时,不同类型的数据要先在进行运算时,不同类型的数据要先自动转换自动转换成同成同一类型,然后进行运算。转换的规则按图所示。一类型,然后进行运算。转换的规则按图所示。intint char char,short short 高高低低longlongunsignedunsigneddouble floatdouble flo
21、at转换由编译系统自动完成。转换由编译系统自动完成。转换按数据长度增加的方向进行,转换按数据长度增加的方向进行,即按即按“向高看齐向高看齐”的原则提升的原则提升“较低较低”类型,以保证不降低精度。类型,以保证不降低精度。29(1 1)实型赋予整型,舍去小数部分。)实型赋予整型,舍去小数部分。(2 2)整型赋予实型,数值不变,但将以浮点形式存放,即增)整型赋予实型,数值不变,但将以浮点形式存放,即增 加小数部分(小数部分的值为加小数部分(小数部分的值为0 0)。)。(3 3)字符型赋予整型,由于字符型为一个字节,而整型为两)字符型赋予整型,由于字符型为一个字节,而整型为两 个字节,因此将字符的个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 第2章 类型、运算符与表达式2.42.7 语言 类型 运算 表达式 2.4 2.7
限制150内