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