#include<iostream>using namespace std;
intmain() {
// 自增自减int a = 10;
a++; // a = 11// 复合赋值int b = 20;
b += 5; // b = 25// 三目运算符int x = 10, y = 20;
int max = (x > y) ? x : y; // max = 20return0;
}
⚙️ 自增自减运算符
前置与后置的区别
#include<iostream>using namespace std;
intmain() {
int a = 10;
int b = 10;
// 前置++:先加1,再使用int c = ++a; // a = 11, c = 11// 后置++:先使用,再加1int d = b++; // d = 10, b = 11
cout << "a = " << a << ", c = " << c << endl;
cout << "b = " << b << ", d = " << d << endl;
return0;
}
#include<iostream>using namespace std;
intmain() {
int x = 10;
x += 5; // 等价于 x = x + 5,结果:15
x -= 3; // 等价于 x = x - 3,结果:12
x *= 2; // 等价于 x = x * 2,结果:24
x /= 4; // 等价于 x = x / 4,结果:6
x %= 4; // 等价于 x = x % 4,结果:2
cout << "最终结果:" << x << endl;
return0;
}
💡 优势:
• 代码更简洁
• 执行效率略高
• 减少重复书写变量名
• 推荐使用这种写法
🧮 复合赋值计算器
选择运算符,查看计算过程和结果
设置参数后点击"计算"...
🚀 三目运算符与位运算
三目运算符(条件运算符)
三目运算符是唯一的三元运算符,可以简化if-else语句。
#include<iostream>using namespace std;
intmain() {
int score = 85;
// 传统if-else写法string result1;
if (score >= 60) {
result1 = "及格";
} else {
result1 = "不及格";
}
// 三目运算符写法(更简洁)string result2 = (score >= 60) ? "及格" : "不及格";
// 求最大值int a = 10, b = 20;
int max = (a > b) ? a : b; // max = 20
cout << "result1: " << result1 << endl;
cout << "result2: " << result2 << endl;
cout << "max: " << max << endl;
return0;
}
位运算符简介
位运算符直接对二进制位进行操作,效率高但较难理解。
#include<iostream>using namespace std;
intmain() {
int a = 5; // 二进制:0101int b = 3; // 二进制:0011// 按位与 &int and_result = a & b; // 0101 & 0011 = 0001 = 1// 按位或 |int or_result = a | b; // 0101 | 0011 = 0111 = 7// 按位异或 ^int xor_result = a ^ b; // 0101 ^ 0011 = 0110 = 6// 左移 <<int left_shift = a << 1; // 0101 << 1 = 1010 = 10(乘以2)// 右移 >>int right_shift = a >> 1; // 0101 >> 1 = 0010 = 2(除以2)
cout << "a & b = " << and_result << endl;
cout << "a | b = " << or_result << endl;
cout << "a ^ b = " << xor_result << endl;
cout << "a << 1 = " << left_shift << endl;
cout << "a >> 1 = " << right_shift << endl;
return0;
}