《运算符和表达式》PPT课件.ppt

上传人:汽*** 文档编号:571803738 上传时间:2024-08-12 格式:PPT 页数:33 大小:321.50KB
返回 下载 相关 举报
《运算符和表达式》PPT课件.ppt_第1页
第1页 / 共33页
《运算符和表达式》PPT课件.ppt_第2页
第2页 / 共33页
《运算符和表达式》PPT课件.ppt_第3页
第3页 / 共33页
《运算符和表达式》PPT课件.ppt_第4页
第4页 / 共33页
《运算符和表达式》PPT课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《运算符和表达式》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《运算符和表达式》PPT课件.ppt(33页珍藏版)》请在金锄头文库上搜索。

1、第第3 3讲讲 运算符和表达式运算符和表达式一、表达式和运算符一、表达式和运算符二、算术运算符和算术表达式二、算术运算符和算术表达式四、逗号运算符与逗号表达式四、逗号运算符与逗号表达式三、赋值运算三、赋值运算 一、表达式一、表达式由常量、变量、函数和运算符常量、变量、函数和运算符组成的式子称为表达式。 例:计算圆面积时用的3.14159 * r * r 单目运算符:单目运算符:只需要一个运算对象的运算符。如-5中的负号。双目运算符:双目运算符:需要两个运算对象的运算符。如加、减、乘、除。一、运算符一、运算符表达式的求值规则:表达式的求值规则:按照运算符的优先级运算符的优先级和结合结合性性的规定

2、顺序进行。表达式表达式的值和类型的值和类型:等于计算表达式所得结果的值和类型。例如:表达式例如:表达式2+52+5的类型为的类型为intint型;而型;而2.5+22.5+2的类型的类型为为floatfloat型。型。一、表达式一、表达式二、算术表达式二、算术表达式一般数学式一般数学式a(b+c)+dac算术表达式算术表达式(a*(b+c)+d)*a*c(a*(b+c)+d)*a*c将方括号改成将方括号改成圆括号,圆括号,* *不能省略不能省略x/(x+y)+1/(x*y)x/(x+y)+1/(x*y) 其中不能出现分其中不能出现分数,除法运算时,圆括号不能省略数,除法运算时,圆括号不能省略3

3、.14159*r*r/2.03.14159*r*r/2.0其中其中 为非字为非字母字符,要用实型常量代替母字符,要用实型常量代替例:例:已知直角三角形的直角边长为已知直角三角形的直角边长为5和和12,计算斜边。,计算斜边。#include #include main( )double x,y,z;x=5.0; y=12.0; z=sqrt(x*x+y*y);printf(z=%fn,z);二、算术表达式二、算术表达式二、算术运算符二、算术运算符算术运算符用于各类数值运算。算术表达式中的算术运算符用于各类数值运算。算术表达式中的运算对象都是算术量,即整型、实型或字符型。运算对象都是算术量,即整型

4、、实型或字符型。运算符运算规则操作数数目优先级结合方向负号单目2右结合加法双目4左结合减法双目4左结合乘法双目3左结合除法双目3左结合求余或模双目3左结合其中单目运算符负号的优先级最高,为其中单目运算符负号的优先级最高,为2 2级。级。除法运算对于不同类型的运算对象,计算结果和除法运算对于不同类型的运算对象,计算结果和结果的类型会不同。结果的类型会不同。 如如3/4=0 3.0/4=0.75 3/4.0=0.753/4=0 3.0/4=0.75 3/4.0=0.75二、算术运算符二、算术运算符 求余运算符%要求两个运算对象都是整型量整型量,其结果也是整型整型。a%b表示计算a除以b后的余数,结

5、果的符号结果的符号与被除数的符号相同。例如:7%2的值为1, 10%-3的值为1。二、算术运算符二、算术运算符-%-%整除性整除性 (x%y=0,说明什么问题?)分解数位分解数位(x%10,分解出10位呢?)二、二、% %的常用用途的常用用途判断x是否为偶数怎么写?main ( ) int a, b, c1, c2 ; a=3;b=-7 ; c1=b/a; c2=b%a; printf( c1=%dtc2=%dn, c1,c2 ); c1=a/b; c2=a%b; printf( c1=%dtc2=%dn, c1,c2 ); 程序运行输出:程序运行输出:c1=-2 c2=-1c1=0 c2=3

6、二、算术运算符二、算术运算符二、二、+、- 运算符运算符 都是单目运算单目运算(只需要一个运算量,并且必须是变量),运算优先级为2 2级级。功能:功能:+ 使变量的值增 1; - 使变量的值减 1。二、二、+、- 运算符运算符 两种格式:两种格式: 前缀形式: +i和-i 后缀形式: i+和i-两种格式的区别:两种格式的区别: 前缀形式:先自增自增( (减减) ) ,后使用使用后缀形式:先使用使用,后自增自增( (减减) )#include stdio.hmain( )int a,b,c,d; a=b=c=d=10; a+; +b; printf(a=%d,b=%dn,a,b); c-; -d

7、; printf(c=%d,d=%dn,c,d);程序的执行结果:程序的执行结果:a=11, b=11c=9, d=9二、二、+、- 运算符运算符 #include stdio.hmain ( ) int x, y; t=3; printf(t=%dn, t ); x=t+; printf(x=%d, t=%dn, x, t); t=3; printf(t=%dn, t ); y = +t ; printf(y=%d, t=%dn, y, t);程序结果:程序结果:t=3x=3, t=4t=3y=4, t=4二、二、+、- 运算符运算符 #include stdio.hmain( )int a

