C++语言程序设计

| 表3-4 关系运算符

运算符 | 名字 | 实例
= = | 等于 | 5 = = 5 // 得出1
! = | 不等于 | 5 != 5 // 得出0
< | 小于 | 5 < 5.5 // 得出1
< = | 小于或等于 | 5 <= 5 // 得出1
> | 大于 | 5 > 5.5 // 得出0
> = | 大于或等于 | 6.3 >= 5 // 得出1

由关系运算符组成的关系表达式的值是逻辑型的，即bool 型。在C++中常常将逻辑真用非0表示（一般为1），逻辑假用0表示。
其中:
'=='用于判断其前后数值或表达式的结果a和b是否相等。如a为2001，b为667*3，则表示a等于b 是真的。
'!='用于判断其前后数值或表达式的结果a和b是否不相等。如a为2002，b为667*3，则表示a不等于b 是真的。
'<'用于判断其前后数值或表达式的结果a是否小于b。如a为2002，b为667*3，则表示a小于b 是假的。
'<='用于判断其前后数值或表达式的结果a是否小于或等于b。 如a为2002，b为667*3，则表示a小于或等于b 是假的。
'>'用于判断其前后数值或表达式的结果a是否大于b。如a为2002，b为667*3，则表示a大于b 是真的。
'>='用于判断其前后数值或表达式的结果a是否大于或等于b。 如a为2002，b为667*3，则表示a大于或等于b 是真的。
关系运算符组成的表达式，一般是和逻辑运算符组合用在条件表达式中的。条件表达式用于程序的分支处理。
注意：
1．关系运算符两边的数值结果必须是类型相同的，否则会容易出现关系判断的错误。如：
char a = '0xa2';
a > '0xa1' 的结果是a 小于'0xa1'。因为 a 是符号整数，而'0xa1'是无符号整数。给a 赋值后其实是小于0的。
2．字符串不应当用关系运算符比较，因为被比较的不是字符串的内容本身，而是字符串的地址。例如：
"Welcome" < "Beijing"
引起"Welcome"的地址与"Beijing"的地址进行比较。由于字符串的地址是由编译器决定的，所以，表达式的结果或为假，或为真，并不确定。我们以后会看到：可以用C++的库函数strcmp，比较两个字符串。