C语言运算符和表达式

上传人:痛*** 文档编号:223936201 上传时间:2023-07-24 格式:PPTX 页数:29 大小:169.34KB
收藏 版权申诉 举报 下载
C语言运算符和表达式_第1页
第1页 / 共29页
C语言运算符和表达式_第2页
第2页 / 共29页
C语言运算符和表达式_第3页
第3页 / 共29页
资源描述:

《C语言运算符和表达式》由会员分享,可在线阅读,更多相关《C语言运算符和表达式(29页珍藏版)》请在装配图网上搜索。

1、第二讲 运算符和表达式引例概念及分类优先级和结合性算术运算关系运算逻辑运算位运算赋值运算符逗号运算符条件运算符第1页/共29页引例引例问题输入一个四位的正整数,反序输出该四位数的四个数字字符。设计用一个无符号整型变量number保存输入的四位正整数。依次分解出个位数字、十位数字、百位数字和千位数字,并分别放到字符变量c1、c2、c3和c4中。怎么分解?利用除法、取模等运算。顺序输出变量c1、c2、c3和c4中的字符。第2页/共29页引例引例源程序(cw04-01.c)#include void main()unsigned number;char c1,c2,c3,c4;printf(请输入一

2、个四位的正整数:);scanf(%u,&number);c1=number%10+0;/得到个位数字 c2=number/10%10+0;/得到十位数字 c3=number/100%10+0;/得到百位数字 c4=number/1000+0;/得到千位数字 printf(n%c%c%c%cn,c1,c2,c3,c4);请输入一个四位的正整数:12344321第3页/共29页相关概念运算符 在C语言中用来表示某种计算的符号。操作数 运算符操作的对象,可以为变量(已赋值)、常量或其他有切确值的表达式。表达式 运算符和合适的操作数组成的具有切确值的式子称为表达式。第4页/共29页运算符分类单目运算符

3、(一元运算符)只有1个操作数。双目运算符(二元运算符)具有2个操作数。(主要类型)三目运算符(三元运算符)需要3个操作数。(唯一:条件运算符?:)第5页/共29页运算符的优先级和结合性运算符的优先级某些运算符先于其他运算符被执行。例如,x+y*4,先乘除后加减。必要时可以用圆括号()改变计算顺序。例如,求三个数的平均值。错误的写法:a+b+c/3 正确的写法:(a+b+c)/3运算符的结合性当出现并列的运算优先级别相同的运算符时,由运算符的结合性决定计算的次序。例如,x*y/z第6页/共29页算术运算符常用的算术运算及运算符说明取模运算(%),结果是两个整数相除的余数。例如,7%5=2,-2%

4、3=-2。运算符和表达式运算符和表达式运算符名称运算符名称算术运算符算术运算符代数表达式代数表达式C语言表达式语言表达式适用的数据类型适用的数据类型正号正号+a+a+a+a整数、字符、浮点数整数、字符、浮点数负号负号-b-b-b-b整数、字符、浮点数整数、字符、浮点数加加+f+7f+7f+7f+7整数、字符、浮点数整数、字符、浮点数减减-p cp cp cp c整数、字符、浮点数整数、字符、浮点数乘乘*bmbmb*mb*m整数、字符、浮点数整数、字符、浮点数除除/x/yx/yx/yx/y整数、字符、浮点数整数、字符、浮点数取模取模%r mod sr mod sr%sr%s整数、字符整数、字符第

5、7页/共29页自增和自减运算符自增和自减运算符自增运算符:+将操作数的值增一。自减运算符:-将操作数的值减一。操作数必须是整型和字符型变量。单目运算符。优先级:2。结合性:从右往左。运算符和表达式运算符和表达式第8页/共29页算术运算符(特殊问题)除号运算符的使用问题 当除号前后操作数全为整型数(包括char、int、long)时,除号为整除运算。当有任一操作数为实型数时则为普通除法运算。取模运算符的使用问题 操作数只能整型数据(char、int、long)。自加/自减运算符的使用问题 +(-)在前:先加(减)后用;+(-)在后:先用后加(减)。第9页/共29页自增和自减运算举例(cw0404

6、.c)#include void main()int i=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-6i=?第10页/共29页关系运算关系运算(比较运算)比较两个值,结果为“真”或“假”。举例:a3如果a=8,则结果为“真”如果a=1,则结果为“假”用关系运算进行条件判断关系表达式表示一个条件,根据其结果判断条件是否满足。举例:a3如果a=8,结果为“真”,即条件满足如果a=1,结果为“假”,即条件不满足第11页/共

