part.6 从盘古开天开始学C++之逻辑运算

引言

在 C++的奇妙世界中,逻辑运算犹如构建复杂程序结构的关键基石。当我们深入探索 C++的基础时,逻辑运算部分展现出了其独特而重要的地位。
逻辑运算不仅仅是简单的真假判断,它更是决定程序流程走向、实现复杂条件判断的核心要素。通过逻辑运算,我们能够让程序根据不同的情况做出精准的决策,如同为程序注入了智慧的灵魂。
无论是在简单的条件判断语句中,还是在构建复杂算法和逻辑结构时,逻辑运算都扮演着不可或缺的角色。它让我们能够以清晰、简洁的方式表达各种条件和关系,使得代码更加易于理解和维护。

逻辑运算符

符号含义
&&
||

其实关于与或非这三种逻辑运算,可能大家都多多少少有听过,只不过不太清楚他们在代码中到底是如何使用。接下来,我们一起来一个一个的详解他们的用法。

首先是“逻辑与”,我们可以将逻辑与理解为“并且”,举个例子吧:
请添加图片描述
根据图片例子,我们分析可以得知,当且仅当同时满足两个条件的客户才符合条件,转化为公式:办卡4年&&存款过1万。两个条件同时满足的时候即可以得到结果true,不然得到的就是false。
比如:a > 1 && b < 2,这样一行代码可能我们看到的时候觉得很复杂,但是将其改为:a > 1 并且 b < 2,这样一看就能够轻松理解了。逻辑运算符和比较运算符有一点是一样的,他们的结果只有两种情况,即true或false。那么,对于逻辑与运算而言,只有运算符两边都是成立(true)的时候,该逻辑运算的结果才会是true。

接着,我们来聊聊“逻辑或”,同样的我们可以将逻辑或理解为或者。如果将上面图片的例子修改为或者连接,对应的公式即为:办卡4年||存款过1万。两个条件只要满足其中一个就可以得到结果true,当两个条件都不满足的时候才得到结果false。

最后,就是”逻辑非“了,它用于否定,即如果原本结果是true的式子,整体加上非运算,那么结果将会变为false。例如,“我吃饱了”,这句话加上非运算即为:“我吃饱了不成立”。此时的语义与之前相反。再例如a > 4【a的值为3】,这个式子原本的结果为false,加上非运算:!(a>4),此时的结果就是true。再例如,!b【b的值为-2】。我们知道非零的数字即为true,所以b可以理解为true,那么!b的结果就是false了。

运算优先级

在C++中,运算是有优先级的,接下来我们来看看常用运算符的优先级【从上至下优先级降低】。

运算符名称
()括号
非运算
* / % //乘法、除法、取余、取整运算
+ -加法、减法运算
> >= < <=比较运算
== !=等于、不等于
&&与运算
||逻辑或
= += -=各种赋值运算

有了优先级表之后,我们就可以计算一些复杂的式子了。例如:

#include <iostream>
using namespace std;
int main () {
	int num1 = 10, num2 = 0;
	bool ans = num1 > 10 || num2 + 2 < 4 && num1 != num2;
	cout << ans;
}

上面这段代码得到的结果应该是true,首先我们发现与运算优先级高于或运算,所以先去计算与运算左右的运算式,得到:num1 > 10 || true && true。接下来计算与运算为true,那么式子就变成了num1 > 10 || true,那么最终结果即为true。

实际应用

请接受用户输入的一个整数,判断该数是否既为偶数又是3的倍数,如果是那么输出“yes”否则输出“no”。
分析这道题,需要判断是否为偶数、是否为3的倍数,这里就需要用到取余运算“%”,因为需要同时满足又要用到逻辑与运算。那么,你们是否可以完成这道题呢?

#include <iostream>
using namespace std;
int main () {
	// 首先完成用户输入数据的接收
	int num;
	cin >> num;
	// 利用if语句进行判断
	if (num % 2 == 0 && num % 3 == 0) {
		cout << "yes";
	} else {
		cout << "no";
	}
}

总结

那么这节的内容就到这里了,逻辑运算的内容看起来不多,后续会用到的地方却是不少。如果有什么问题,可以私信我噢~
在这里插入图片描述

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值