首页 C++运算符优先级

C++运算符优先级

举报
开通vip

C++运算符优先级以下是C++程式语言中的所有运算子的优先级和结合性列表。优先级运算于叙述1++作用域解析(C++专有)后缀递增--后缀递减{}组合()函数调用或变量初始化2[].数组访问以对象方式访1可成员->以指针方式访1可成贝dynamic_cast运仃时检查类型转换(C++专有)static_cast未经检查的类型转换(C++专有)reinterpret_cast重正义类型转换(C++专有)const_cast更改非常量届性(C++专有)...

C++运算符优先级
以下是C++程式语言中的所有运算子的优先级和结合性列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 。优先级运算于叙述1++作用域解析(C++专有)后缀递增--后缀递减{}组合()函数调用或变量初始化2[].数组访问以对象方式访1可成员->以指针方式访1可成贝dynamic_cast运仃时检查类型转换(C++专有)static_cast未经检查的类型转换(C++专有)reinterpret_cast重正义类型转换(C++专有)const_cast更改非常量届性(C++专有)typeid获取类型信息(C++专有)++前缀递增--前缀递减+■兀正亏-一兀负亏!逻辑非not!的备用拼写~按位取反3compl~的备用拼写(type)强制类型转换*引用&取某某的地址(参考)sizeof某某的大小new动态内存分配(C++专有)new[]动态数组内存分配(C++专有)delete动态内存释放(C++专有)delete[]动态数组内存释放(C++专有)4.*成员对象选择(C++专有)->*成贝拓针选择(C++专有)*乘法5/除法%模数(取余)6+加法-减法7<<位兀左移示例Class::age=2;i++i--{i++;a*=i;}c_tor(intx,inty):_x(x),_y(array[4]=2;obj.age=34;ptr->age=34;Y&y=dynamic_cast(x);Y&y=static_cast(x);intconst*p=reinterpret_cast(0int*q=const_cast(p);std::type_infoconst&t=typeid(++i--iinti=+1;inti=-1;if(!done),flagl=~flag2;inti=(int)floatNum;intdata=*intPtr;int*intPtr=&data;size_ts=sizeof(int);long*pVar=newlong;long*array=newlong[20];deletepVar;delete[]array;obj.*var=24;ptr->*var=24;inti=2*4;floatf=10.0/3.0;intrem=4%3;inti=2+3;inti=5-1;intflags=33<<1;>>位元右移intflags=33>>1;<小于关系if(i<42),8<=小于等于关系if(i<=42)...>大于关系if(i>42),>=大于等于关系if(i>=42)...==等于关系if(i==42)...9eq==的备用拼写!=不等于关系if(i!=42),not_eq!=的备用拼写&位元ANDflag1=flag2&42;10bitand&的备用拼写11Axor位元XOR(独占or)a的备用拼写flag1=flag2a42;121bitor位元OR(包含or)|的备用拼写flag1=flag2|42;&&逻辑ANDif(conditionA&&conditionB)13and&&勺备用拼写14IIor逻辑OR||的备用拼写if(conditionA||conditionB)..15c?t:f三元条件运算inti=a>b?a:b;=直接赋值inta=b;+=以和赋值a+=3;-=以差赋值b-=4;*=以乘赋值a*=5;/=以除赋值a/=2;%=以取余数赋值a%=3;16<<=以位元左移赋值flags<<=2;>>=以位元右移赋值flags>>=2;&=以位元AND®值flags&=new_flags;and_eq&=的备用拼写A=以位元XOR武值flagsa=new_flags;xor_eqa=的备用拼写|=以位元ORW值flags|=new_flags;or_eq|=的备用拼写17throw抛出异常throwEClass(“Messagd);18,循环评估运算for(i=0,j=0;i<10;i++,j算术运算符及算术表达式:C++中的算术运算符有:+(取正或加),-(取负或减),*(乘),/(除),%(取余),++(增1),--(减1)。其中+(取正),-(取负),++(增1),--(减1)是单目运算符,其余是双目运算符。+,-,*,/运算符与其在数学中的意义,优先级,结合性基本相同。但必须注意“履算符,当它的两个操作数都是整数时,其计算结果也是整型,结果为两整数相除后的商。例,3/2的结果是1,3/5的结果是0.运算符“%'是取余运算,结果为两个整数相除后的余数。例如,5%3的结果是2,6%2结果是0.注意:要求取余运算符“%'的两个操作数必须是整型或字符型数据。增1,减1运算是将变量的值增1或减1.这两个运算符都有前置和后置两种形式。前置形式是先计算操作数的值(增1或减1),然后把操作数的值作为表达式的结果。而后置形式是先将操作数的值作为表达式的结果,然后将操作数的值(增1或减1)。关系运算符及关系表达式:关系运算是比较两个操作数的大小。当两个操作数满足关系运算符指定的关系时,表达式的值为true,否则为false。在C++中,关系运算符都是双目运算符,共有6个:<(小于)<=(小于等于)>(大于)>=(大于等于)==(等于)!=(不等于)。其中前4种和后2种属于不同的优先级,前4种的优先级高于后2种。由关系运算符和操作运算符组成的表达式为关系表达式,关系表达式的结果为布尔类型。逻辑运算符及逻辑表达式:逻辑运算符共有3个:1个单目运算符f”,2个双目运算符"&&'(逻辑与)和“||('逻辑或)。其中逻辑与的优先级比逻辑或高。逻辑运算的结果是逻辑值。参与逻辑运算的操作数可以是任一基本类型的数据,在进行判断时,系统将非零值作为真,零为假。对于单目运算符"!'逻辑求反),若其操作数为false(0),运算结果为true(1),否则为false(0)。例如,!5的结果为0.对于"&&'(逻辑与)运算符,只要两个操作数中有一个为false(0),运算结果就为false(0),否则true(1).例如,2&&5的结果为1.对于"||(逻辑或)运算符,只要两个操作数中有一个为true(1),运算结果就为true(1),否则为false(0)。例如,5||0的结果为1.由逻辑预算副和操作数构成的表达式为逻辑表达式,逻辑表达式的结果为布尔类型。注意:当多个"||('逻辑或)运算符,只要两个操作数中有一个为true(1),运算结果就为true(1),否则则为false(0),停止后续计算,例如:a=0,b=2,c=3;表达式a++||b++||c++运算后,整个表达式值为true(1),a的值为1,b的值为2,c的值为3.赋值运算符和赋值表达式:c++中的赋值运算符分两种:简单赋值运算和复合赋值运算符。赋值运算符都是二元运算符,右结合。由赋值运算符和操作数组成的表达式称为赋值表达式。简单赋值运算符c++中的简单赋值运算符为“=:'其表达式的一般形式为:变量=表达式该表达式执行时,先计算赋值运算符右部表达式”的值,然后将它赋给左边的变量。赋值表达式的值为左边变量的值,其类型为左边变量的类型。复合赋值运算符:复合赋值运算符由一个基本赋值运算符和其他一些运算符复合构成,共有10个,分别为:+=,-=,*=,/=,%=,<<=,>>=,&=,A=,|=.如果以“。成示某种运算符,则复合赋值表达式的一般形式为:变量op=表达式等价于:变量=变量op表达式即先用左部变量和右部表达式作数值运算,然后将运算结果送给左部变量。例如:a+=3等价于a=a+3使用复合赋值运算符不仅书写简练,而且经过编译以后生成的代码少。位运算符:C++提供了6个位运算符:~(按位求反),&(按位与),|(按位或),A(按位异或),<<(左移位),>>(右移位),其中按位求反是单目运算符,其余都是双目运算符。位运算符是对其操作数按二进制形式逐位进行运算,参与运算的操作数都应为整型数,不能是实型数。(1)~(按位求反):其作用是对一个二进制数的每一位求反,即0^1,1^0.(2)&(按位求反):其作用是对两个操作数对应的每一位分别进行逻辑与操作。两操作数对应位都是1,则该位运算结果为1,否则该位运算结果为0.(3)|(按位或):其作用是对两个操作数对应的每一位非别进行逻辑或操作。两操作数对应位中有1位是1,则该位运算结果为1,否则该位运算结果为0.(4)a(按位异或):其作用是对两个操作数对应的每一位分别进行逻辑异或操作。两操作数对应位的值不同,则该位运算结果为1,否则该位运算结果为0.(5)>>(右移位):将左操作数的各二进制位右移,右移位数由右操作数给出。右移相当于将操作数除以2。例如,表达式8<<1的结果为4.<<(左移位):将左操作数的各二进制位左移,左移位数由右操作数给出。左移1位相当于将操作数乘以2.例如,表达式2<<1的结果为4.注意:移位运算的结果就是位运算表达式的值,参与运算的两个操作数的值并没有发生变化。条件运算符:条件运算符♦是C++中位移的一个三目运算符,其使用的一般形式为:表达式?表达式2:表达式3该表达式执行时,先计算表达式1,若其值为真,则表达式2的值为条件表达式的值;否则表达式3的值为条件表达式的值。条件运算符的优先级低于算术运算符,关系运算符和逻辑运算符,高于赋值运算符,结合性从右到左”。逗号运算符:由逗号运算符构成的表达式称为逗号表达式,其一般形式为:表达式1,表达式2。。。,表达式n逗号表达式的执行规则是从左到右逐个表达式执行,最后一个表达式的值是该逗号表达式的值。注意:逗号运算符的优先级最低。
本文档为【C++运算符优先级】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:6
分类:
上传时间:2019-05-18
浏览量:1