运算优先级

一、C++运算符种类:

1.算术运算符。

2.关系运算符。

3.逻辑运算符。

4.位运算符。

5.赋值运算符。

6.杂项运算符。

二、运算优先级

一般地:赋值运算符  <  逻辑运算符    <   | <   &   <   关系运算符   <    <<,>>     <   算术运算符<!,~   <  括号

具体为: 

优先级操作符 描述例子结合性
1()括号调节优先级的括号操作符(a+b)/4;从左到右
[] 数组下标访问操作符array[4]=2;
-> 通过指向对象的指针访问成员的操作符ptr->age=34;
. 通过对象本身访问成员的操作符obj.age=34;
:: 作用域操作符Class::age=2;
++ 后置自增操作符for(i=0;i<10;i++)...
-- 后置自减操作符for(i=10;i>0;i--)...
2!逻辑运算符逻辑取反操作符if(!done)...从右到左
~位运算符按位取反(按位取补) flags=~flags;
++ 前置自增操作符for(i=0;i<10;++i)...
-- 前置自减操作符for(i=10;i>0;--i)...
- 一元取负操作符int i=-1;
+ 一元取正操作符int i=+1;
* 解引用操作符data=*ptr;
& 取地址操作符address=&obj;
(type) 类型转换操作符int i=(int)floatNum;
sizeof 返回对象占用的字节数操作符int size=sizeof(floatNum);
3->* 在指针上通过指向成员的指针访问成员的操作符ptr->*var=24;从左到右
.* 在对象上通过指向成员的指针访问成员的操作符obj.*var=24;
4*算术运算符乘法操作符int i=2*4;从左到右
/除法操作符float f=10/3;
%取余数操作符int rem=4%3;
5+加法操作符int i=2+3;从左到右
-减法操作符int i=5-1;
6<<位运算符按位左移操作符int flags=33<<1;从左到右
>>按位右移操作符int flags=33>>1;
7<关系运算符小于比较操作符if(i<42)...从左到右
<=小于或等于比较操作符if(i<=42)...
>大于比较操作符if(i>42)...
>=大于或等于比较操作符if(i>=42)...
8==等于比较操作符if(i==42)...从左到右
!=不等于比较操作符if(i!=42)...
9&位运算符按位与操作符flags=flags&42;从左到右
10^按位异或操作符flags=flags^42;从左到右
11|按位或操作符flags=flags|42;从左到右
12&&逻辑运算符逻辑与操作符if(conditionA&&conditionB)...从左到右
13||逻辑或操作符if(conditionA||conditionB)...从左到右
14?: 三元条件操作符int i=(a>b)?a:b;从右到左
15=赋值运算符赋值操作符int a=b;从右到左
+=复合赋值操作符(加法)a+=3;
-=复合赋值操作符(减法)b-=4;
*=复合赋值操作符(乘法)a*=5;
/=复合赋值操作符(除法)a/=2;
%=复合赋值操作符(取余)a%=3;
&=复合赋值操作符(按位与)flags&=new_flags;
^=复合赋值操作符(按位异或)flags^=new_flags;
|=复合赋值操作符(按位或)flags|=new_flags;
<<=复合赋值操作符(按位左移)flags<<=2;
>>=复合赋值操作符(按位右移)flags>>=2;
16, 逗号操作符for(i=0,j=0;i<10;i++,j++)...从左到右

三、典型例子:

例1.计算23+2||2&&5*3-6^5

例2.计算0&&!2+5||1&&!(2+!0)

例3.int b=7; float a=2.5,c=4.7;

   计算a+(int)(b/3*(int)(a+c)/2.0%4

例4.int a=3,b=2,c=1;

   计算(a>b)==c

   计算b+c<a

   计算f=a>b>c

答案:例1.  1;    例2.  0;    例3.  5.5    例4.  1;  0;  f的值为0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值