C语言逻辑运算符介绍和示例

article/2025/10/29 11:46:55

文章目录

  • 1、逻辑运算符介绍
  • 2、逻辑表达式的书写
  • 3、不得不说的逻辑非
  • 4、获取视频教程
  • 5、版权声明

1、逻辑运算符介绍

在日常生活中,要做出某个决定,需要判断的条件往往不止一个,需要判断多个条件,例如超女选秀,参与选秀的女孩子有以下基本数据:

年龄:取值16-50岁。

身高:取值150cm-190cm。

身材:1-火辣;2-普通;3-飞机场。

颜值:1-漂亮;2-一般;3-歪瓜裂枣。

女神标准是:1)年龄25-30岁;2)身高165cm-175cm;3)身材火辣;4)颜值漂亮或一般(可以整容)。

大脑中的逻辑是这样的:年龄25-30岁 并且 身高165cm-175cm 并且 身材火辣并且(颜值漂亮 或者 颜值一般)。

用C程序来表达大概如下:

  if ( (年龄 >= 25) 并且 (年龄 <= 30) ){if ( (身高 >= 165) 并且 (身高 <= 175) ){if (身材 == 火辣){if ( (颜值 == 漂亮) 或者 (颜值 == 一般) ){printf("超女选秀合格,送往后宫。\n");}}}}

示例(book25.c)

