c语言运算符和表达式ppt课件.ppt_第1页
c语言运算符和表达式ppt课件.ppt_第2页
c语言运算符和表达式ppt课件.ppt_第3页
c语言运算符和表达式ppt课件.ppt_第4页
c语言运算符和表达式ppt课件.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运算符与表达式,第二讲运算符和表达式,引例概念及分类优先级和结合性算术运算关系运算逻辑运算位运算赋值运算符逗号运算符条件运算符,2,引例,引例问题输入一个四位的正整数,反序输出该四位数的四个数字字符。设计用一个无符号整型变量number保存输入的四位正整数。依次分解出个位数字、十位数字、百位数字和千位数字,并分别放到字符变量c1、c2、c3和c4中。怎么分解?利用除法、取模等运算。顺序输出变量c1、c2、c3和c4中的字符。,3,引例,引例源程序(cw04-01.c),#includevoidmain()unsignednumber;charc1,c2,c3,c4;printf(请输入一个四位的正整数:);scanf(%u,请输入一个四位的正整数:12344321,4,相关概念,运算符在C语言中用来表示某种计算的符号。操作数运算符操作的对象,可以为变量(已赋值)、常量或其他有切确值的表达式。表达式运算符和合适的操作数组成的具有切确值的式子称为表达式。,5,运算符分类,单目运算符(一元运算符)只有1个操作数。双目运算符(二元运算符)具有2个操作数。(主要类型)三目运算符(三元运算符)需要3个操作数。(唯一:条件运算符?:),6,运算符的优先级和结合性,运算符的优先级某些运算符先于其他运算符被执行。例如,x+y*4,先乘除后加减。必要时可以用圆括号()改变计算顺序。例如,求三个数的平均值。错误的写法:a+b+c/3正确的写法:(a+b+c)/3运算符的结合性当出现并列的运算优先级别相同的运算符时,由运算符的结合性决定计算的次序。例如,x*y/z,7,算术运算符,常用的算术运算及运算符说明取模运算(%),结果是两个整数相除的余数。例如,7%5=2,-2%3=-2。,运算符和表达式,8,自增和自减运算符,自增和自减运算符自增运算符:+将操作数的值增一。自减运算符:-将操作数的值减一。操作数必须是整型和字符型变量。单目运算符。优先级:2。结合性:从右往左。,运算符和表达式,9,算术运算符(特殊问题),除号运算符的使用问题当除号前后操作数全为整型数(包括char、int、long)时,除号为整除运算。当有任一操作数为实型数时则为普通除法运算。取模运算符的使用问题操作数只能整型数据(char、int、long)。自加/自减运算符的使用问题+(-)在前:先加(减)后用;+(-)在后:先用后加(减)。,10,自增和自减运算,举例(cw0404.c),#includevoidmain()inti=6,a,b;printf(%dn,+i);printf(%dn,i+);a=-i;printf(%dn,a);b=i-;printf(%dn,b);printf(%dn,-i+);printf(i=%dn,i);,7777-6,i=?,11,关系运算,关系运算(比较运算)比较两个值,结果为“真”或“假”。举例:a3如果a=8,则结果为“真”如果a=1,则结果为“假”用关系运算进行条件判断关系表达式表示一个条件,根据其结果判断条件是否满足。举例:a3如果a=8,结果为“真”,即条件满足如果a=1,结果为“假”,即条件不满足,12,关系运算符,关系运算符,13,关系表达式,关系表达式表达式1和表达式2可以是任何表达式。举例,abm+nz)=(yz),14,关系表达式,关系表达式的值是一个逻辑值:“真”或“假”C语言没有逻辑类型,因此用整数1表示“真”用整数0表示“假”即关系表达式的值是整数1或0。举例若a=1,b=2,c=3,aba+bc)=(bc)Y!=y,0111,15,关系表达式的使用,举例:写出下面各条件的关系表达式x为不小于-5的整数x为非零的数x的平方大于m与n的和,x=-5x!=0 x*x(m+n),16,关系运算的不足,关系表达式只能表达一些简单的条件grade=60total1000每个判断只是对一个条件进行测试。如果要对多个条件进行测试就要在独立的语句或嵌套的if或if-else结构中进行测试。例1:10y5例2:x0,if(y5)if(yy5的逻辑表达式(y5)c=getchar();if(c=A,22,位运算,位左移,位与n的值为3。,运算符和表达式,c=a+ba=b=c=d=10 x=(a=5)+(b=8),a=(a+b)a=(b=(c=(d=10)a=5,b=8,x=a+b,25,复合赋值运算,复合赋值运算符:+=,-=,*=,/=,%=简化了赋值表达式=由下面的表达式简化而来=举例,运算符和表达式,a+=5x*=y+7x+=x-=x*=x,a=a+5x=x*(y+7)x=x+(x=x-(x=x*x),26,逗号运算符:,优先级:15。结合性:从左往右。逗号表达式,x=1,(a=b+1),i+求解过程:先求表达式1的值,再求表达式2的值,直至求出表达式n的值。表达式的值为表达式n的值。,27,条件运算符,条件运算符:?:三目运算符右结合条件表达式?:举例,printf(“%s”,(grade=60)?“Passed”:“Failed”);,(g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论