C语言基础入门48篇_14_逻辑运算符(逻辑与(&&)、逻辑或(

2023-10-30

C语言中的逻辑运算符有&&||、及,他们分别被称为逻辑与逻辑或逻辑非前两者是二元运算符,逻辑非是一元运算符

1.逻辑与运算符 `&&`

  • 逻辑与运算符的基本语法是:表达式1 && 表达式2
  • 其求值的结果规则是:
    (1)当两个表达式均为非0时,求值结果为1
    (2)其他情况(只要有至少一个表达式为0),求值结果为0

实例:判断一个数字既可以被5整除又可以被7整除

#include <stdio.h>

int main(int argc, char* argv[])
{
    int nValue = 0;
    scanf("%d", &nValue);

    if (nValue % 5 == 0 && nValue % 7 == 0)
    {
        printf("这个数字既可以被5整除,也可以被7整除\r\n");
    }
 return 0;
}

2.逻辑或运算符`||`

  • 逻辑或运算符的基本语法是:表达式1 || 表达式2
  • 其求值的结果规则是:
    (1)当两个表达式均为0时,求值结果为0
    (2)其他情况(只要有至少一个表达式为非0),求值结果为1

实例:判断一个年份,是否为闰年,判断闰年的标准是:能被100整除,同时能被400整除;或者不能被100整除,但是能被4整除

#include <stdio.h>

int main(int argc, char* argv[])
{
    int nYear = 0;
    scanf("%d", &nYear);

    //能被100整除,同时能被400整除
    // nYear % 100 == 0 && nYear % 400 == 0

    //不能被100整除,但是能被4整除
    // nYear % 100 != 0 && nYear % 4 == 0

    if (
        (nYear % 100 == 0 && nYear % 400 == 0)
        || (nYear % 100 != 0 && nYear % 4 == 0)
        )
    {
        printf("这个是闰年\r\n");
    }
    else
    {
        printf("不是闰年\r\n");
    }
    return 0;
}

3.逻辑非运算符`!`

  • 逻辑非就是将表达式结果“反置”,其基本语法是:!原表达式
  • 其求值规则是:
    (1)如果原表达式为0,则求值后结果为1
    (2)如果原表达式结果为非0,则求值后结果为0

实例:

#include <stdio.h>

int main(int argc, char* argv[])
{
    int nValue = 0;
    scanf("%d", &nValue);

    printf("原有表达式的值:%d\r\n", nValue);
    nValue = !nValue;
    printf("逻辑取反后的表达式的值:%d\r\n", nValue);
 return 0;
}

运行结果:
在这里插入图片描述

4.逻辑运算符的短路特点


先看一段代码,推测以下代码的打印结果:

#include <stdio.h>

int main(int argc, char* argv[])
{
    (printf("Hello, world!\r\n") ) || (printf("something else\r\n!"));
 return 0;
}

运行结果:
在这里插入图片描述
实际上,这样的打印结果,与逻辑运算符的短路特性有关。

简单总结如下:
(1)如果||运算符左边的表达式为真(非0),则右边的表达式不再执行
(2)如果&&运算符左边的表达式为假(0),则右边的表达式不再执行

5.学习视频地址:C语言基础入门48篇_14_逻辑运算符

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言基础入门48篇_14_逻辑运算符(逻辑与(&&)、逻辑或( 的相关文章

随机推荐

  • 【图像处理】《数字图像处理-冈萨雷斯》笔记

    数字图像处理 冈萨雷斯 笔记 第一章 绪论 图像处理实例 伽马射线成像 X射线成像 紫外波段成像 可见光以及红外线成像 微波波段成像 无线电波成像 声波成像 图像处理的基本步骤 图像获取 滤波与增强 图像复原 彩色图像处理 小波与分辨率处理
  • JMeter 安装教程(详细安装教程)

    JMeter 安装教程 详细安装教程 一 jdk下载 注意 因为jmeter运行依赖jdk环境 所以在安装jmeter之前需要安装jdk且配置环境变量 需要jdk1 8以上版本 1 jdk下载地址 http www oracle com t
  • Vue实现下载及文件重命名

    效果如下 实现步骤 html
  • 理解JavaScript作用域和作用域链

    一 JavaScript中的作用域 作用域是当前的执行上下文 值和表达式在其中 可见 或可被访问 如果一个变量或表达式不在当前的作用域中 那么它是不可用的 function foo var x sfa console log x x is
  • 31黑马QT笔记之QPixmap、QImage、QPicture功能大总结

    31黑马QT笔记之QPixmap QImage QPicture功能大总结 QPixmap QImage既可以用于绘图 又可以作绘图设备时保存图片 而QPicture只能用于作绘图设备时保存图片状态 保存前需要用到前两种方法绘图 要显示必须
  • Go Lang 从Request中解析文件和参数

    如果要处理上传的文件 就必须使用multipart form data编码 处理multipart form data编码的请求时 解析使用ParseMultipartForm 之后从MultipartForm字段取值 前端上传代码
  • powershell 学习笔记

    命令模式 字符串不需要加引号 除变量和圆括号中的内容外的所有内容均可看作字符串 copy users txt accounts txt copy src dest write host 2 2 表达式模式 以最高级别语言分析方法来进行分析
  • 高通平台MSM8916LCM模块移植(一)-bootloader部分

    目录 LK中LCM启动流程 oem panel select mdss dsi initialize read panel id 此次移植打算分成两个模块来说 bootloader部分和kernel部分 在实际的移植调试过程中也是这么分成了
  • C语言期末复习编程练习之百钱百鸡问题

    古代数学家张丘建在 算经 一书中提出的数学问题 鸡翁一值钱五 鸡母一值钱三 鸡雏三值钱一 百钱买百鸡 问鸡翁 鸡母 鸡雏各几何 创作此系列的原因也是为了复习期末考试 各位见谅哦 include
  • 近7000万美元被盗:Curve被攻击事件分析

    7 月 31 日 以太坊编程语言Vyper发布公告称 Vyper 0 2 15 0 2 16 和 0 3 0 版本的递归锁失效 随后Curve Finance等相关协议出现了漏洞攻击事件 漏洞的根源都是某些版本的 Vyper 中出现故障的递
  • python发送邮件zmail库

    第三方库 zmail 和 yagmail 可实现邮件发送 在实际使用对比zmail比yagmail更简洁 使用zmail 无需登录OA邮箱 便可完成邮件的发送及附件的自动加载 import zmail def send zmail send
  • JupyterHub on Kubernetes部署

    理论是灰色的 实践之树长青 恩格斯 近日在做毕设项目 涉及到在K8s和swarm基础上部署JupyterHub 经过两天时间的学习和部署 N次的失败尝试 最终在服务器上成功部署了JupyterHub 实验依赖 阿里云服务器2核4G ubun
  • SpringBoot项目的创建和jar、war方式的部署

    一 创建项目 项目开发用的是IDEA java版本为1 8 Tomcat版本为9 0 8 新建项目 选择Spring Initializr 下一步 填写group和artifact信息 下一步 选择Web中的Web 下一步 选择存放路径 例
  • git部署出现的问题

    git部署出现的问题 error remote origin already exists remote rejected master master hook declined 一 出错信息 fatal remote origin alr
  • spring boot 配置log4j2

    刚入职新公司 接到的第一个需求就是把项目的log4j 1 x 升级到2 x 之前没有做过日志配置 都是直接拿来用的 这是第一次自己配置日志文件 所以记录下相关知识点 1 排除1 0的jar包 首先排查项目中log的版本 把1 0相关的版本都
  • AI-day02-2(Python小白逆袭大神)

    安装paddlehub pip install paddlehub 1 6 0 i https pypi tuna tsinghua edu cn simple Looking in indexes https pypi tuna tsin
  • AndroidStudio如何使用@hide api

    前提 你的应用必须是System App 在project的build gradle里面添加 gradle projectsEvaluated 所有的 project 都配置完成后的回调 此时 所有的project都已经配置完毕 准备开始生
  • 关于 DRM 中 DUMB 和 PRIME 名字的由来

    前言 在上一篇 DRM驱动程序开发 VKMS 文章里 我们学习了如何编写一个最简单的 KMS 驱动 而本篇 我将以叙述的形式为大家讲解 DRM GEM 的相关概念 代码留到下一篇进行讲解 我知道 大多数的 DRM 初学人员 在刚接触到 GE
  • 怎么编写接口测试用例

    怎么编写接口测试用例 接口测试用例如何编写 看到许多这样的问题 大家都知道编写接口测试用例是接口测试的重要组成部分 它决定了测试的质量和可靠性 因此 程序员必须编写高质量的接口测试用例 以确保接口在生产环境中能够正常运行 编写接口测试用例的
  • C语言基础入门48篇_14_逻辑运算符(逻辑与(&&)、逻辑或(

    C语言中的逻辑运算符有 及 他们分别被称为逻辑与 逻辑或 逻辑非 前两者是二元运算符 逻辑非是一元运算符 1 逻辑与运算符 逻辑与运算符的基本语法是 表达式1 表达式2 其求值的结果规则是 1 当两个表达式均为非0时 求值结果为1 2 其他