在 C++ 中,自增和自减运算符用于对变量的值进行增加或减少。它们有两种形式:前缀和后缀。
1.自增运算符 ++
1.1前缀自增:++a
以下是一个 C++ 程序示例,展示了前缀自增运算符 (++) 的用法及其效果。
#include <iostream>
int main() {
int a = 10;
std::cout << "Initial value of a: " << a << std::endl; // 输出 10
// 使用前缀自增
int result = ++a; // a 先自增,然后赋值给 result
std::cout << "After prefix increment: " << a << std::endl; // 输出 11
std::cout << "Result after prefix increment: " << result << std::endl; // 输出 11
// 继续使用前缀自增
result = ++a; // 再次自增
std::cout << "After another prefix increment: " << a << std::endl; // 输出 12
std::cout << "Result after another prefix increment: " << result << std::endl; // 输出 12
return 0;
}
程序解释
初始值:
a 被初始化为 10。
前缀自增:
result = ++a; 将 a 的值增加 1(变为 11),然后将新值赋给 result。
输出显示 a 的新值和 result 的值,都为 11。
再次使用前缀自增:
再次执行 result = ++a;,a 增加到 12,并赋值给 result。
输出显示 a 和 result 的值,都是 12。
1.2后缀自增:a++
#include <iostream>
int main() {
int a = 10;
std::cout << "Initial value of a: " << a << std::endl; // 输出 10
// 使用后缀自增
int result = a++; // 先将 a 的值赋给 result,然后 a 自增
std::cout << "After postfix increment: " << a << std::endl; // 输出 11
std::cout << "Result after postfix increment: " << result << std::endl; // 输出 10
// 继续使用后缀自增
result = a++; // 再次赋值当前 a 的值,然后自增
std::cout << "After another postfix increment: " << a << std::endl; // 输出 12
std::cout << "Result after another postfix increment: " << result << std::endl; // 输出 11
return 0;
}
程序解释
初始值:
a 被初始化为 10。
后缀自增:
result = a++; 将 a 的当前值(10)赋给 result,然后 a 自增到 11。
输出显示 a 的新值(11)和 result 的值(10)。
再次使用后缀自增:
再次执行 result = a++;,将 a 当前值(11)赋给 result,然后 a 自增到 12。
输出显示 a 和 result 的值,分别是 12 和 11。
2.自减运算符 –
2.1前缀自减:–a
#include <iostream>
int main() {
int a = 10;
std::cout << "Initial value of a: " << a << std::endl; // 输出 10
// 使用前缀自减
int result = --a; // a 先自减,然后赋值给 result
std::cout << "After prefix decrement: " << a << std::endl; // 输出 9
std::cout << "Result after prefix decrement: " << result << std::endl; // 输出 9
// 继续使用前缀自减
result = --a; // 再次自减
std::cout << "After another prefix decrement: " << a << std::endl; // 输出 8
std::cout << "Result after another prefix decrement: " << result << std::endl; // 输出 8
return 0;
}
程序解释
初始值:
a 被初始化为 10。
前缀自减:
result = --a; 将 a 的值减少 1(变为 9),然后将新值赋给 result。
输出显示 a 的新值和 result 的值,都是 9。
再次使用前缀自减:
再次执行 result = --a;,a 减少到 8,并赋值给 result。
输出显示 a 和 result 的值,都是 8。
2.2后缀自减:a–
#include <iostream>
int main() {
int a = 10;
std::cout << "Initial value of a: " << a << std::endl; // 输出 10
// 使用后缀自减
int result = a--; // 先将 a 的值赋给 result,然后 a 自减
std::cout << "After postfix decrement: " << a << std::endl; // 输出 9
std::cout << "Result after postfix decrement: " << result << std::endl; // 输出 10
// 继续使用后缀自减
result = a--; // 再次赋值当前 a 的值,然后自减
std::cout << "After another postfix decrement: " << a << std::endl; // 输出 8
std::cout << "Result after another postfix decrement: " << result << std::endl; // 输出 9
return 0;
}
程序解释
初始值:
a 被初始化为 10。
后缀自减:
result = a–; 将 a 的当前值(10)赋给 result,然后 a 自减到 9。
输出显示 a 的新值(9)和 result 的值(10)。
再次使用后缀自减:
再次执行 result = a–;,将 a 当前值(9)赋给 result,然后 a 自减到 8。
输出显示 a 和 result 的值,分别是 8 和 9。