| 运算符 | 名称 | 含义 | 示例 | 结果 |
|---|---|---|---|---|
== | 等于 | 判断两个值是否相等 | 5 == 5 | true |
!= | 不等于 | 判断两个值是否不相等 | 5 != 3 | true |
> | 大于 | 判断左侧值是否大于右侧值 | 10 > 5 | true |
< | 小于 | 判断左侧值是否小于右侧值 | 3 < 7 | true |
>= | 大于等于 | 判断左侧值是否大于或等于右侧值 | 5 >= 5 | true |
<= | 小于等于 | 判断左侧值是否小于或等于右侧值 | 4 <= 4 | true |
使用实例:相等运算符==和!=
int a = 10, b = 20, c = 10;
cout << (a == b) << endl; // 输出: 0 (false)
cout << (a == c) << endl; // 输出: 1 (true)
cout << (a != b) << endl; // 输出: 1 (true)
cout << (a != c) << endl; // 输出: 0 (false)
// 也可以用于字符比较
char ch1 = 'A', ch2 = 'B';
cout << (ch1 == ch2) << endl; // 输出: 0 (false)
// 字符串比较(需要特殊处理,后面会讲)
string s1 = "hello", s2 = "world";
cout << (s1 == s2) << endl; // 输出: 0 (false)
使用实例:大小比较运算符>、<、>=和<=
int x = 15, y = 20, z = 15;
cout << (x > y) << endl; // 15 > 20? false → 0
cout << (x < y) << endl; // 15 < 20? true → 1
cout << (x >= z) << endl; // 15 >= 15? true → 1
cout << (y <= z) << endl; // 20 <= 15? false → 0
// 浮点数比较(需要小心精度问题)
double d1 = 1.0, d2 = 0.999999999;
cout << (d1 > d2) << endl; // 输出: 1 (true)
优先级
关系运算符的优先级低于算术运算符,但高于赋值运算符:
int a = 5, b = 3, c = 2;
// 算术运算先执行,然后比较
bool result = a + b > c * 3; // 等价于 (5+3) > (2*3) → 8 > 6 → true
cout << result << endl; // 输出: 1
// 优先级示例
int x = 10, y = 5, z = 3;
bool r1 = x + y > z * 2; // 等价于 (10+5) > (3*2) → 15 > 6 → true
bool r2 = x > y + z; // 等价于 10 > (5+3) → 10 > 8 → true