后置自增和自减
本课属于 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 取得新值)挑战
入门给定了一段代码,其中初始化了 x、y 和 z。(不要删除这些行!)
你的任务是使用自增和自减运算符,按以下顺序完成这些操作:
- 使用后缀自增运算符,将
x的当前值赋给a,然后让x自增。 - 使用前缀自减运算符,让
y自减,然后将它的新值赋给b。 - 使用后缀自减运算符,将
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;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: C++ 在线编译器