算术运算符、赋值运算符和关系运算符的优先级是什么?

算术运算符、赋值运算符和关系运算符的优先级是什么?
最新回答
信上诗两行

2026-10-24 11:16:13

算术运算符、赋值运算符和关系运算符的优先级排序为:算术运算符 > 关系运算符 > 赋值运算符。以下是具体说明:

1. 算术运算符优先级

  • 乘法(*)、除法(/)、取余(%):优先级第三级,高于加减法。
  • 加法(+)、减法(-):优先级第四级,低于乘除余。

2. 关系运算符优先级

  • 小于(<)、大于(>)、小于等于(<=)、大于等于(>=):优先级第六级。
  • 等于(==)、不等于(!=):优先级第七级,低于其他关系运算符。

3. 赋值运算符优先级

  • 赋值(=)及其复合形式(如+=、-=等):优先级第十四级,为最低优先级之一。

补充说明

  • 优先级与求值顺序无关:例如表达式a+b && b*c中,虽*优先级最高,但求值顺序仍从左到右。
  • 结合性规则:相同优先级时,多数运算符从左到右结合,但单目运算符、条件运算符(?:)、赋值运算符从右向左结合。
  • 其他运算顺序:指针运算 > 单目运算(如正负号) > 算术运算 > 移位运算 > 位运算 > 逻辑运算。例如,1 << 3 + 2 & 7等价于(1 << (3 + 2)) & 7。

参考资料:优先级规则适用于C语言等类似语法语言,具体可参考《C语言》教程。