在C语言中,运算符的优先级决定了表达式中各个运算符的执行顺序。以下是一些常见运算符的优先级从高到低的顺序:
1. 括号: () ,用于改变运算顺序,括号内的表达式先计算。
2. 单目运算符:包括 ++ (自增)、 -- (自减)、 ! (逻辑非)、 ~ (按位取反)、 - (负号)等,单目运算符具有较高的优先级,且结合性通常是从右向左。
3. 算术运算符:先乘除后加减,即 * (乘法)、 / (除法)、 % (取余)的优先级高于 + (加法)、 - (减法)。
4. 移位运算符: << (左移)、 >> (右移),其优先级低于算术运算符。
5. 关系运算符: < (小于)、 > (大于)、 <= (小于等于)、 >= (大于等于),优先级低于移位运算符。
6. 相等性运算符: == (等于)、 != (不等于),优先级低于关系运算符。
7. 位逻辑运算符:按优先级从高到低依次为 & (按位与)、 ^ (按位异或)、 | (按位或)。
8. 逻辑运算符: && (逻辑与)的优先级高于 || (逻辑或),逻辑运算符的优先级相对较低。
9. 条件运算符: ? : ,它是C语言中唯一的三目运算符,优先级较低。
10. 赋值运算符: = 、 += 、 -= 等,优先级最低,结合性是从右向左。
当表达式中存在多个运算符时,按照优先级顺序进行计算。如果运算符的优先级相同,则按照结合性来确定计算顺序。 |