7、29页关系运算符关系运算符运算符运算符含含 义义优先级优先级结合性结合性 小于小于6 6左结合左结合=大于大于=大于或等于大于或等于=等于等于7 7!=!=不等于不等于第12页/共29页关系表达式关系表达式 表达式1和表达式2可以是任何表达式。举例abm+nz)=(yz)第13页/共29页关系表达式关系表达式的值是一个逻辑值:“真”或“假”C语言没有逻辑类型,因此用整数 1 表示“真”用整数 0 表示“假”即关系表达式的值是整数 1 或 0。举例若a=1,b=2,c=3aba+bc)=(bc)Y!=y0111第14页/共29页关系表达式的使用举例:写出下面各条件的关系表达式x为不小于-5 的整

8、数x为非零的数x的平方大于m与n的和x=-5x!=0 x*x(m+n)第15页/共29页关系运算的不足关系表达式只能表达一些简单的条件grade=60total1000每个判断只是对一个条件进行测试。如果要对多个条件进行测试就要在独立的语句或嵌套的if或if-else结构中进行测试。例1:10y5例2:x0if(y5)if(y10);if(x0);第16页/共29页逻辑运算逻辑运算通过逻辑运算符把简单的条件组合起来,能够形成更加复杂的条件。例1:10y5 的逻辑表达式(y5)&(y10)例2:x0 的逻辑表达式(x0)逻辑运算符!(逻辑非)&(逻辑与)|(逻辑或)第17页/共29页逻辑表达式逻

9、辑表达式 表达式1和表达式2可以是任何表达式。举例(x5)|(x-5)!(ac)&(a+cb)&(b+ca)逻辑表达式的值逻辑表达式的值1:真0:假整数第18页/共29页逻辑运算逻辑运算真值表a!a1001aba&b111100010000aba|b111101011000!&|第19页/共29页逻辑表达式的使用将下面的条件用C语言的逻辑表达式表示例1:1x10且x7x=1&x=65如果gender不等于F,整个表达式的值就是假,求值过程结束。例2:average=90|finalExam=90如果average大于等于90,整个表达式的值就是真,求值过程结束。第20页/共29页程序设计举例举

10、例(cw0602.c)问题:任意输入一个字符,判断它是字母还是数字。#include void main()char c;c=getchar();if(c=A&c=a&c=0&c=9)printf(“%c is a digit.”,c);else printf(“%c is neither a letter nor a digit.”,c);第21页/共29页位运算位左移,位与&,位或|,位异或位运算按二进制数运算法则进行计算将另立专题讲解运算规则第22页/共29页赋值运算赋值运算符简单赋值运算符:=复合赋值运算符:+=,-=,*=,/=,%=优先级:14结合性:从右往左赋值表达式 d=23作

11、用:将表达式的值赋给变量。赋值表达式的值就是被赋值的变量的值。运算符和表达式运算符和表达式第23页/共29页简单赋值运算简单赋值运算符:=举例类型转换如果赋值运算符右边表达式的类型与左边变量的类型不一致,则把右边表达式值的类型按左边变量的类型进行转换,然后再赋值。例如,int n=3.6;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第24页/共29页复合赋值运算复合赋值运算符:+=,-=,*=,/=,%=简化了赋值表达式=由下面的表达式简化而来=举例运算符和表达式运算符和表

12、达式a+=5x*=y+7x+=x-=x*=xa=a+5x=x*(y+7)x=x+(x=x-(x=x*x)第25页/共29页逗号运算符逗号运算符:,优先级:15。结合性:从左往右。逗号表达式,x=1,(a=b+1),i+求解过程:先求表达式1的值,再求表达式2的值,直至求出表达式n的值。表达式的值为表达式n的值。第26页/共29页条件运算符条件运算符:?:三目运算符右结合条件表达式?:举例printf(“%s”,(grade=60)?“Passed”:“Failed”);(grade=60)?printf(“Passed”):printf(“Failed”);c=ab?a:b;第27页/共29页小结运算符的相关概念运算符的分类按操作数个数分按操作类型分各类运算符及表达式知识优先级和结合性总结第28页/共29页感谢您的欣赏!第29页/共29页

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!