计算机不只是机械的数字计算器。它能够对值进行比较,这种能力是计算机决策的基础。在C++中,关系运算符是这种能力的体现。C++提供了6种关系运算符来对数字进行比较。由于字符用ASCII码所表示,因此也可以将这些运算符用于字符。不能将它们用于C-风格字符串,但可用于string类对象。对于所有的关系表达式,如果比较结果为真,则其值将为true,否则为false,因此可将其用作循环则是表达值。(老式实现认为结果为true的关系表达式的值为1,而结果为false的关系表达式为0.)下表对这些运算符进行了总结。
操作符 | 含义 |
< | 小于 |
<= | 小于或等于 |
== | 等于 |
> | 大于 |
>= | 大于或等于1大于 |
!= | 不等于 |
这6种关系运算符可以在C++中完成对数字的所有比较。如果要对两个值进行比较,看看哪个值更漂亮或者更幸运,则这里的运算符就派不上用场了。
下面是一些测试实例
for(x=20;x>5;x--)
for(x=1;y!=x;++x)
for(cin>>x;x==0;cin>>x) //直到x为零终止循环
关系运算符的优先级比算术运算符低,这意味着表达式:
x+3>y-2
对应于:
(x+3)>(y-2)
而不是:
x+(3>y)-2
由于将bool值提升为int 后,表达式(3>y)要么为1,要么为0,因此第二个和第三个表达式都是有效的。不过我们更希望第一个表达式等价第二个表达式,而C++正是这样做的。