逻辑 NOT 运算用运算符!表示,用于单个操作数。表 1是逻辑 NOT 运算的真值表,这种运算将提供的布尔标记反转:
操作数 | NOT 运算的结果 |
---|---|
false | true |
true | false |
表1 逻辑 NOT 运算的真值表
AND、 OR 和 XOR 等运算需要两个操作数。仅当两个操作数都为 true 时,逻辑 AND 运算的结果才为 true。表 2 说明了逻辑 AND 运算的结果:
操作数 1 | 操作数 2 | 操作数 1 AND 操作数 2 的结果 |
---|---|---|
false | false | false |
true | false | false |
false | true | false |
true | true | true |
表2 逻辑 AND 运算的真值表
逻辑 AND 运算用运算符&&表示。
只要有一个操作数为 true,逻辑 OR 运算的结果就为 true,如表 3 所示:
操作数 1 | 操作数 2 | 操作数 1 OR 操作数 2 的结果 |
---|---|---|
false | false | false |
true | false | true |
false | true | true |
true | true | true |
表3 逻辑 OR 运算的真值表
逻辑 OR 运算用运算符||表示。
逻辑 XOR(异或)运算与逻辑 OR 运算稍有不同,有且只有一个操作数为 true 时,这种运算的结果才为 true,如表 4 所示:
操作数 1 | 操作数 2 | 操作数 1 XOR 操作数 2 的结果 |
---|---|---|
false | false | false |
true | false | true |
false | true | true |
true | true | false |
表4 逻辑 XOR 运算的真值表
C++提供了按位 XOR 运算,用运算符^表示。这个运算符对操作数相应的各位执行 XOR 运算。
———————————————————————————————————————————————————————————
请看下面的句子:
• 如果明天下雨且没有公交车,我就不能去上班;
• 如果折扣很高或奖金创纪录,我就能买下那辆车。
在编程中,您也需要使用这样的逻辑结构,根据运算的结果决定程序的后续流程。 C++提供了逻辑运算符 AND 和 OR,您可在条件语句中使用它们,根据条件改变程序的流程。
以下的示例程序演示了逻辑运算符 AND 和 OR 的工作原理:
#include
using namespace std;
int main()
{
cout << "Enter true(1) or false(0) for two operands:" << endl;
bool op1 = false, op2 = false;
cin >> op1;
cin >> op2;
cout << op1 << " AND " << op2 << " = " << (op1 && op2) << endl;
cout << op1 << " OR " << op2 << " = " << (op1 || op2) << endl;
return 0;
}
输出:
Enter true(1) or false(0) for two operands:
1
0
1 AND 0 = 0
1 OR 0 = 1
再次运行的输出:
Enter true(1) or false(0) for two operands:
1
1
1 AND 1 = 1
1 OR 1 = 1
分析:
该程序演示了逻辑运算符 AND 和 OR 的工作原理,但没有演示如何使用它们来做决策。
该文章会更新,欢迎大家批评指正。
推荐一个零声学院免费公开课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:
服务器课程:C++服务器