当前位置: 首页 > news >正文

C++中的运算符总结(4):逻辑运算符(上)

C++中的运算符总结(4):逻辑运算符(上)

8、逻辑运算 NOT、 AND、 OR 和 XOR

逻辑 NOT 运算用运算符!表示,用于单个操作数。表 1是逻辑 NOT 运算的真值表,这种运算将提供的布尔标记反转:

操作数NOT 运算的结果
falsetrue
truefalse

表1 逻辑 NOT 运算的真值表

AND、 OR 和 XOR 等运算需要两个操作数。仅当两个操作数都为 true 时,逻辑 AND 运算的结果才为 true。表 2 说明了逻辑 AND 运算的结果:

操作数 1操作数 2操作数 1 AND 操作数 2 的结果
falsefalsefalse
truefalsefalse
falsetruefalse
truetruetrue

表2 逻辑 AND 运算的真值表

逻辑 AND 运算用运算符&&表示。
只要有一个操作数为 true,逻辑 OR 运算的结果就为 true,如表 3 所示:

操作数 1操作数 2操作数 1 OR 操作数 2 的结果
falsefalsefalse
truefalsetrue
falsetruetrue
truetruetrue

表3 逻辑 OR 运算的真值表

逻辑 OR 运算用运算符||表示。
逻辑 XOR(异或)运算与逻辑 OR 运算稍有不同,有且只有一个操作数为 true 时,这种运算的结果才为 true,如表 4 所示:

操作数 1操作数 2操作数 1 XOR 操作数 2 的结果
falsefalsefalse
truefalsetrue
falsetruetrue
truetruefalse

表4 逻辑 XOR 运算的真值表

C++提供了按位 XOR 运算,用运算符^表示。这个运算符对操作数相应的各位执行 XOR 运算。

———————————————————————————————————————————————————————————

请看下面的句子:
• 如果明天下雨且没有公交车,我就不能去上班;
• 如果折扣很高或奖金创纪录,我就能买下那辆车。
在编程中,您也需要使用这样的逻辑结构,根据运算的结果决定程序的后续流程。 C++提供了逻辑运算符 AND 和 OR,您可在条件语句中使用它们,根据条件改变程序的流程。
以下的示例程序演示了逻辑运算符 AND 和 OR 的工作原理:

#include <iostream>
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++服务器

http://www.lryc.cn/news/129635.html

相关文章:

  • Flink安装与使用
  • CentOS系统环境搭建(七)——Centos7安装MySQL
  • 3.react useRef使用与常见问题
  • Axios使用CancelToken取消重复请求
  • 九耶丨阁瑞钛伦特-Spring boot与Spring cloud 之间的关系
  • 总结,由于顺丰的问题,产生了电脑近期一个月死机问题集锦
  • C#程序配置读写例子 - 开源研究系列文章
  • Angular中的管道Pipes
  • React入门 jsx学习笔记
  • sqlserver数据库中把一张表中的数据复制到另一张表中
  • el-table 多个表格切换多选框显示bug
  • UE5.2程序发布及运行问题记录
  • c语言strtol函数、strtod函数、strtoul函数浅悉
  • Spark第三课
  • LangChain手记 Chains
  • ONNX版本YOLOV5-DeepSort (rknn版本已经Ready)
  • MySQL的约束
  • Lnton羚通关于【PyTorch】教程:torchvision 目标检测微调
  • AMD fTPM RNG的BUG使得Linus Torvalds不满
  • idea 转换为 Maven Project 的方法
  • es1.7.2 按照_type先聚合,再按照时间二次聚合
  • pyqt5 如何修改QplainTextEdit 背景色和主窗口的一样颜色
  • 解决使用element ui时el-input的属性type=number,仍然可以输入e的问题。
  • ShardingSphere 可观测 SQL 指标监控
  • Redisson实现分布式锁示例
  • 使用Nginx作为一个普通代理服务器
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践 | 京东云技术团队
  • Shell编程之正则表达式(非常详细)
  • RNN模型简单理解和CNN区别
  • 【Axure高保真原型】JS日期选择器筛选中继器表格