8、,b,x,y; a=b=10; x=a+; y=+b; printf(a=%d,b=%d,x=%d,y=%dn,a,b,x,y); x=a-; y=-b; printf(a=%d,b=%d,x=%d,y=%dn,a,b,x,y); 程序的执行结果:程序的执行结果: a=11, b=11, x=10, y=11 a=10, b=10, x=11, y=10二、二、+、- 运算符运算符 #include stdio.hmain( ) int i, j, k ; i=1; j=1; k=i+j ; printf(k=%d,i=%d,j=%dn,k,i,j); 程序运行结果:程序运行结果: k=2,i

9、=2,j=1k=2,i=2,j=1二、二、+、- 运算符运算符 自增的优先级高于自增的优先级高于算术运算算术运算i+j i+j 等价于等价于(i+)+j(i+)+j三、赋值运算三、赋值运算1 1、简单赋值运算:、简单赋值运算: = =格式:格式: 变量变量= =表达式表达式说明:说明: 赋值运算符左边必须是变量。赋值运算符左边必须是变量。 例:例:j+3=jj+3=ja*b=c*4a*b=c*4左边的语句是错误的,赋值语左边的语句是错误的,赋值语句左边只能是变量句左边只能是变量三、赋值运算三、赋值运算赋值表达式的计算次序为从右向左。赋值表达式的计算次序为从右向左。 例:执行例:执行x=y=5+

10、7后,后,x和和y的值都是的值都是12。 例:例:a=b=c=0,该表达式等价于,该表达式等价于a=(b=(c=0)如果两边的类型不一致,则先将右边表达式的如果两边的类型不一致,则先将右边表达式的值自动转换成左边变量的类型,再赋值。值自动转换成左边变量的类型,再赋值。#include stdio.hmain( )double x;int z;x=5.6; z=x;printf(z=%dn,z);执行结果:执行结果: z=5三、赋值运算符类型不同问题三、赋值运算符类型不同问题#include stdio.hmain( ) unsigned short a=32768; short b=32768

11、; int c=a,d=b; printf(“0xc=%x,0xd=%xn,c,d);低高:要扩展:对于有符号数有符号数,扩展位扩展位与低字节数据的最高最高位相同位相同;对于无符号无符号数数,其扩展位为0)三、赋值运算符类型不同问题三、赋值运算符类型不同问题#include stdio.hmain( )char a=97,b; int c=353; b=c; printf(%c,%cn,a,b);高低:取与低字节数据位相同的位数三、各类数据类型的混合运算doublelongunsignedintfloatchar、short强制类型转换低高值的类型?三、赋值运算三、赋值运算强制转换格式:强制转

12、换格式:(新的数据类型新的数据类型)(表达式表达式)强制转换得到的是强制转换得到的是中间结果中间结果,原变量的,原变量的类型不变类型不变和和值不变值不变。#include stdio.hmain( )double x,y; int z1,z2;x=5.5; y=6.5 z1=(int)x+y; z2=(int)(x+y);printf(x=%.2f,y=%.2fn,x,y);printf(z1=%d,z2=%dn,z1,z2);程序的执行结程序的执行结果:果: x=5.5,y=6.5 z1=11,z2=12三、赋值运算三、赋值运算三、赋值运算三、赋值运算 算术运算符算术运算符+ 、- 、* 、

13、/、%和赋值运和赋值运算符算符=结合起来,形成复合赋值运算符结合起来,形成复合赋值运算符+= 、-= 、*= 、/=、%= 。三、赋值运算三、赋值运算 例如:例如:+= 加赋值运算符。加赋值运算符。a+=b+3,等价于,等价于 a=a+(b+3)*= : 如如a*= b+ 3,等价于,等价于 a=a* (b+3)%= :如:如a%= b+ 3,等价于,等价于 a=a% (b+3)#include void main() int a=3 ,b=4,c=5; b+=a+3; c*=b+3;printf(a=%dn, a);printf(b=%dn, b);printf(c=%dn, c);三、赋值

14、运算三、赋值运算 执行结果:执行结果: a=3 b=10 c=65#include void main() int a ; a=9; a+=a- =a+a;printf(a=%dn, a);三、赋值运算三、赋值运算 ( (注意计算次序注意计算次序) )执行结果:执行结果: a=-18三、赋值运算三、赋值运算 main( ) int a, b, c; a=b=c=5; printf(a=%d, b=%d, c=%dn,a,b,c); a=(b=4)+(c=6); printf(a=%d, b=%d, c=%dn,a,b,c); a+=b+c; printf(a=%d, b=%d, c=%dn,a

15、,b,c); a+=a-=a*=a; printf(a=%dn,a); 程序运行结果:程序运行结果:a=5, b=5, c=5a=10, b=4, c=6a=20, b=4, c=6a=0四、逗号运算符与逗号表达式四、逗号运算符与逗号表达式逗号运算符:逗号运算符:也称顺序求值运算符,优先级最低(15级)。逗号表达式:逗号表达式:由逗号连接起来的两个或两个以上的表达式。四、逗号运算符与逗号表达式四、逗号运算符与逗号表达式格式:格式: 表达式表达式1,表达式,表达式2, ,表达式,表达式n 例如:例如: x=5, y=10, z=x+y逗号表达式的计算过程计算过程:从左至右从左至右逗号表达式的值:最右边的表达式的值最右边的表达式的值 1) x=0, y=100 2) x=5*8, 6+9 3) x=1, y=99, z=(x+y)*5 4) x=(i=10, j=5, i*j) 5) x=i=10, j=5, i*j先后给先后给x,y的赋值,表达式的值为的赋值,表达式的值为100先把先把x赋值为赋值为40,表达式的值为,表达式的值为15给给x,y赋值后,计算赋值后,计算z的值,的值,表达式的值为表达式的值为500等价于赋值语句等价于赋值语句x50先给先给x,i赋值,再给赋值,再给j赋值,计算赋值,计算i*j,表达式的值为,表达式的值为50例如:例如:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号