目录

1、关系运算符介绍

2、应用示例

3、逻辑运算符介绍

4、逻辑表达式的书写

5、不得不说的逻辑非


1、关系运算符介绍

关系运算(Relational Operators),用于判断条件,决定程序的流程。

关系 数学中的表示 C语言的表示
小于 < <
小于等于 <=
大于 > >
大于等于 >=
等于 = ==
不等于 !=

C语言的基本数据类型有char、int、double,我们暂时认为只有char和int适用于上述关系运算符,double和字符串(字符数组)的关系运算以后再讨论。

注意了:

1)“=”是赋值,“==”才是判断两个数是否相等,不能混用。

2)C语言没有“之间”、“中间”、“之内”或“在某范围内”的关系运算符,例如年龄在25-30岁之间,只能表达为:年龄大于等于25岁
并且 年龄小于等于30岁

2、应用示例

在现实世界中,不是全部的事情都按顺序进行的,需要根据客观条件做出判断和选择,例如超女选秀,限制了16岁才能参加,16岁以下是不能参加的。这时候程序就需要做出判断,判断报名者的年龄是否满16岁,并给出提示。

在C语言中,使用if和else关键字对条件进行判断,先看下面的代码。

示例(book20.c)

/**  程序名:book20.c,此程序演示关系运算符用于条件判断。*  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>int main()
{int    age=0;   // 定义一个整数变量age,存放用户输入的年龄printf("请输入您的年龄:");    // 提示用户输入scanf("%d",&age);              // 接受从键盘输入的年龄数据if (age >= 16){// 如果用户已满16岁,执行这段代码printf("亲,您已成年,可以报名超女选秀,祝您好运!\n");}else{// 如果用户小于16岁,执行这段代码printf("这位童鞋,不好意思哦,等您16岁之后再来吧!\n");}
}

运行效果

以上代码中,age>=16是需要判断的条件,>=表示“大于等于”,等价于数学中的≥。

3、逻辑运算符介绍

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

年龄:取值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");
}

运行效果

4、逻辑表达式的书写

在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中的表达方式。

5、不得不说的逻辑非

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

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

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

例如:

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

等同

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

C语言基础知识:关系运算符与逻辑运算符相关推荐

  1. java填空题_Java语言基础知识填空题

    Java语言基础知识填空题 想学java语言的人,要多做题才能巩固知识,下面小编为大家带来了Java语言基础知识的填空题,欢迎大家阅读! Java语言基础知识填空题. 1.浮点型数据根据数据存储长度和 ...

  2. c语言基础知识难点,C语言基础的几个难点解析

    [摘要]本文结合C语言的教学实践,讲解了C 语言基础知识的几个难点,是教学过程中学生较难掌握和容易出错的重要知识点.希望可以对学习C语言的读者提供参考,能更好地理解C程序设计的思想.编写出优秀的C程序 ...

  3. C语言基础知识入门和C语言入门基础知识大全

    一.C语言基础知识入门 C语言一出现,就以其丰富的功能.强大的表达能力.灵活性.方便性和广泛的应用,在世界范围内迅速普及和普及.C语言不仅高效而且可移植.它可以用来开发应用软件.驱动程序.操作系统等. ...

  4. 重拾Java基础知识:运算符操作

    Java基础知识:运算符操作 前言 优先级 赋值 算术运算符 一元加减运算符 递增和递减 关系运算符 逻辑运算符 短路 位运算符 与(&) 或(|) 异或(^) 反(~) 左移(<< ...

  5. C语言基础知识总结大全(建议收藏)

    前言:C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知识梳理总结,C语言零基础入门绝对不是天方夜谭! 1 算法结构 一.顺序结构.选择结构.循环结构:二.循环结构又分 ...

  6. 2023年C语言基础知识入门(大全)

    一.C语言基础知识入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是 ...

  7. C语言基础知识入门(大全详解)

    一.C语言基础知识入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是 ...

  8. C语言基础知识入门【2022】

    一.C语言基础知识入门前言 C语言一经出现就以其特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等,也是其它众多高级编程语言的鼻祖语言,所以说学习C ...

  9. 2022最新知识,一步一步学习C语言基础知识入门(图例解析)

    一.C语言基础知识入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是 ...

  10. C语言基础知识手册(自用)

    文章目录 前言 一.C代码的基础框架 二.变量与常量 1.数值类型 1.1-基本类型 1.1.1-整型int 1.1.2-浮点型float 1.1.3-字符型char 1.1.4-枚举型enum 1. ...

最新文章

  1. Datawhale数据分析教程来了!
  2. HDU5017(模拟退火算法)
  3. 2021春季学期-创新设计与实践-Lesson3
  4. 匿名类、包、权限修饰符_DAY10
  5. 记录使用websocket时因为Sec-Websocket-Protocol遇到的一个问题
  6. DNS A记录和CNAME记录
  7. 3-3:HTTP协议之request和respond及常见请求方法和常见状态码
  8. Delphi 与 DirectX 之 DelphiX(82): TDIB.DrawMandelbrot();
  9. android滚动条布局平分,让你的布局滚动起来—ScrollView
  10. 解决Tensorflow2.0出现:AttributeError: module 'tensorflow' has no attribute 'get_default_graph'的问题
  11. Windows XP/2003 Server操作系统源代码完整版下载链接
  12. 微信公众号支付开发-php
  13. 使用ps处理PDF文件
  14. Python爬虫入门教程【6】:蜂鸟网图片爬取之一
  15. 阿里云服务器租用费用
  16. Excel中判断内容是否重复-条件格式或IF+COUNTIF函数
  17. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载
  18. 美团外卖用户评价文本研究
  19. 2020“天猫双11”淘宝直播商家数据报告:新渠道、新品牌、新趋势
  20. 区块链技术在食品行业供应链管理中的用途

热门文章

  1. 配置QSPI和SFUD
  2. Filebeat日志采集器实例
  3. Ract基础之恰当的获取数据二
  4. 监理教程知识点精讲之行业信息化的主要模式
  5. 推特开发者账号 elevated academic学术权限申请
  6. android 应用同时装_ARC Welder怎样同时安装或者运行多个安卓应用?
  7. Spring Cloud之Ribbon
  8. 初学者也可以在云端部署自己的个人网站
  9. 玩转Mysql系列 - 第13篇:细说NULL导致的神坑,让人防不胜防
  10. android 多线程断点续传下载