C语言入门_Day7 逻辑运算
目录:
前言
1.逻辑运算
2.优先级
3.易错点
4.思维导图
前言

算术运算用来进行数据的计算和处理;比较运算是用来比较不同的数据,进而来决定下一步怎么做;除此以外还有一种运算叫做逻辑运算,它的应用场景也是用来影响下一步代码的执行方式。
1.逻辑运算

逻辑运算主要是指三种运算方式,且运算(and),在C语言中是&&;或运算(or),在C语言中是||;非运算(not),在C语言中是!;
这里的&&就是与运算,又叫且运算,||就是或运算,!就是非运算,接下来我们来一个一个一个认识他们:
true&&false;
true||false;
!true;
1.且运算&&
2.或运算||
3.非运算
且运算
&&是又叫“与运算”或者“且运算”,假设你是一个28岁的女生,那么“你28岁”并且“你是女生”,这句话表述就是真的。但是“你28岁”并且“你是男生”,这句表述就是假的。
且运算的运算方式就是,两个都为真才是真,其余情况都是假,所以true && true为真,true && false为假。

我们定义两个变量bo_1和bo_2,并分别赋值true和true,然后进行且运算,并打印输出运算的结果。先填写数据类型bool:
bool bo_1=true;
bool bo_2=true;
printf("%d\n",bo_1 && bo_2);
打印结果
1
&&符号是两个&,也就是键盘上数字7上面的符号,输出这个符号是shift+7😁。
关于且运算,我们需要记住运算符是&&,以及运算规则,“都为真才是真”
或运算
||运算又叫或运算,假设你是一个28岁的女生,那么“你28岁”或者“你是男生”,虽然前一句是真,后一句是假,但整个表述也为真,因为这里是“或者”,所以只要有一个条件是真的,整句话都是真的。
这时候只有“你不是28岁”或者“你是男生”,这句表述是假。因为前一句和后一句都是假的,整句话也就是假的了。
“或”运算只要参与运算的其中一个条件为真,就为真。除非两个条件都为假,才是假。

或运算符号||是两个连续的|,也就是反斜杠上面的符号,输出这个符号是shift+反斜杠健\😁。
例如
bool bo_1=true;
bool bo_2=false;
printf("%d\n",bo_1||bo_2);
打印结果
1

非运算的运算符号是一个英文感叹号!,假设你28岁,那么“你不是28岁”就是个假的表述,“你不是10岁”就是个真的表述。非运算里面,非真的结果为假,非假的结果为真。
例如:
bool bo_1=true;
printf("%d\n",! bo_1);
打印结果
0
关于逻辑运算,我们只需要记住一个口诀:
且运算&&的运算规律是,真真为真,其余为假;
或运算||是,假假为假,其余为真;
非运算!是,非真为假,非假为真。
实际应用中经常把比较运算和逻辑运算联合在一起使用,比如我们要判断一个整数是否是个位数。
如果一个数大于0并且小于10,那么这个数是个个位数。翻译成C语言代码就是:
(num_a>0)&&(num_a<0)
就像数学中的规则一样,加括号的原因是需要提高优先级,加了括号的部分先算,不加括号的部分后算。
如果不加括号,这句代码就是从左至右依次运算,这样就无法得到我们想要的计算结果。
就像数学中的规则一样,加括号的原因是需要提高优先级,加了括号的部分先算,不加括号的部分后算。
这里就涉及到了编程代码中的优先级概念,我们接下来学习一下它。
2.优先级

截止目前我们学过的运算符里面优先级最高的是括号(),也就是有括号的时候,最先计算括号里的。
优先级第二高的是乘法,除法和取余,当他们三个同时存在于一个表达式里面的时候,就从左到右依次计算,比如
5*3/2%4
优先级第三高的是,加法和减法。这两个计算符号的优先级低于乘法,除法和取余,也就是如果同一个运算中既有乘法和除法, 也有加法和减法,是先计算乘除,再计算加减。这时候就是先计算右边的3*2,再计算4+6了。
4+3*2

优先级再低一级的就是比较运算符,比如大于,小于等等。

优先级最低的是逻辑运算符,即最后才轮到他们。
对于优先级来说,我们可以简化记忆为,同一优先级中,从左至右依次运算。
不同运算符号之间的优先级高低是
1,计算;2,比较;3,逻辑。
而在计算中,又是乘除高于加减。当然,最高优先级的符号是括号
然后是两个例外,第一个是赋值运算符=。
赋值运算符的特点是,一定是符号右边完全计算完毕,才对左边的变量进行赋值,因此我们可以理解为,它的优先级最低。
第二个例外,就是非运算符!,
我们注意观察的话就会发现,上面的运算符都涉及到超过一个以上的变量或常量,而非运算符不一样,它只作用于一个变量或常量,因此它的优先级是很高的,仅次于括号。
所以就我们学过的运算符号来说,整体优先级的高低顺序是:
1,括号();2,非运算!;3,乘除;4,加减;
5,比较运算;6,逻辑运算;7,赋值运算。
是不是感觉记起来很麻烦?在实际编程应用中,我们只需要记住两个点:
1,默认从左到右计算;2,多使用括号。
记不清楚这些优先级的时候,建议直接使用括号。这样我们就不会搞混了😁。
3.易错点
eg:
逻辑与运算 && —— 一假必假;
逻辑或运算 || —— 一真必真。
4.思维导图

