位运算符的优先级与条件运算符的比较

如题所述

优先级运算符名称或含义使用形式结合方向说明
1
[] 数组下标数组名[常量表达式]
左到右
() 圆括号
(表达式)/函数名(形
参表)
. 成员选择(对象) 对象.成员名
-> 成员选择(指针) 对象指针->成员名
2
- 负号运算符-表达式
右到左
单目运算符
(类型) 强制类型转换(数据类型)表达式
++ 自增运算符++变量名/变量名++ 单目运算符
-- 自减运算符--变量名/变量名-- 单目运算符
* 取值运算符*指针变量单目运算符
& 取地址运算符&变量名单目运算符
! 逻辑非运算符!表达式单目运算符
~ 按位取反运算符~表达式单目运算符
sizeof 长度运算符sizeof(表达式)
3
/ 除表达式/表达式
左到右
双目运算符
* 乘表达式*表达式双目运算符
% 余数(取模)
整型表达式/整型表
达式
双目运算符
4
+ 加表达式+表达式
左到右
双目运算符
- 减表达式-表达式双目运算符
5
<< 左移变量<<表达式
左到右
双目运算符
>> 右移变量>>表达式双目运算符
6
> 大于表达式>表达式
左到右
双目运算符
>= 大于等于表达式>=表达式双目运算符
< 小于表达式<表达式双目运算符
<= 小于等于表达式<=表达式双目运算符
7
== 等于表达式==表达式
左到右
双目运算符
!= 不等于表达式!= 表达式双目运算符
8 & 按位与表达式&表达式左到右双目运算符
9 ^ 按位异或表达式^表达式左到右双目运算符
10 | 按位或表达式|表达式左到右双目运算符
11 && 逻辑与表达式&&表达式左到右双目运算符
12 || 逻辑或表达式||表达式左到右双目运算符
13 ?: 条件运算符
表达式1? 表达式2:
表达式3
右到左三目运算符
14
= 赋值运算符变量=表达式
右到左
/= 除后赋值变量/=表达式
*= 乘后赋值变量*=表达式
%= 取模后赋值变量%=表达式
+= 加后赋值变量+=表达式
-= 减后赋值变量-=表达式
<<= 左移后赋值变量<<=表达式
>>= 右移后赋值变量>>=表达式
&= 按位与后赋值变量&=表达式
^= 按位异或后赋值变量^=表达式
|= 按位或后赋值变量|=表达式
15 , 逗号运算符表达式,表达式,… 左到右
从左向右顺
序运算
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-23
位运算在先。
第2个回答  2011-04-15
条件运算符的级别低。

算术运算符,文本运算符,引用运算符和比较运算符优先级?
位运算符的优先级比较分散。除了赋值运算符、条件运算符、单目运算符三类的平级运算符之间的结合顺序是从右至左,其他都是从左至右。C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 []数组下标 数组名[常量表达式]左到右 -- ()圆括号 (表达式)\/函数名(形参表)-- .成员...

运算符有优先级吗?
(逻辑非)、~(按位取反)、&(按位与)、|(按位或)、^(异或)。这些运算符的优先级高于算术运算符,但低于括号。比较运算符:==、!=、>、<、≥、≤。这些运算符的优先级低于身份运算符,但高于算术运算符和括号。赋值运算符:=, +=, -=, *=, \/=, %=, <<, >>, &=, ...

运算符优先级高低是怎么排列的?
优先级排序为:算术运算符 > 关系运算符 > 赋值运算。算术运算符中,乘法运算符【*】、除法运算符【\/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【< > <= ...

运算符优先级的顺序是什么?
优先级速记:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。如果不记得优先级了,使用()来确定执行顺序。有()先算()里面的。

C语言的运算符的优先级:逻辑运算符、条件运算符、赋值运算符、关系运...
6、第六级:&、^、| 这三个符号也是位运算符号,其中内优先级,&>^>|。7、第七级:&&、|| 逻辑与&&优先级大于逻辑或||。8、第八级:? :也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左。9、第九级:=、+=、-+、*=、\/=、%= 这些...

c语言运算符优先级顺序
C语言运算符优先级顺序为:1. 括号 ``2. 单目运算符 3. 乘性运算符 4. 加性运算符 5. 移位运算符 `<>`6. 关系运算符 7. 等于运算符 8. 位运算符 9. 逻辑运算符 10. 条件运算符 `?:`11. 赋值运算符 以下是关于C语言运算符优先级的 在C语言中,运算符的优先级决定了表达式中运算的...

c语言运算符的优先级顺序
1、括号运算符 括号运算符具有最高的优先级,它可以改变其他运算符的优先级顺序。使用括号可以明确表达式的计算顺序。2、一元运算符 一元运算符包括正号+、负号-、递增运算符++、递减运算符--、取地址运算符&、取值运算符*等。一元运算符优先级高于二元运算符,并且从右到左结合。3、算术运算符 算术...

计算机的数字运算符的优先级顺序是什么?
<><=>=】属于优先级第六级。算术运算符含义(示例):+(加号):加法运算(3+3)。–(减号):减法运算(3–1)负(–1)。(星号):乘法运算(3*3)。\/(正斜线):除法运算(3\/3)。(百分号):求余运算10%3=1(10\/3=3···1)。^(乘方):乘幂运算(3^2)。

C语言运算符优先级
算术运算符如*、\/、%的优先级高于加减,移位运算符随后。关系运算符(< >=)与相等不等运算符相比,具有更高优先级。逻辑操作符(除了单目运算符)和位操作符也有不同的优先级层次。条件运算符(如a ? b : c)的逻辑判断是先确定a的值,再决定执行b或c。赋值表达式(如a = b = c = 6)...

C++中各类运算符的优先级
等于和不等于运算符(==、!=)与位与(&)、异或(^)、或(|)一起,构成了第七级优先级,这些是位逻辑运算。逻辑或(||)和与(&&)分别位于第八和第九级,逻辑与的优先级高于逻辑或。最后,条件运算符(三目运算符)和赋值运算符的优先级相对较高,排在第十一位,而逗号运算符(用于连接...

相似回答