/**  程序名:book25.c,此程序演示在if中使用逻辑运算符。*  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>int main()
{int  age=0;        // 年龄int  height=0;     // 身高,单位:厘米cmint  sc=0;         // 身材,1-火辣;2-普通;3-飞机场。int  yz=0;         // 颜值,1-漂亮;2-一般;3-歪瓜裂枣。printf("请输入年龄、身高、身材(1-火辣;2-普通;3-飞机场):");scanf("%d %d %d",&age,&height,&sc);printf("请输入颜值(1-漂亮;2-一般;3-歪瓜裂枣):");scanf("%d",&yz);if ( (age >= 25) && (age <= 30) )    // 年龄在25-30之间{if ( (height >= 165) && (height <= 175) )  // 身高在165-175之间{if (sc == 1)    // 身材,1-火辣{if ( (yz == 1) || (yz == 2) )   // 颜值,1-漂亮或者2-一般{printf("超女选秀合格,送往后宫。\n"); return 0;}}}}printf("超女选秀不合格,发放五两银子后送回家。\n");
}

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

2、逻辑表达式的书写

在book25.c中,采用了if嵌套的方法,其实可以采用一个复杂的if逻辑表达式一次性完成全部的判断,采用括号、对齐、空格、换行有助于更清晰的表达复杂的逻辑表达式。

示例(book26.c)

/**  程序名:book26.c,此程序演示在if中使用逻辑运算符。*  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>int main()
{int  age=0;        // 年龄int  height=0;     // 身高,单位:厘米cmint  sc=0;         // 身材,1-火辣;2-普通;3-飞机场。int  yz=0;         // 颜值,1-漂亮;2-一般;3-歪瓜裂枣。printf("请输入年龄、身高、身材(1-火辣;2-普通;3-飞机场):");scanf("%d %d %d",&age,&height,&sc);printf("请输入颜值(1-漂亮;2-一般;3-歪瓜裂枣):");scanf("%d",&yz);}if ( ( (age >= 25) && (age <= 30)         ) &&     // 年龄在25-30之间( (height >= 165) && (height <= 175) ) &&     // 身高在165-175之间( (sc == 1)                          ) &&     // 身材,1-火辣( (yz == 1) || (yz == 2)             ) )      // 颜值,1-漂亮或者2-一般{printf("超女选秀合格,送往后宫。\n");}else{printf("超女选秀不合格,发放五两银子后送回家。\n");}
}

book26.c采用一个if表达式就实现了全部逻辑的判断功能,效果与book25.c相同,如果实在理解不了,就采用book25.c中的表达方式。

3、不得不说的逻辑非

逻辑运算符有三种,上文介绍了&&和||,还有一个!没介绍,在我看来,这个运算符就不应该存在,它很容易搞乱人的思维。

大家可以先看看它是怎么回事,也可以写代码测试一下它的用法,然后就忘了它。

!就是非,取相反的意思。

例如:

  if (age==25) // 判断年龄是25岁

等同

  if (!(age!=25)) // 判断年龄不是25岁再取反

这是吃饱了撑着。

4、获取视频教程

百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
https://edu.csdn.net/course/play/29402

5、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!


http://chatgpt.dhexx.cn/article/GbPY5O9D.shtml

相关文章

C语言按位逻辑运算符总结-与、或、非、异或

点击上方蓝字关注我&#xff0c;了解更多咨询 C中有按位逻辑运算符&#xff1a;按位取反、按位与、按位或、按位异或。这4个运算符可以用于整型&#xff0c;包括char类型。按位操作针对每一个位进行操作&#xff0c;不影响左右两边的位。4个运算符的作用总结如下&#xff1a; 一…

C语言逻辑运算符和||,一篇文章带你读懂逻辑表达式!

目录 逻辑运算符有哪些&#xff1f; 逻辑运算符的短路特性 逻辑运算符在表达式求值中的问题 逻辑运算符&&、||混合的不同情况 逻辑运算符有哪些&#xff1f; C 语言提供了以下三种逻辑运算符。 一元&#xff1a;&#xff01;&#xff08;逻辑非&#xff09;。 二…

勒让德符号判断二次剩余-C语言

近日备考学习二次剩余理论&#xff0c;其中了解到勒让德符号这个相比欧拉定理更加方便判断一个正整数在一个模数下是否为二次剩余&#xff1b; 基于勒让德符号理论的学习&#xff0c;本文旨在通过程序来实现基于勒让德符号的二次剩余判断方法&#xff1b; 本文着重点在于运算…

二次剩余入门

昨天训练的时候遇到一道题怎么也不会做&#xff0c;在网上搜了题解之后第一次听说了二次剩余&#xff0c;看了一天各种dalao的博客&#xff0c;在这里总结一下自己所理解的二次剩余及其用法。 1&#xff0c;什么是二次剩余&#xff1f; 2&#xff0c;二次剩余有什么用&#xff…

平方剩余(二次剩余)

平方剩余&#xff1a; 设p是奇素数(即大于2的素数)&#xff0c;如果二次同余式 有解&#xff0c;则a称为模p的平方剩余&#xff0c;否则a称为模p的平方非剩余(二次非剩余)(之所以规定p是大于2的素数&#xff0c;是因为p 2时解上面的二次同余式非常容易。 求出p 5&#xff…

二次剩余--欧拉准则

在 数论中&#xff0c; 二次剩余的 欧拉判别法&#xff08;又称 欧拉准则&#xff09;是用来判定给定的 整数是否是一个 质数的 二次剩余。 目录 1 叙述2 举例 2.1 例子一&#xff1a;对于给定数&#xff0c;寻找其为二次剩余的模数2.2 例子二&#xff1a;对指定的质数p…

二次剩余问题x的求解及代码实现(python)

一、问题引入 二次剩余是数论基本概念之一。它是初等数论中非常重要的结果&#xff0c;不仅可用来判断二次同余式是否有解&#xff0c;还有很多用途。C.F.高斯称它为算术中的宝石&#xff0c;他一人先后给出多个证明。 [1] 研究二次剩余的理论称为二次剩余理论。二次剩余理论…

二次剩余(学习笔记)

就是用来求解 x 2 ≡ n &VeryThinSpace; m o d &VeryThinSpace; p x^2\equiv n \bmod p x2≡nmodp的一个方法 对 p p p进行分类讨论&#xff1a; p 2 p2 p2 &#xff0c;则 x n xn xn p p p为奇素数 勒让德符号&#xff1a; ( a p ) { 1 a 在 模 p 意 义 下 是 二…

(转载)二次剩余(知识总结+板子整理)

思路来源 https://blog.csdn.net/kele52he/article/details/78897187&#xff08;二次剩余&#xff09; https://blog.csdn.net/stevensonson/article/details/85845334&#xff08;二次剩余&#xff09; https://blog.csdn.net/skywalkert/article/details/52591343?locat…

二次同余方程(二次剩余)

文章目录 一、介绍1.定义2.定理 二、判别1.勒让德符号&#xff08;Legendre Symbol&#xff09;2.欧拉判别准则&#xff08;Eulers criterion&#xff09;(1)内容(2)证明(3)注意 三、 x 2 ≡ n ( m o d x^2≡n(mod x2≡n(mod p ) p) p)——奇波拉算法&#xff08;Cipollas alg…

二次剩余 数论 勒让德

在数论中&#xff0c;特别在同余理论里&#xff0c;一个整数对另一个整数的二次剩余&#xff08;英语&#xff1a;Quadratic residue&#xff09;指的平方除以得到的余数。 当存在某个&#xff0c;式子成立时&#xff0c;称“是模的二次剩余” 当对任意&#xff0c;不成立时&…

二次剩余

title: 二次剩余 date: 2019-08-27 00:10:46 tags: 数论 一、定义&#xff08;Quadratic_residue&#xff09; 一个整数X对另一个整数p的二次剩余 d 注意这边的取模是 X 2 X^2 X2 和 d 都要对p取模噢 eg. 3 2 ≡ 2 ( m o d 7 ) 3^2≡2 (mod\ 7) 32≡2(mod 7),我们称 2是7的…

win10增加美式键盘

仅为做记录 我的系统为win10专业版 1809 首先进入语言首选项 选择添加语言 选择英语&#xff08;美国&#xff09; 之后选择拼写、键入和键盘设置 在输入的最下面选择高级键盘设置 选择语言栏选项 更改按键顺序选项中可以修改切换语言的快捷键 本质上是切换语言种类而不是输…

删除Win10英语国际键盘的方法

按下winR打开运行&#xff0c;键入regedit点击确定打开注册表 在注册表中依次展开&#xff1a;HKEY_CURRENT_USER\Keyboard Layout\Preload 改成下面的样子&#xff1a; 这个表示默认输入法是英语-美式键盘&#xff0c;接下来是中文-美式键盘。 注1&#xff1a;可以右键创…

win10添加美式键盘_戴尔笔记本win10降win7教程

现在大多数人电脑操作系统都是win10&#xff0c;但是很多人由于各种原因&#xff0c;比如部分软件限制&#xff0c;还是不得不继续使用win7操作系统&#xff0c;有些朋友自己安装win7的时候会发现各种问题&#xff0c;始终安装不上&#xff0c;接下来我整理下win10降win7的办法…

超详细window10添加美式键盘

转自https://blog.csdn.net/qq_41139830/article/details/80500841 打开控制面板->添加语言 然后点击图中的添加语言 选择英语 选择英语(美国) 然后回到下图这个界面&#xff0c;就会发现多出了美式键盘 &#xff08;如果美式键盘在上面&#xff0c;就要将其下移&#xff0…

win10切换输入法快捷键_软件快捷键失灵,可能是你没有安装美式键盘

工程类用到的软件&#xff0c;比如Altium designer、keil、ccs、Quartus ii等基本都是老外开发的&#xff0c;他们的工作的键盘模式都是美式键盘&#xff0c;快捷键也相应的是美式键盘下的快捷键&#xff0c;这就导致我们自己在使用这些软件时&#xff0c;要注意选择键盘类型&a…

Win10怎么设置默认输入法为美式英文键盘

默认的输入法就是进入系统后一打字就是你想要的那一种输入法。WIN10的默认输入法是微软拼音输入法&#xff0c;它是一个中文的输入法&#xff0c;用起来不是很方便。 相对来说&#xff0c;大部分人都是习惯输入法默认的状态是英文的。这样可以在输入网址&#xff0c;或是在码字…

win10添加美式键盘_在win10中使用多种键盘布局,你知道如何操作吗

Windows10操作系统允许用户使用多种键盘布局&#xff0c;用户可以在初始设置过程中添加一个或多个键盘布局(也称为“开箱即用”体验(OOBE))。但是&#xff0c;如果你配置了错误的布局&#xff0c;或者以后需要键入不同的语言&#xff0c;则可以随时添加和更改键盘配置。 一般情…

Win10添加美式键盘

为什么80%的码农都做不了架构师&#xff1f;>>> WIN8也可以这实现&#xff01; ###在“中文”内添加美式键盘需要修改注册表。 打开CMD&#xff0c;输入 regedit 打开注册表编辑器&#xff1b; 转到 HKEY_CURRENT_USER/Keyboard Layout/Substitutes&#xff0c; 新…