在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。
相关文章:
C语言入门_Day7 逻辑运算
目录: 前言 1.逻辑运算 2.优先级 3.易错点 4.思维导图 前言 算术运算用来进行数据的计算和处理;比较运算是用来比较不同的数据,进而来决定下一步怎么做;除此以外还有一种运算叫做逻辑运算,它的应用场景也是用来影…...
什么是Eureka?以及Eureka注册服务的搭建
导包 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 htt…...
Docker安装并配置镜像加速器,镜像、容器的基本操作
目录 1.安装docker服务,配置镜像加速器 (1)安装依赖的软件包 (2)设置yum源,我配置的阿里仓库 (3)选择一个版本安装 (4)启动docker服务,并设置…...
前端 -- 基础 网页、HTML、 WEB标准 扫盲详解
什么是网页 : 网页是构成网站的基本元素,它通常由 图片、链接、文字、声音、视频等元素组成。 通常我们看到的网页 ,常见以 .html 或 .htm 后缀结尾的文件, 因此俗称 HTML 文件 什么是 HTML : HTML 指的是 超文本标记语言,…...
分布式锁实现方式
分布式锁 1 分布式锁介绍 1.1 什么是分布式 一个大型的系统往往被分为几个子系统来做,一个子系统可以部署在一台机器的多个 JVM(java虚拟机) 上,也可以部署在多台机器上。但是每一个系统不是独立的,不是完全独立的。需要相互通信ÿ…...
C语言小练习(一)
🌞 “人生是用来体验的,不是用来绎示完美的,接受迟钝和平庸,允许出错,允许自己偶尔断电,带着遗憾,拼命绽放,这是与自己达成和解的唯一办法。放下焦虑,和不完美的自己和解…...
Flask-flask系统运行后台轮询线程
对于有些flask系统,后台需要启动轮询线程,执行特定的任务,以下是一个简单的例子。 globals/daemon.py import threading from app.executor.ops_service import find_and_run_ops_task_todo_in_redisdef context_run_func(app, func):with …...
jsp本质-servlet
jsp本质-servlet 一、jsp文件 <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>JSP Example…...
回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图)效果一览基…...
科技资讯|苹果Vision Pro新专利曝光:可调节液态透镜
苹果公司近日申请了名为“带液态镜头的电子设备”,概述了未来可能的头显设计。头显设备中的透镜采用可调节的液态透镜,每个透镜可以具有填充有液体的透镜腔,透镜室可以具有形成光学透镜表面的刚性和 / 或柔性壁。 包括苹果自家的 Vision Pr…...
神经网络基础-神经网络补充概念-38-归一化输入
概念 归一化输入是一种常见的数据预处理技术,旨在将不同特征的取值范围映射到相似的尺度,从而帮助优化机器学习模型的训练过程。归一化可以提高模型的收敛速度、稳定性和泛化能力,减少模型受到不同特征尺度影响的情况。 常见的归一化方法 …...
【Redis】什么是缓存雪崩,如何预防缓存雪崩?
【Redis】什么是缓存雪崩,如何预防缓存雪崩? 如果缓存集中在一段时间内失效,也就是通常所说的热点数据集中失效 (一般都会给缓存设定一个失效时间,过了失效时间后,该数据库会被缓存直接删除,从…...
[国产MCU]-W801开发实例-开发环境搭建
W801开发环境搭建 文章目录 W801开发环境搭建1、W801芯片介绍2、W801芯片特性3、W801芯片结构4、开发环境搭建1、W801芯片介绍 W801芯片是联盛德微电子推出的一款高性价比物联网芯片。 W801 芯片是一款安全 IoT Wi-Fi/蓝牙 双模 SoC芯片。芯片提供丰富的数字功能接口。支持2.…...
区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测
区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测。基于分位…...
改善神经网络——优化算法(mini-batch、动量梯度下降法、Adam优化算法)
改善神经网络——优化算法 梯度下降Mini-batch 梯度下降(Mini-batch Gradient Descent)指数加权平均包含动量的梯度下降RMSprop算法Adam算法 优化算法可以使神经网络运行的更快,机器学习的应用是一个高度依赖经验的过程,伴随着大量…...
大数据面试题:Spark的任务执行流程
面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 可回答:1)Spark的工作流程?2)Spark的调度流程;3)Spark的任务调度原理…...
通过 Amazon SageMaker JumpStart 部署 Llama 2 快速构建专属 LLM 应用
来自 Meta 的 Llama 2 基础模型现已在 Amazon SageMaker JumpStart 中提供。我们可以通过使用 Amazon SageMaker JumpStart 快速部署 Llama 2 模型,并且结合开源 UI 工具 Gradio 打造专属 LLM 应用。 Llama 2 简介 Llama 2 是使用优化的 Transformer 架构的自回归语…...
ansible远程执行命令
一、ansible简介 需要在一台机器上搭建ansible环境,且配置目的ip的密码,通道没有问题即可下发命令 使用的通道是ssh(端口:36000) 二、搭建细节 1、安装ansible yum install -y ansible 2、把目的ip密码写到配置…...
Windows快速恢复丢失的颜色校准
场景 有时开机或启动某个软件后,颜色校准(设置项:校准显示器颜色)会丢失,每次重新设置很麻烦。 文章首发及后续更新:https://mwhls.top/4723.html,无图/无目录/格式错误/更多相关请至首发页查看…...
Vue安装单文件组件
安装 npm npm 全称为 Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器。 npm -v由于网络原因 安装 cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org安装 vue-cli…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
