C语言中的运算符有不同的优先级和结合性,这些属性决定了表达式中运算符的计算顺序。以下是一些常见的C语言运算符,按照优先级从高到低排列,并且包括它们的结合性:
-
后缀运算符(Postfix Operators):
()
函数调用[]
数组访问->
结构体指针成员访问.
结构体成员访问
结合性:从左到右
-
一元前缀运算符(Unary Prefix Operators):
+
正号-
负号++
前缀递增--
前缀递减!
逻辑非~
位取反&
取地址*
间接引用(指针)
结合性:从右到左
-
乘法和除法运算符(Multiplicative Operators):
*
乘法/
除法%
取余
结合性:从左到右
-
加法和减法运算符(Additive Operators):
+
加法-
减法
结合性:从左到右
-
位移运算符(Shift Operators):
<<
左移>>
右移
结合性:从左到右
-
关系运算符(Relational Operators):
<
小于>
大于<=
小于等于>=
大于等于
结合性:从左到右
-
相等性运算符(Equality Operators):
==
等于!=
不等于
结合性:从左到右
-
按位与运算符(Bitwise AND):
&
结合性:从左到右
-
按位异或运算符(Bitwise XOR):
^
结合性:从左到右
-
按位或运算符(Bitwise OR):
|
结合性:从左到右
-
逻辑与运算符(Logical AND):
&&
结合性:从左到右
-
逻辑或运算符(Logical OR):
||
结合性:从左到右
-
条件运算符(Conditional Operator):
? :
结合性:从右到左
-
赋值运算符(Assignment Operators):
=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
结合性:从右到左
-
逗号运算符(Comma Operator):
,
结合性:从左到右
下面是具体表格: