逻辑运算符包含逻辑与、或、异或、非等逻辑运算符。1
如果一个操作数或多个操作数为 true,则逻辑或运算符返回布尔值 true;只有全部操作数为false,结果才是 false。2
定义如果任一操作数或两个操作数为true,则逻辑“或”运算符 (||) 返回布尔值true;否则返回false。操作数在计算之前隐式转换为类型bool,结果的类型为bool。逻辑“或”具有从左向右的关联性。3
or运算符是||的等效文本。
逻辑“或”运算符的操作数不需要是同一类型,但是它们必须是整型或指针类型。操作数通常为关系或相等表达式。
第一个操作数将完全计算,并且在继续计算逻辑“或”表达式之前将完成所有副作用。
仅当第一个操作数的计算结果为 false (0) 时计算第二个操作数。在逻辑“或”表达式为 true 时,这将消除对第二个操作数的不必要的计算。
在决定一事物的若干条件中,只要有一个条件能满足时,结果就会出现;只有当所有条件都不满足是,结果才不出现,这种因果关系就称为“逻辑或”。
如图所示两个开关并联电灯电路中,两个开关S1、S2中只要有一个闭合时,电灯EL就会亮起;只有两个开关都不闭合,电灯EL才不会亮。4
真值表A或B的真值表(也写作A∨****B(逻辑学),A || B(计算机科学),或A + B(电子学))。4
|| ||
运算性质逻辑或满足以下性质:5
结合律: A||(B||C)≡ (A||B)||C
交换律: A||B ≡ B||A
分配律: A||(B∧C) ≡ ((A||B)∧(A||C))
A∧(B||C) ≡ ((A∧B)||(A∧C))
A||(B≡C) ≡ ((A||B)≡(A||C))
幂等律: A||A ≡ A
单调性: (A→B)→((C||A)→(C||B))
(A→B)→((A||C)→(B||C))
保真性: 所有变量的真值皆为“真”的命题在逻辑或运算后的结果为真。
保假性: 所有变量的真值皆为“假”的命题在逻辑或运算后的结果为假。
示例0 || 0 = 0;
1 || 0 = 1;
0 || 1 = 1;
1 || 1 = 1;
应用拓展C/C++中|与|| 的区别:
(1)||:表示逻辑或
逻辑或,是逻辑运算符,符号是“||”。表示当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。
(2)|:表示按位或
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。3
128: (0001 0000 0000)
127: (0000 1111 1111) (高位用0补齐)
按位或就是(0001 1111 1111)=255。
本词条内容贡献者为:
齐臣杰 - 研究员 - 北京信息科技大学