ImageVerifierCode 换一换
格式:PPT , 页数:56 ,大小:1.77MB ,
资源ID:13188520      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13188520.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Ch3-C++运算符和表达式.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Ch3-C++运算符和表达式.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Institute of Computer Software,Nanjing University,*,运算符和表达式,曹迎春,yccao,学习目标,熟练掌握,C+,各种运算符的使用方法。,能熟练运用运算符组成需要的表达式。,正确使用操作数的类型转换和运算符的优先级顺序和结合性。,2026/2/1 周日,2,重点和难点,自增、自减运算符的运用;,各个运算符的优先级顺序及其结合性;,操作数的类型转换。,2026/2/1 周日,3,知识点,算术运算符;自增、自减运算符;关系运算符;逻辑运算符;位运算符,;,赋

2、值运算符;求字节数运算符;,逗号表达式;短路表达式;,显式类型转换;隐式类型转换;,优先级与结合性,2026/2/1 周日,4,运算符,2026/2/1 周日,5,运算符,C+,语言中的运算符是可以让,C+,语言编译器能够识别的具有运算意义的符号。,运算符就是代表,C+,语言中的各个运算功能的名字,。,100+200-300*200+1000/20+100%10a|b&c|da=b+c+d*ea+=b+c-=d-,2026/2/1 周日,6,运算符的分类(按功能分),算术运算符,关系运算符,逻辑运算符,位运算符,条件运算符,赋值运算符,逗号运算符,sizeof,运算符,其它运算符,2026/2

3、/1 周日,7,运算符的分类(按操作数分),单目运算符(一个操作数),双目运算符(两个个操作数),三目运算符(三个操作数),2026/2/1 周日,8,算术运算符,运算符,名字,实例,+,加,12+4.9/,得出,16.9,-,减,3.98-4/,得出,-0.02,*,乘,2*3.4/,得出,6.8,/,除,9/2.0/,得出,4.5,%,取余,13%3/,得出,1,2026/2/1 周日,9,自增、自减运算符,+,是自增运算符,,-,是,自减运算符,这两个运算符都是单目运算符,且功能相近,都是将数值变量的值加,1,或减,1,,用户只能将这类操作符应用于变量而不能应用于常量。,+value,(

4、前缀式)、,value+,(后缀式),区别:,前缀式先将操作数增,1,(或减,1,),然后取操作数的新值参与表达式的运算。后缀是先将操作数增,1,(或减,1,)之前的值参与表达式的运算,到表达式的值被引用之后再做加,1,(或减,1,)运算。,2026/2/1 周日,10,自增、自减运算符,运算符,名字,实例,+,自加,(,前缀,),+valuel+10/,得出,16,,,valuel,变为,6,+,自加,(,后缀,),valuel+10/,得出,15,,,valuel,变为,6,-,自减,(,前缀,),-valuel+10/,得出,14,,,valuel,变为,4,-,自减,(,后缀,),va

5、luel-+10/,得出,15,,,valuel,变为,4,2026/2/1 周日,11,自增、自减运算符,例:,a=6;b=a+;,a=6;b=+a;,a=6;b=a-;,a=6;b=-a;,2026/2/1 周日,12,关系运算符,C+,提供,6,种关系运算符,用于数值之间的比较,表达式的值或为,1,(表示,true,),或为,0,(表示,false,),。,2026/2/1 周日,13,运算符,名字,实例,=,等于,5=5/,得出,1,!=,不等于,5!=5/,得出,0,小于,5 5.5/,得出,1,=,小于或等于,5,大于,5 5.5/,得出,0,=,大于或等于,6.3=5/,得出,1

6、关系运算符,注意:,关系运算符的操作数应当是一个数值,字符是有效的操作数,因为它们是用数值来表示的。,关系运算符两边的数值结果必须是类型相同的,否则会容易出现关系判断的错误。,字符串不应当用关系运算符比较,因为被比较的不是字符串的内容本身,而是字符串的地址。,2026/2/1 周日,14,逻辑运算符,运算符,名字,实例,!,逻辑非,!(5=5)/,得出,0,&,逻辑与,5 6&6 6/,得出,0,|,逻辑或,5 6|6 5/,得出,1,2026/2/1 周日,15,逻辑与(,&,)和逻辑或(,|,)运算,对于,0,和非,0,操作数而言,非,0,表示逻辑真(,true,),,0,表示逻辑假(,

7、false,)。,在逻辑运算中,并不是所有的逻辑运算符都被执行,只有在必须执行下一个运算符后才能得出表达式的值时,才执行该运算符。,2026/2/1 周日,16,运算符,操作数,1,操作数,2,表达式的值,逻辑与(,&,),true,true,true,false,true,false,true,false,false,false,false,false,逻辑或(,|,),true,true,true,false,true,true,true,false,true,false,false,false,逻辑运算符,在有些,C+,环境中,没有专门的布尔类型,bool,,而用整数型,int,来代替。

8、int IsEmpty=0/,代表假,int IsEmpty=1/,代表真。,一般只有,0,代表假,而其它的任何值都代表真。,20&112|00|2001,逻辑表达式中的逻辑运算不是都需要执行的,。,1|(100/0)0&(100/0),2026/2/1 周日,17,逻辑表达式,例:,!20/,得出,010&5/,得出,110|5.5/,得出,110&0/,得出,0,2026/2/1 周日,18,位运算符,位操作运算符是用来进行二进制位运算的运算符。,逻辑位运算符,移位运算符。,2026/2/1 周日,19,运算符,名字,实例,取反,011/,得出,366,&,逐位与,011&027/,得出

9、001,|,逐位或,011|027/,得出,037,逐位异或,011 027/,得出,036,逐位左移,011,逐位右移,011 2/,得出,002,逻辑位运算符,单目逻辑位运算符:,(按位求反),作用是将各个二进制位由,1,变,0,,由,0,变,1,。,双目逻辑运算符:,&,(按位与),,|,(按位或),,(按位异或),其中优先级,&,高于,,而,高于,|,。,&,:两个都为,1,时结果为,1,。,|,:两个其中有一个为,1,则结果为,1,。,:两个不同则结果为,1,,否则为,0,。,2026/2/1 周日,20,移位运算符,(右移),例:,指出下面表达式的功能。,(p&0377)|(k&

10、0 xff)8,2026/2/1 周日,21,位运算符,例:,对两个操作数,011,和,027,,给出各个位运算符的计算实例,。,2026/2/1 周日,22,赋值运算符,=,是赋值运算符,,表示,将一个表达式的值赋给一个左值。,所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。,int a,b,c;a=3;b=4;c=(a+b)*,(,2*a-b,),2026/2/1 周日,23,复合,赋值运算符,运算符,实例,等价于,=,n=25,+=,n+=25,n=n+25,-=,n-=25,n=n-25,*=,n*=25,n=n*25,/=,n/=25,n=n/25,%=,

11、n%=25,n=n%25,&=,n&=0 xF2F2,n=n&0 xF2F2,|=,n|=0 xF2F2,n=n|0 xF2F2,=,n=0 xF2F2,n=n 0 xF2F2,=,n=4,n=n =,n=4,n=n 4,2026/2/1 周日,24,多重赋值表达式,当右操作数又是一个赋值表达式时,形成多重赋值表达式。例如:,i=j=0;/,结果,i,、,j,的值都为,0,多重赋值表达式不能出现在变量说明中。例如:,int i=j=0;/,非法,例:有变量说明,int a=2,b;,指出下面表达式运算后,a,和,b,的结果。,b+=b=+a;,2026/2/1 周日,25,多重赋值表达式,例:

12、int m,n,p;m=n=p=100;m=(n=p=100)+2;m+=n=p=10;,2026/2/1 周日,26,嵌入赋值,将赋值运算与比较运算结合在一起形成嵌入赋值。例如:,while(ch=getchar()!=n);,2026/2/1 周日,27,求字节数运算符,sizeof,是一个单目运算符,用于计算表达式或数据类型的字节数,其运算结果与不同的编译器和机器相关。,2026/2/1 周日,28,程序举例,#include int main(void),cout char size=sizeof(char)bytesn;,cout char*size=sizeof(char*)by

13、tesn;,cout short size=sizeof(short)bytesn;,cout int size=sizeof(int)bytesn;,cout long size=sizeof(long)bytesn;,cout float size=sizeof(float)bytesn;,cout double size=sizeof(double)bytesn;,cout 1.55 size=sizeof(1.55)bytesn;,cout 1.55L size=sizeof(1.55L)bytesn;,cout HELLO size=sizeof(HELLO)bytesn;,2026

14、/2/1 周日,29,运行结果,char size=1 byteschar*size=2 bytesshort size=2 bytesint size=2 byteslong size=4 bytesfloat size=4 bytesdouble size=8 bytes1.55 size=8 bytes1.55L size=10 bytesHELLO size=6 bytes,2026/2/1 周日,30,常用数据类型的字节数,数据类型,占用字节数,Char,1,Char*,4,Short,2,Int,4,Long,4,Float,4,Double,8,2026/2/1 周日,31,条件

