Menu
CoddyTech

后置自增和自减

本课属于 Coddy C++ 学习旅程的“基础知识”单元。第 19 课,共 74 课。

在上一课中,我们学习了递增(++)和递减(--)运算符。这些运算符有两种形式:前缀和后缀。

前缀形式写在变量前面(例如,++x 或 --x),后缀形式写在变量后面(例如,x++ 或 x--)。

知道该使用哪种形式在实际应用中很重要。例如,在游戏中,每次击中目标后,你可以用 score++ 记录玩家的分数,也可以用 --lives 立即反映失去的一条命,然后再检查游戏是否结束。在循环中,选择前缀还是后缀会影响更新前或更新后表达式使用的值。

这两种形式之间的区别很细微,但很重要:

  • 前缀形式:先递增或递减变量,然后返回新值。
  • 后缀形式:先返回变量当前的值,然后递增或递减变量。

下面的示例展示了它们之间的区别:

int x = 5;
int y = x++;
// y = 5,x = 6(后缀自增:y 先得到原来的值,然后 x 加 1)

int a = 5;
int b = ++a;
// b = 6,a = 6(前缀自增:a 先加 1,然后 b 得到新值)

在第一种情况下,y 被赋予 x 的原始值(5),然后 x 自增到 6。在第二种情况下,先将 a 自增,然后将它的新值(6)赋给 b。

递减运算符也遵循相同的逻辑:

int x = 5;
int y = x--;
// y = 5,x = 4(后缀:y 先取得原来的值,然后 x 减 1)

int a = 5;
int b = --a;
// b = 4,a = 4(前缀:a 先减 1,然后 b 取得新值)
challenge icon

挑战

入门

给定了一段代码,其中初始化了 x、y 和 z。(不要删除这些行!)

你的任务是使用自增和自减运算符,按以下顺序完成这些操作:

  1. 使用后缀自增运算符,将 x 的当前值赋给 a,然后让 x 自增。
  2. 使用前缀自减运算符,让 y 自减,然后将它的新值赋给 b。
  3. 使用后缀自减运算符,将 z 的当前值赋给 c,然后让 z 自减。

完成这些操作后,按以下格式将 a、b、c、x、y 和 z 的值打印到控制台:

a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]

亲手试试

#include <iostream>

int main() {
    int x = 10;
    int y = 20;
    int z = 30;
    
    int a, b, c;
    
    // 在下方输入你的代码
    
    
    // 不要修改下面的代码行
    std::cout << "a: " << a << std::endl;
    std::cout << "b: " << b << std::endl;
    std::cout << "c: " << c << std::endl;
    std::cout << "x: " << x << std::endl;
    std::cout << "y: " << y << std::endl;
    std::cout << "z: " << z << std::endl;
    
    return 0;
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: C++ 在线编译器