C语言的运算符优先级如下(由高到低):
-
括号:
()
,用于改变表达式的结合性和优先级。 -
单目运算符:
++
,--
,+
,-
,!
,~
,sizeof
,&
,*
,++
,--
,用于对单个操作数进行操作。 -
强制类型转换:
()
,用于强制转换操作数的类型。 -
乘法和除法:
*
,/
,%
,用于执行乘法、除法和取模运算。 -
加法和减法:
+
,-
,用于执行加法和减法运算。 -
移位运算:
<<
,>>
,用于执行按位左移和右移运算。 -
关系运算符:
<
,>
,<=
,>=
,用于比较操作数的大小关系。 -
相等和不等运算符:
==
,!=
,用于比较操作数是否相等。 -
位与运算符:
&
,用于执行按位与运算。 -
位异或运算符:
^
,用于执行按位异或运算。 -
位或运算符:
|
,用于执行按位或运算。 -
逻辑与运算符:
&&
,用于执行逻辑与运算。 -
逻辑或运算符:
||
,用于执行逻辑或运算。 -
条件运算符:
?:
,用于根据条件选择执行不同的操作。 -
赋值运算符:
=
,+=
,-=
,*=
,/=
,%=
,<<=
,>>=
,&=
,^=
,|=
,用于给变量赋值。 -
逗号运算符:
,
,用于将多个表达式连接成一个表达式。
需要注意的是,优先级高的运算符会先于优先级低的运算符进行计算。如果有多个运算符具有相同的优先级,那么它们会按照从左到右的顺序依次计算。可以使用括号来改变运算符的优先级。