天天看点

【C语言】之运算符优先级别

熟记运算符优先级别技巧:

1、小括号

()

,中括号

[]

,结构成员访问操作符

->

.

优先级别最高!

2、所有单目运算符

~ ! ++ –- + - * & (type) sizeof

优先级别第二。

3、之后往下排:算术运算符 (

* / % + -

)、移位运算(

<< >>

)、关系算符(

> >= < <= == !=

)。

4、对于关系运算符:

==

!=

同一级别并且低于其它关系运算符。

5、关系运算符之后就是逻辑运算符:按位逻辑运算符(

& ^ |

)优先级别大于顺序逻辑运算符(

&& ||

),与运算大于或运算,按位异或介于按位与和按位或之间。

6、最后三级别:条件运算符(三目运算符

? :

)、各种赋值运算符、逗号表达式。

最后附上一张C语言运算符表

运算符 解释 结合方式
() [] -> . 括号(函数),数组,两种结构成员访问 自左向右
! ~ ++ -- + - * & (类型) sizeof 取反,按位取反,自增,自减,正负号,间接取值,取地址,类型转换,求大小 自右向左
* / % 乘,除,取模 自左向右
+ - 加,减 自左向右
<< >> 左移,右移 自左向右
< <= >= > 小于,小于等于,大于等于,大于 自左向右
== != 等于,不等于 自左向右
& 按位与 自左向右
^ 按位异或 自左向右
| 按位或 自左向右
&& 逻辑与 自左向右
|| 逻辑或 自左向右
? : 条件运算符 自右向左
= += -= *= /= &= ^= |= <<= >>= 各种赋值 自右向左
, 逗号运算符 自左向右

继续阅读