《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt

上传人:小飞机 文档编号:6076035 上传时间:2023-09-20 格式:PPT 页数:10 大小:207.49KB
返回 下载 相关 举报
《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt_第1页
第1页 / 共10页
《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt_第2页
第2页 / 共10页
《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt_第3页
第3页 / 共10页
《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt_第4页
第4页 / 共10页
《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt》由会员分享,可在线阅读,更多相关《《吉大康辉老师讲C语言》第三章:C语言中的运算.ppt(10页珍藏版)》请在三一办公上搜索。

1、第三章 运算3.1运算符简介,语言的运算符有以下几类:1.算术运算符(见下节)2.关系运算符=9.求字节数符sizeof 12 其它(),3.2 算术运算符和算术表达式,基本的算术运算符:+(二元加运算符)-(二元减,或一元负运算符)*(乘法运算符)/(除法运算符)当进行+、-、*、/混合运算时,各运算符之间必须要有一定的优先次序和结合方向。语言中规定+、-、*、/之间的优先次序如下:-、*/、+-。同一行运算符的优先级相等,运算时按优先级从高到低,同级从左至右的原则进行,如:a*b+c/d-e、(a*b)+(c/d)-e、a*b/c、a*-c+b/d a,b,c,d,e等称为操作数,它可以是

2、常量或变量,由操作数和运算符以及圆括号按一定规则构成的式子称为表达式。由数值型操作数和算术运算符构成的表达式称为算术表达式。,模运算符模运算符是一个二元运算符。优先级和结合方向同*和/。要求两侧的操作数均为整型数据。且nm的结果为n/m的余数部分,即n被m除的余数。余数的符号与被除数一致。如:73的结果为1,42的结果为0,23的结果为2,-2%3=?2%-3=?-2%-3=?。,3.2 算术运算符和算术表达式,3.3赋值运算符和赋值表达式,赋值运算符=:一个二元运算符,其左操作数只能为变量,而右操作数可以为常量、变量或表达式。赋值表达式的一般形式为:=先对“=”右端表达式求值,将结果赋给变量

3、。赋值表达式可以出现在其他表达式中:(a=1)+(b=3)*4-(c=5)赋值表达式右侧也可以是一个赋值表达式:a=(b=5)赋值表达式中“=”的结合顺序是“从右至左”。算术运算符的优先级高于赋值运算符。例如:a=b=c=d=1,a=5+(b=3),a=(b=4)+(c=6),a=b=4+(c=6)复合的赋值运算符:a+=b,a-=b,a*=b,a/=b,a%=b,3.4,运算符,算术运算符+和-使参加运算对象的值增1或减1,也是赋值运算。单目运算符,运算对象可以是整型或实型变量,不能是常量或表达式,例如:+a,a+,a-,-a,+3,(i+j)-它们在算术运算符中的优先级和结合方向如下:+-

4、(一元负)从右至左*/%从左至右+-(二元减)从左至右其构成形式有如下四种:前缀(+a、-a),后缀(a+、a-),运算后a的值相同,表达式的值不同。,main()int a=1,b=1;printf(“+a=%d,b+=%dn”,+a,b+);printf(“a=%d,b=%dn”,a,b);printf(“-a=%d,b-=%dn”,-a,b-);printf(“a=%d,b=%dn”,a,b);运行结果:考虑:i的初值为3,表达式(i+*+i+i-*-i)=?,3.4,运算符,+a=2,b+=1a=2,b=2-a=1,b-=2a=1,b=1,3.5 混合运算和类型转换,当运算符两边的操作

5、数类型不同时,其中一个操作数就要经过类型转换以和另一个操作数的类型相一致,然后才能进行运算。变换操作数采取就高不就低的原则。即级别低的操作数先被转换成和级别高的操作数具有同一类型,然后再进行运算,结果的数据类型和级别高的操作数相同。各种类型级别的高低如下所示:高 double float long unsigend 低 int char,short例如:10+a+5*1.5-10/3强制类型转换表达式:(类型)表达式)例如:(int)(1.5+2.3)=?,(int)1.5+2.3=?,类型转换也发生在赋值运算符的两边,且不管赋值运算符右边表达式的结果类型为何,一律转换为左边变量的类型,然后再

6、赋给左边的变量。类型的提升:是将较低级的类型转换为较高级的类型,通过增加一些二进制位来完成,精度没有损失。类型的下降:是将较高级的类型转换为较低级的类型,要截断和舍入二进制位,通常会引起精度的损失。,3.5 混合运算和类型转换,main()char c1,c2,c3;int i1,i2,i3;float f1,f2,f3;c1=x;c2=1000;c3=6.02e23;printf(“%c%c%cn”,c1,c2,c3);i1=x;i2=1000;i3=6.02e23;printf(“%d%d%dn”,i1,i2,i3);f1=x;f2=1000;f3=6.02e23;printf(“%f%f%fn”,f1,f2,f3);运行结果为:,3.5 混合运算和类型转换,x 120 1000.0,3.6 逗号运算符和逗号表达式,逗号表达式的构成形式如下:表达式1,表达式2,表达式n将多个表达式连接起来构成逗号表达式。逗号表达式的求解过程是:先求解表达式1,再求解表达式2,最后求解表达式n,且表达式n的值就是该逗号表达式的值。逗号表达式的结合顺序:自左向右。逗号运算符的优先级在所有运算符中是最低的。例如:a=(3+5,3*5,5/3)a=3+5,3*5,5/3(i=3,i+,+i,i+5),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号