C++ 运算符优先级

运算符优先级

当一个计算包含多个运算符时,C++ 遵循运算顺序规则来决定先计算哪一部分。

例如,乘法在加法之前执行:

实例

int result1 = 2 + 3 * 4;     // 2 + 12 = 14
int result2 = (2 + 3) * 4;   // 5 * 4 = 20

cout << result1 << "\n";
cout << result2 << "\n";

亲自试一试

为什么会这样?

2 + 3 * 4 中,乘法先执行,所以结果是 14。

如果您希望先执行加法,则必须使用括号:(2 + 3) * 4,这将得到 20。

提示:如果您希望确保计算按照您期望的顺序进行,请始终使用括号 ()。它也使您的代码更易于阅读。

运算顺序

以下是 C++ 中一些常见运算符的优先级,从最高到最低:

  • () - 括号
  • *, /, % - 乘法、除法、取模
  • +, - - 加法、减法
  • >, <, >=, <= - 比较
  • ==, != - 相等性
  • && - 逻辑与
  • || - 逻辑或
  • = - 赋值

另一个示例

除非您添加括号,否则减法和加法从左到右执行:

实例

int result1 = 10 - 2 + 5;    // (10 - 2) + 5 = 13
int result2 = 10 - (2 + 5);  // 10 - 7 = 3

cout << result1 << "\n";
cout << result2 << "\n";

亲自试一试

请记住:括号总是优先。使用它们来控制计算的顺序。