C语言 逻辑运算符

本文 我们来说 逻辑运算符

有时做出决策需要测试多个条件,C语言提供了用于将简单条件组合成复杂条件的逻辑运算符。
逻辑运算符
如下图
在这里插入图片描述
用逻辑运算符连接操作数组成的表达式称为逻辑表达式。
逻辑运算的结果只有0和1
逻辑运算的对象可以是任意数值型,但编译器将所有非0值都视为:真(1)。
觉得举个例子
我们编写代码如下

#include <stdio.h>

int main() {
    if (4&&5) {
        printf("条件成立");
    }

    return 0;
}

运行结果如下
在这里插入图片描述
这里 我们if中 写的 是 4且5 它们并不产生逻辑判断关系 但 表达式 将 4 读成了 非0 就为1 后面的5也同理被读成了 1
两个值都是 1 条件真 自然 if就成立 执行了

逻辑 或 运算符的特点
它需要 || 的左右条件都不成立时 总条件才为 假 只要其中任何一个条件成立 返回的条件就是真

例如 我们这样写

#include <stdio.h>

int main() {
    if ((1 == 5) || (1 == 1)) {
        printf("条件成立了");
    }

    return 0;
}

我们 第一条件 1 等等于 5 显然会返回0 条件不成立(假) 而 第二个 1 等等于 1 显然是成立的 条件返回真
运行结果如下
在这里插入图片描述
因为我们用的是 或运算符 所以 只要有一个成立 总条件就是真
而且不止两个
我们可以

#include <stdio.h>

int main() {
    if ((1 == 5) || (1 == 1) || (1 == 7) || (1 == 8)) {
        printf("条件成立了");
    }

    return 0;
}

运行之后 依旧是 某一个成立 整个条件全部成立
在这里插入图片描述
但如果条件全部不成立 例如

#include <stdio.h>

int main() {
    if ((1 == 7) || (1 == 8)) {
        printf("条件成立了");
    }

    return 0;
}

自然就是啥都没有啦
在这里插入图片描述
然后 逻辑 非 !
意思就是取反

例如 我们这样

#include <stdio.h>

int main() {
    if (!(1 == 7)) {
        printf("条件成立了");
    }

    return 0;
}

1 显然 无法等等于 7 所以 感叹号后面的条件是无法成立的
但非符号取反 我们运行
在这里插入图片描述
条件就成立了

意思 就是反过来 然后 我们这样写

#include <stdio.h>

int main() {
    if (!(1 == 1)) {
        printf("条件成立了");
    }

    return 0;
}

我们 1 等等于 1 显然 成立
我们运行代码 取反
条件就不成立了
在这里插入图片描述
最后 且 && 就是 所有的条件都必须成立 总条件才会成立 否则 整个条件返回的就是 条件 0(假)

我们这样写

#include <stdio.h>

int main() {
    if ((1 == 1)&&(2 == 2) && (3 == 3)) {
        printf("条件成立了");
    }

    return 0;
}

显然 我们全部条件都是成立的
运行代码
在这里插入图片描述
我们这里 稍稍改一下 将 最后一个3改成4 如下图
在这里插入图片描述
运行代码

因为 其中包含不成立的条件 因此 整个表达式是结果就是 0 (假)
在这里插入图片描述
运算符 非的优先级最高 然后 且的优先级高于或

常见运算符 优先级如下
在这里插入图片描述
记不住这些优先级:使用 小括号会帮助达到更清晰的表示运算次序关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/561748.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 自动填充文字内容到指定图片

目录 需求 开发运行环境 方法设计 实现代码 AddText方法 图片转Base64 调用示例 小结 需求 在我们的一些发布系统项目应用中&#xff0c;会经常发布一些链接图标&#xff0c;该图标基本上以模板背景为主&#xff0c;并填充项目文字内容。解决方式一般会让美工进行制作…

SL7220线性降压恒流3.6A 外围只需两个电阻 耐压40V汽车大灯IC

概述&#xff1a; SL7220 是一款双路线性降压LED恒流驱动器&#xff0c;外围只需两个电阻&#xff0c;输出电流10MA-3600MA。 SL7220 内置过热保护功能&#xff0c;内置输入过压保护功能。 SL7220 静态电流典型值为120uA。 特点 ●输入电压范围&#xff1a;2.5V-40V ●电…

Rokid AR Lite空间计算套装发布,中国空间计算踏上差异化领先之路

动动手指、动动眼睛就可以“操控一切”&#xff0c;这种颇具科幻感、未来感的交互方式&#xff0c;令许多人感叹“未来已来”。而这令人震撼的变革背后&#xff0c;正是空间计算技术的迅猛崛起与广泛应用&#xff0c;使得这种曾经只存在于想象中的交互方式&#xff0c;如今正逐…

超分中使用的损失函数和经典文章

损失函数 https://towardsdatascience.com/super-resolution-a-basic-study-e01af1449e13 在GAN出现之前&#xff0c;使用的更多是MSE&#xff0c;PSNR,SSIM来衡量图像相似度&#xff0c;同时也使用他们作为损失函数。 MSE 表面上MSE直接决定了PSNR&#xff0c;MSE&#xff…

html接入高德地图

1.申请key key申请地址&#xff1a;https://console.amap.com/dev/key/app 官方文档 https://lbs.amap.com/api/javascript-api-v2/summary 2.html接入示例 需要将YOUR_KEY替换成自己的key <!doctype html> <html> <head><meta charset"utf-…

2024年上海中考数学模拟题和答案,由过去十年真题随机组卷

