返回 课程

信奥AC之路-1级

0% 完成
0/0 步骤
  1. 第1课 开发环境与基础输出
    5 主题|小节
  2. 第2课 算术运算符
    7 主题|小节
  3. 第3课 printf与运算输出
    7 主题|小节
  4. 第4课 数的进制与拆位
    6 主题|小节
  5. 第5课 变量与基础运算
    17 主题|小节
  6. 第6课 常量与取整运算
    8 主题|小节
  7. 第7课 关系运算
    8 主题|小节
  8. 第8课 逻辑运算
    9 主题|小节
  9. 第9课 输入与计算进阶
    10 主题|小节
  10. 第10课 if语句及双分支语句
    8 主题|小节
  11. 第11课 if语句及双分支进阶
    11 主题|小节
  12. 第12课 三目运算
    9 主题|小节
  13. 第13课 多分支、多if和switch语句
    11 主题|小节
  14. 第14课 循环(基本输出)
    7 主题|小节
  15. 第15课 循环(While+If)
    8 主题|小节
  16. 第16课 循环(计数、求和、求乘积)
    10 主题|小节
  17. 第17课 循环进阶(While+)
    8 主题|小节
  18. 第18课 do-while及while其他用法
    8 主题|小节
  19. 第19课 For循环基础
    9 主题|小节
  20. 第20课 For循环进阶
    8 主题|小节
课 5, 主题|小节 8
进行中

5.7 复合赋值运算符

2025年9月22日
课 进展
0% 完成

“有时候我们可以用更简短的方式来写运算,”我在黑板上写道。

// 基本复合赋值运算符
int x = 10;
x += 5;               // 等价于 x = x + 5
x -= 3;               // 等价于 x = x - 3
x *= 2;               // 等价于 x = x * 2
x /= 4;               // 等价于 x = x / 4
x %= 3;               // 等价于 x = x % 3

// 混合使用
int y = 20;
y *= 2 + 3;          // 等价于 y = y * (2 + 3)

// 连续使用
int a = 5, b = 10;
a += b += 5;         // b先加5,然后a加上b的新值

练习题:

  1. 选择题:如果x=10,执行x *= 3 + 2后,x的值是多少?
    A. 35
    B. 50
    C. 15
    D. 25

正确答案:B
解析:x *= 3 + 2 等价于 x = x * (3 + 2),所以是10 * 5 = 50。

  1. 判断题:a += b和a = a + b的效果永远相同。
    正确答案:√
    解析:复合赋值运算符就是一种简写形式,与完整形式的效果相同。