关系运算符

运算符名称含义示例结果
==等于判断两个值是否相等5 == 5true
!=不等于判断两个值是否不相等5 != 3true
>大于判断左侧值是否大于右侧值10 > 5true
<小于判断左侧值是否小于右侧值3 < 7true
>=大于等于判断左侧值是否大于或等于右侧值5 >= 5true
<=小于等于判断左侧值是否小于或等于右侧值4 <= 4true

使用实例:相等运算符==和!=

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