还有不到两个月就是上海中考了&#xff0c;为了帮助孩子们更好地准备&#xff0c;好真题网把整理了过去十年的中考数学题真题&#xff0c;做成了在线试卷&#xff0c;便于孩子便捷地反复练习。吃透真题及其背后的知识点&#xff0c;是备考各种考试最科学、高效的方法&#xff0…

端午新疆自驾游招募

欢迎关注「苏南下」 在这里分享我的旅行和影像创作心得 端午节快到了&#xff0c;我计划带队开启【新疆喀什】旅拍摄影小团。让我这个新疆人带你去新疆赏美景、拍美片和吃美食。 出行时间是6.6-6.11日&#xff0c;为期6天。 为了保证良好的出行体验&#xff0c;这次团队招募人数…

Vue+OpenLayers7入门专栏目录,OpenLayers7中文文档,OpenLayers7中文手册api,OpenLayers7中文教程

返回入门到实战汇总目录&#xff1a;汇总目录 前言 本篇作为《VueOpenLayers7入门教程》所有文章的二合一汇总目录&#xff0c;方便查找。 本专栏源码是由OpenLayers7.x版本结合Vue框架编写。本专栏基本上每章都有详细的源代码和运行示例以供参考&#xff0c;且保证每章代码都…

【论文精读】Attention is all you need

摘要 主要的序列转换模型是基于复杂的循环或卷积神经网络&#xff0c;其中包括一个编码器和一个解码器。性能最好的模型还通过一种注意力机制将编码器和解码器连接起来。我们提出了一种新的简单的网络架构&#xff0c;Transformer&#xff0c;完全基于注意机制&#xff0c;完全…

每日学习笔记:C++ STL算法之容器元素排序

目录 常规排序 升序排序&#xff1a; sort(beg, end) stable_sort(beg, end, op) 自定义规则排序&#xff1a; sort(beg, end, op) stable_sort(beg, end, op) 局部排序(使前段有序) partial_sort(beg, sortEnd, end) partial_sort(beg, sortEnd, end, op) 复制并局…

【C++】日期类Date(详解)

&#x1f525;个人主页&#xff1a;Forcible Bug Maker &#x1f525;专栏&#xff1a;C 目录 前言 日期类 日期类实现地图 获取某年某月的天数&#xff1a;GetMonthDay 检查日期合法&#xff0c;构造函数&#xff0c;拷贝构造函数&#xff0c;赋值运算符重载及析构函数…

2. uni-app的一些介绍

前言 就目前的前端生态而言&#xff0c;跨端开发基本算是每一个前端开发者必备的技能点之一了&#xff0c;而在Vue这个技术栈里uni-app在跨端是独一档的&#xff0c;不信的话可以翻翻Boss之类的招聘网站.... 概述 阅读时间&#xff1a;约5~10分钟&#xff1b; 本文重点&…

linux的编译器vim

vim简介 之前我们在win下写代码&#xff0c;都是下载一些编译器VS/eclipse等 他们不仅可以写代码&#xff0c;还可以实现代码的运行调试&#xff0c;开发。这样的编译器叫做集成编译器 而linux中虽然也有这样的编译器&#xff0c;但不管是从下载&#xff0c;还是使用中都会显…

谷歌地球引擎Google Earth Engine下载数字高程模型DEM数据的方法

本文介绍在谷歌地球引擎&#xff08;Google Earth Engine&#xff0c;GEE&#xff09;中&#xff0c;批量下载指定时间与空间范围内的数字高程模型&#xff08;DEM&#xff09;数据的方法。 本文是谷歌地球引擎&#xff08;Google Earth Engine&#xff0c;GEE&#xff09;系列…

UltraScale+的40G/50G Ethernet Subsystem IP核使用

文章目录 前言一、设计框图二、模块说明三、上板3.1、发送端3.1、接收端 四、总结 前言 上文介绍了10G/25G Ethernet Subsystem IP核使用&#xff0c;本文将在此基础上介绍40G/50G Ethernet Subsystem IP核的使用&#xff0c;总体区别不大。 一、设计框图 由于40G以太网需要…

嵌入式 - i.MX93 Evaluation Kit介绍

MCIMX93-EVK (i.MX 93 APPLICATIONS PROCESSOR) 1, Out of the Box [ 开箱 ] Top view i.MX 93 11x11 EVK board Back view: Board kit contents: (board, power supply, cable, software, Documentation) MCIMX93-EVK board assembled with two separate boards, MCIMX93-SOM…

《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制伊甸火山3D网格曲面图

11.4.2小节我们使用3D曲面图可视化分析伊甸火山数据&#xff0c;本小节我们采用3D网格曲面图可视化分析伊甸火山数据&#xff0c;以展示其地形&#xff0c;具体示例代码如下。 购书地址&#xff1a;https://item.jd.com/14102657.html

RabbitMQ项目实战(一)

文章目录 RabbitMQ项目实战选择客户端基础实战 前情提要&#xff1a;我们了解了消息队列&#xff0c;RabbitMQ的入门&#xff0c;交换机&#xff0c;以及核心特性等知识&#xff0c;现在终于来到了激动人心的项目实战环节&#xff01;本小节主要介绍通过Spring Boot RabbitMQ S…

HackMyVM-Hommie

目录 信息收集 arp nmap WEB web信息收集 dirsearch ftp tftp ssh连接 提权 系统信息收集 ssh提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:77:ed:84, IPv4: 192.168.9.126 Starting arp-…

PhpStorm2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 PhpStorm是由JetBrains公司开发的一款商业的PHP集成开发环境&#xff08;IDE&#xff09;&#xff0c;深受全球开发人员的喜爱。它旨在提高开发效率&#xff0c;通过深刻理解用户的编码习惯&#xff0c;提供智能代码补全、快速导…