15、运算符,格式:,操作数,1,?,操作数,2,:,操作数,3,cout(A=ch&ch=Z)?(a+ch-A),:,ch,int m=1,n=2;int min=(m n?m:n);,int m=1,n=2,p=3;int min=(m n?(m p?m:p):(n=b?)(b=c?b:c):(a=c?a:c),2026/2/1 周日,32,逗号运算符,逗号运算符带两个操作数,返回值是右操作数。,逗号表达式的一般形式如下:,表达式,1,,表达式,2,,,,表达式,n,例:,int m,n,min;int mCount=0,nCount=0;/.min=(m,(CWnd*wnd)-FromHand

16、le,结构或类中的域变量,.,(CWnd wnd).FromHandle,数组下标运算符,nYearsMonthsDays1012366,内存分配运算符,new,new CWnd,内存释放运算符,delete,delete(CWnd*wnd),2026/2/1 周日,34,优先级和结合性,2026/2/1 周日,35,C+,运算符的优先级和结合性,2026/2/1 周日,36,优先级和结合性举例,a=b+c*d,a=b+=c,c=a+b*a b,不同类型的运算符混合使用时,即使实现优先级与实际需要相符,最好也使用括号隔离之,以便代码更加清晰。,2026/2/1 周日,37,类型转换,2026/

17、2/1 周日,38,C+,数据类型的转换,条件,转换,较高级别操作数的类型为,long double,另一个操作数被转换为,long double,较高级别操作数的类型为,double,另一个操作数被转换为,double,较高级别操作数的类型为,float,另一个操作数被转换为,float,较高级别操作数的类型为,unsigned long,另一个操作数被转换为,unsigned long,较高级别操作数的类型为,long,另一个操作数被转换为,long,较高级别操作数的类型为,unsigned int,另一个操作数被转换为,unsigned int,两个操作数为,char,unsigned

18、char,signed char,,,short,unsigned short,类型,均转换为,int,2026/2/1 周日,39,自动类型转换,char ch=c,;,int a,,,b=13,;,float x=2.0,;,double y,;,a=ch+5,;,x=b/2/x,;,x=b/x/2;y=x/b,;,double d=1;int i=10.5;i=i+d;,2026/2/1 周日,40,强制类型转换,举例:,(int)3.14/3.14,转换成整型数,3(long)3.14/3.14,转换成长整型数,3L(double)2/2,转换成双精度数,2.0(char)122/12

19、2,转换成,Unicode,码为,122,的字符,(unsigned short)3.14/3.14,转换成无符号整型数,3,2026/2/1 周日,41,强制类型转换,类型标识符能被用于类型运算符。类型运算符是单目运算符,并位于其操作数的左边的圆括号里,称之显式类型转换,或强制类型转换。显式类型转换的一般形式为:,(类型名)(表达式),2026/2/1 周日,42,强制类型转换,例子,转换前类型,转换后类型,结果,(int)3.5,双精度浮点型,double,整型,int,3,(long)-3.5,双精度浮点型,double,长整型,long,-4,(double)2,整型,int,双精度浮

20、点型,double,2.0,(char)122,整型,int,字符型,char,0 x7A,(float)2,整型,int,单精度浮点型,float,2.0F,(unsigned short)3.5,双精度浮点型,double,无符号短整型,unsigned short,3,int,(,3.5,),双精度浮点型,double,整型,int,3,2026/2/1 周日,43,混合运算中的,隐式类型转换,举例:,double d=2;int i=3.5;i=i-d;,2026/2/1 周日,44,类型转换举例,short ishort=1000;unsigned char uichar;uicha

21、r=ishort;ishort=uichar;,2026/2/1 周日,45,表达式,2026/2/1 周日,46,表达式的种类,算术表达式,关系表达式,逻辑表达式,条件表达式,赋值表达式,逗号表达式,2026/2/1 周日,47,表达式,注意:,在表达式中,连续出现两个运算符时,最好用空格符分隔。如:,a+b;(a+b?a+b?),在写表达式中,有时记不清楚运算符的优先级时,可使用括号来确定运算符组合。,2026/2/1 周日,48,表达式的值和类型,在计算一个表达式的值时,应注意下述两点:,先确定运算符的功能。,确定计算顺序。,表达式的类型由运算符的种类和操作符的类型决定。,2026/2/

22、1 周日,49,算术表达式,算术表达式是由算术运算符和位操作运算符组成的表达式,其表达式的值是一个数值。表达式的类型具体地由运算符,和,操作数决定。,#include void main(),int a,b,m=3,n=4;,a=7*2+-3%5-4/3;/-3%5=-3,,,4/3=1,b=m+-n;,coutatbtmtnendl;,2026/2/1 周日,50,10 0 4 3,关系表达式,由关系运算符组成的表达式为关系表达式。关系表达式的运算结果为逻辑型,常用在条件语句和循环语句中。,#include void main(),char x=m,y=n;,int n;,n=xy;,cou

23、t nendl;,n=x=y-1;,coutnendl;,n=(y!=Y)+(53)+(y-x=1);,cout nb?+a:+b;,couta,b,cendl;,c=a-b?a-3?b:b-a:a;,couta,b,cendl;,2026/2/1 周日,53,3 5 5,3 5 2,赋值表达式,由赋值运算符组成的表达式为赋值表达式。,例:,int a,b,c,d;a=b=c=d=5/2;,int a=3,,,b=4,;,a*=b+1,;,x=func();if(x=3),.,2026/2/1 周日,54,if(x=func()=3).,逗号表达式,逗号表达式是用逗号将若干个表达式连起来组成的表达式。该表达式的值是组成逗号表达式的若干个表达式中的最后一个表达式的值,类型也是最后一个表达式的类型。,#include void main(),int a,b,c;,a=1,b=2,c=a+b+3;,couta,b,cendl;,c=(a+,a+=b,a-b);,couta,b,cendl;,2026/2/1 周日,55,1,2,6,4,2,2,2026/2/1 周日,56,Thank you!,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服