逻辑运算符(&&,| |)
操作!是的Ç+ +运算符不执行布尔操作,有只有一个操作数,位于其权利,和唯一,它确实是逆是它的价值,生产假如果真实,真实的,如果其操作数其操作数为false。 基本上,它返回布尔值,评价其操作数相反。 例如:
| |
逻辑运算符&&和| |是用来计算两个表达式时,得到一个单一的关系结果。 运算符&&与布尔逻辑运算。 此操作的结果真实的,如果两个操作数是真实的,否则返回false。 下面的面板显示计算表达式的运算符&& A && B的结果:
&&运算符
一 | b | A && B |
---|---|---|
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 假 |
假 | 假 | 假 |
运算符| |与布尔逻辑运算。 操作结果真实的,如果是真实的,因而是虚假的,只有当两个操作数都是假的,自己任一两个操作数。 以下是可能的结果, 一个| |乙:
| |运算符
一 | b | A | |B̶ |
---|---|---|
真 | 真 | 真 |
真 | 假 | 真 |
假 | 真 | 真 |
假 | 假 | 假 |
例如:
| |
使用逻辑运算符时,C + +只计算从左至右拿出合并关系的结果,而忽略其余什么是必要的。 因此,在这最后的例子((5 == 5)| |(3> 6)),C + +会先评估5 == 5是否是真实的,如果是这样,它永远不会检查是否是真还是假3> 6 。 这被称为短路的评价,并为这些运营商这样的作品:
操作者 | 短路 |
---|---|
&& | 如果左侧表达的是假的,综合作用的结果是假的(右侧表达未评估)。 |
| | | 如果左侧的表达是真实的,综合作用的结果是“真”(右侧表达不评估)。 |
这主要是重要的,当右侧的表达式有副作用,如改变值:
| |
这个合并条件表达式增加i的一个,但只有当条件&&左侧是真实的,否则右手永远不会计算表达式(+ + <N)。
条件运算符(?)
条件运算符计算表达式返回一个值,如果该表达式是真实的,不同的,如果表达式计算为false。 其格式为:
条件吗? RESULT1:RESULT2名
如果条件为真时,表达式将返回RESULT1,如果它是不是会返回结果2。
| |
| | 7 |
在这个例子中是2和b为7,所以该表达式评估(A> B)不正确的,因此指定问号后的第一个值被丢弃赞成第二个值(一个冒号后的) B,值7。
逗号运算符(,)
是用来分隔两个或多个表达式预计只有一个表达式中包含逗号(,)。 当设定的表达式有一个值进行评估,只有被认为是最右边的表达式。例如,下面的代码:
| |
会先分配到b的值为3,然后分配B +2变量 a。 所以,在年底, 变量 a将包含变量 b的值为5,而将包含价值3。