第二节 C++语法规则(7)
----------------------------------
== |
相等Equal |
!= |
不等Different |
> |
大于Greater than |
< |
小于Less than |
>= |
大于等于Greater or equal than |
<= |
小于等于Less or equal than |
下面你可以看到一些实际的例子:
(7 == 5) |
将返回false. |
(5 > 4) |
将返回true. |
(3 != 2) |
将返回true. |
(6 >= 6) |
将返回true. |
(5 < 5) |
将返回false. |
当然,除了使用数字常量,我们也可以使用任何有效表达式,包括变量。假设有a=2, b=3和c=6,
(a == 5) |
将返回false. |
|
|
(a*b >= c) |
将返回true 因为它实际是(2*3 >= 6) |
|
|
(b+4 > a*c) |
将返回false因为它实际是(3+4 > 2*6) |
|
|
((b=2) == a) |
将返回true. |
注意:运算符= (单个等号)不同于运算符== (双等号)。第一个是赋值运算符(将等号右边的表达式值赋给左边的变量);第二个(==)是一个判断等于的关系运算符,用来判断运算符两边的表达式是否相等。因此在上面例子中最后一个表达式((b=2) == a),我们首先将数值2赋给变量b,然后把它和变量a进行比较。因为变量a中存储的也是数值2,所以整个运算的结果为true。
在ANSI-C++标准出现之前的许多编译器中,就像C语言中,关系运算并不返回值为真true或假false的bool值,而是返回一个整型数值最为结果,它的数值可以为0,代表"false"或一个非0数值(通常为1)来代表"true"。
逻辑运算符Logic operators ( !, &&, || )
运算符 ! 等同于boolean 运算NOT (取非),它只有一个操作数(operand),写在它的右边。它做的唯一工作就是取该操作数的反面值,也就是说如果操作数值为真true,那么运算后值变为假false,如果操作数值为假false,则运算结果为真true。它就好像是说取与操作数相反的值。例如:
!(5 == 5) |
返回false,因为它右边的表达式(5 == 5)为真true. |
!(6 <= 4) |
返回true因为(6 <= 4)为假false. |
!true |
返回假false. |
!false |
返回真true. |
逻辑运算符&&和||是用来计算两个表达式而获得一个结果值。它们分别对应逻辑运算中的与运算AND 和或运算OR。它们的运算结果取决于两个操作数(operand)的关系:
第一个操作数
a |
第二个操作数
b |
结果
a && b |
结果
a || b |
true |
true |
true |
true |
true |
false |
false |
true |
false |
true |
false |
true |
false |
false |
false |
false |
例如 :
|
----------------------------------