第3章 运算符和表达式.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 运算符和表达式 运算 表达式
- 资源描述:
-
单击此处编辑母版样式,单击此处编辑幻灯片母版样式,第二层,第三层,第四层,第五层,*,*,*,第三章,运算符和表达式,要求,熟练掌握运算符与表达式的基础知识;,熟练掌握算术运算符和算术表达式;,熟练掌握赋值运算;,熟练掌握关系运算符、逻辑运算符与逻辑表达式;,熟练掌握条件表达式与逗号表达式。,2,C,运,算,符,算术运算符:,+-*/,%,+,-,关系运算符:,=,!=,逻辑运算符:!,&|,位运算符 :,|,&,赋值运算符:,=,及其扩展,条件运算符:,?:,逗号运算符:,指针运算符:*,&,求字节数 :,sizeof,强制类型转换:(类型),分量运算符:,.-,下标运算符:,其它 :,()-,3,运算符功能,与运算量关系,要求运算量个数,要求运算量类型,运算符优先级别,结合方向,结果的类型,学习运算符应注意,4,运算符的优先级,(),-.,左右,!,+-+-(,类型,),sizeof,*&,右左,(,单目,),*/%,左右,+-,左右,=,+-,高 低,说明:,“,-”,为,单目,运算符时,右结合,两整数相除,结果为整数,%,要求两侧均为整型,数据,例,5/2 =,-5/2.0 =,例,5%2 =,-5%2 =,1%10 =,5%1 =,5.5%2,算术运算符和表达式,2,-2.5,1,-1,1,0,(,),6,例:求十位数上的数字,#include,main(),int a,b;,scanf(%d,b=a%100;,b=b/10;,printf(%d,b);,7,作用:使变量值加,1,或减,1,种类:,前置,+i,-i (,先执行,i+1,或,i-1,,,再使用,i,值),后置,i+,i-(,先使用,i,值,再执行,i+1,或,i-1,),例,j=3;k=+j;,j=3;k=j+;,j=3;,printf(%d,+j,);,j=3;,printf(%d,j,+);,a=3;b=5;c=(+a)*b;,a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,自增、自减运算符,+-,8,说明:,+-,不能用于常量和表达式,如,5+,,,(a+b)+,+-,结合方向:,自右向左,优先级,:,-(,负号,),+-*/%-+-,高 低,例,-i+,-(i+),i=3;,printf(%d,-i,+);/-3,例,i=3;,printf(%d,-i,+);,(,j+)+k,;,j+k,;,9,例,3.1,#include,void main(),int a=2,b=2,x,y;,x=-a+2;/,前缀运算,y=b-+2;/,后缀运算,printf(x,=%d y=%,dn,x,y);,printf(a,=%d b=%,dn,a,b);,10,例,3.2,#include,void main(),int a=2,b=2,c;,c=+,a+b,-;,/,变量,a,为前缀运算,,b,为后缀运算,printf(a,=%,d,b,=%,d,c,=%,dn,a,b,c,);,a=b=2;,c=-a-b;,/,连续的,“,-”,表示前两个是对,a,的自减,最后的,“,-”,表示减法运算,printf(a,=%,d,b,=%,d,c,=%,dn,a,b,c,);,a=b=2;,printf(a,=%,dn,a,+);,printf(b,=%,dn,+b,);,c=,a+b,;/a,、,b,增,1,后的值参加运算,printf(c,=%,dn,c,);,11,简单赋值运算符,符号:,=,格式:,变量名,=,表达式,作用:将一个数据(常量或表达式)赋给一个变量,例,a=3;,c=a+2;,赋值运算符和表达式,12,结合方向:,自右向左,左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则,:,使赋值号右边表达式值,自动,转换成其左边变量的类型,例,3=x-2*y;,a+b=3;,例,float f;,int i;,f=10.0f;,i=f;,则,i=10,例,int i;,i=2.56;/,结果,i=2;,例,:a=b=c=5,a=(b=5),a=5+(c=6),a=(b=4)+(c=6),a=(b=10)/(c=2),/,表达式值为,5,,,a,b,c,值为,5,/b=5;a=5,/,表达式值,11,,,c=6,a=11,/,表达式值,10,,,a=10,b=4,c=6,/,表达式值,5,,,a=5,b=10,c=2,简单赋值说明,13,复合赋值运算符,+=-=*=/=%=,=&=|=,含义:,变量名,运算符,=,表达式,变量名,=,变量名,运算符 表达式,a+=3,a=a+3,x*=y+8,x=x*(y+8),x%=3,x=x%3,14,结合方向:自右向左,左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则,:,赋值号右边表达式值,自动,转换成其左边变量的类型,例,:a=12;,a+=a-=a*a;,例,:int a=2;,a%=4-1;,a+=a*=a-=a*=3;,/a=-264,等价于,a=a+(a=a-(a*a),/a=0,等价于,a=a+(a=a*(a=a-(a=a*3),复合赋值说明,15,例,3.3,#include,void main(),int a=5,b=5,c=5;,a-=2;/a=a-2;,b*=a+3;/b=b*(a+3);,c /=a-1;/c=c/(a-1);,printf(a,=%,d,b,=%,d,c,=%,dn,a,b,c,);,16,例,#include,main(),int,a,b,c,;,a=b=c=1;,a+=-,b-c,;,printf(a,=%,d,b,=%,d,c,=%,dn,a,b,c,);,17,形式:,表达式,1,表达式,2,表达式,n,结合性,:,从左向右,逗号表达式的值:等于表达式,n,的值,用途:常用于循环,for,语句中,例,a=3*5,a*4,a=3*5,a*4,a+5,例,x=(a=3,6*3),x=a=3,6*a,例,a=1;b=2;c=3;,printf(%d,%d,%d,a,b,c,);,printf(%d,%d,%d,(a,b,c),b,c,);,/a=15,表达式值,60,/a=15,表达式值,20,/x=18,/,逗号表达式,表达式值,18,x=3,/1,2,3,/3,2,3,逗号运算符和表达式,18,例,:,#include,main(),int x,y=7;,float z=4;,x=(y=y+6,y/z);,printf(x,=%,dn,x,);,运行结果:,x=3,19,关系运算符,种类:,=!=,结合方向:,自左向右,=,=,!=,优先级(高),优先级(低),例,ca+b /c(a+b),ab!=c /(ab)!=c,a=bc /a=(bc /a=(bc),关系表达式的值:是逻辑值,“,真,”,或,“,假,”,,用,1,和,0,表示,例,int a=3,b=2,c=1,d,f;,ab,(ab)=c,b+cb,f=abc,/,表达式值,1,/,表达式值,1,/,表达式值,0,/d=1,/f=0,关系运算符和表达式,20,例 若,a=0;b=0.5;x=0.3;,则,a=x278,在,C,中是允许的,,值为,0,例,int i=1,j=7,a;,a=i+(j%4!=0);,则,a=,2,例,a 0,结果为,A 100,结果为,1,0,关系运算注意(,1,),21,例 注意区分,=,与,=,int a=0,b=1;,if(a,=,b),printf(a,equal to b);,else,printf(a,not equal to b);,例 应避免对,实数,作相等或不等的判断,如,1.0/3.0*3.0=1.0,结果为,可改写为:,fabs(1.0/3.0*3.0-1.0)1e-6,0,关系运算注意(,2,),22,a,b,!a,!b,a&b,a|b,真,假,真,假,假,假,真,真,逻辑运算符,种类:,!&|,逻辑运算真值表,C,语言中,运算量,:0,表示,“,假,”,,,非,0,表示,“,真,”,运算结果,:0,表示,“,假,”,,,1,表示,“,真,”,真,假,假,假,假,假,真,真,假,假,真,真,真,假,真,真,逻辑运算符和表达式(,1,),23,!,&,|,高,低,例,a=x&xb&xy,a=b|x=y,!a|ab,优先级:,结合方向:,!:,从右向左,&:,从左向右,|:,从左向右,/(a=x)&(xb)&(xy),/(a=b)|(x=y),/(!a)|(ab),逻辑运算符和表达式(,2,),24,例,a=4;b=5;,!a,a&b,a|b,!a|b,4&0|2,53&2|83)&2|(8,b)&(n,=cd),/,结果,m=0,n=1,26,一般形式:,expr1?expr2 :expr3,功能:相当于条件语句,但不能取代一般,if,语句,例,if(ab),printf(%d,a,);,else,printf(%d,b,);,printf(%d,a,b?a:b);,例 求,a+|b|,printf(a+|b,|=%,dn,b,0?a+b:a-b);,expr1,取,expr2,值,取,expr3,值,非,0,=0,例,(a=,b)?Y:N,(x%2=1)?1:0,(x=0)?x:-x,(c=a&c0?1:(xb?a:cd?c:d,ab?a:(cd?c:d),expr1,、,expr2,、,expr3,类型可不同,表达式值取较高的类型,例,x?a:b,/x=0,表达式值为,b;x0,表达式值为,a,xy?1:1.5 /xy ,值为,1.0;xy ,值为,1.5,条件运算符与表达式,27,0,1 11,11,11,11,11,11,11,int,型:,最大,:32767,1,0 00,00,00,00,00,00,00,最小,:-32768,11,11,11,11,11,11,11,11,unsigned int,型:,最大,:65535,00,00,00,00,00,00,00,00,最小,:0,简单补充:,int,和,unsigned int,28,数制,基,权,表示,数码,特点,10,,,10,,,10,,,十进制数,09,10,逢十进一,二进制数,01,2,2,,,2,,,2,,,逢二进一,八进制数,07,8,8,,,8,,,8,,,逢八进一,十六进制数,09,AF,af,16,16,,,16,,,16,,,逢十六进一,十进制:,4956=4,10+9,10+5,10+6,10,二进制:,1011=1,2+0,2+1,2+1,2,十六进制:,81AE=8,16+1,16+10,16+14,16,八进制:,4275=4,8+2,8+7,8+5,8,简单补充:进制,29,例 输入变量,a,、,b,、,c,,从大到小输出,#include,void main(),char,a,b,c,max,min,mid,;,scanf(%c%c%c,&a,&b,&c,);,max=a,b?a:b,;,max=,max,c?max:c,;,min=a,b?a:b,;,min=,min,c?min:c,;,mid=,a+b+c,-max-min;,printf(%c%c%c,max,mid,min,);,30,例 输入三个顶点坐标,输出三角形面积,#include,#include,float,len(float,a,float,b,float,c,float,d),return=,sqrt(a-c,)*(a-,c)+(b-d,)*(,b-d,);,void main(),float x1,x2,x3,y1,y2,y3,a,b,c,s,area;,scanf(%f%f%f%f%f%f,a=len(x1,y1,x2,y2);,b=len(x1,y1,x3,y3);,c=len(x3,y3,x2,y2);,s=(a+b+c)/2;,area=,sqrt(s,*(s-a)*(,s-b,)*(,s-c,);,printf(%ft%f,2*,s,area,);,31,例 输入半径,输入球的体积,#include,#define PI 3.14159,void main(),float radius,volume;,scanf(%f,&radius,);,volume=4.0/3*PI*radius*,radius,*,radius,;,printf(%.3f,volume);,32,例 输入数值,输出其绝对值,#include,void main(),float x;,scanf(%f,&x,);,printf(%f,x,0?-x:x);,33,练习:,1,、填空,C,程序都是从,函数开始执行。,C,程序的语句都是用,结束。,用来在屏幕上显示信息的库函数是,。,用来从键盘读取数据的库函数是,。,34,若,x,和,n,均是,int,型变量,且,x,和,n,的初值均为,5,,则计算表达式,x,=n,后,,x,的值为,,,n,的值为,。,若有定义:,int b=7;float a=2.5,c=4.7;,则以下表达式的值为,。,a+(int)(b/3*(int)(a+c)/2)%4,若,a,是,int,型变量,且,a=6,,则计算表达式,a+=a-=a*a,后,,a,的值为,。,假设所有变量均为整型,则表达式,(a=2,b=5,a+,b+,a+b),的值为,。,35,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




第3章 运算符和表达式.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13166451.html