对于if-else-if语句和多个并列的if语句的区别,我就拿实例来给大家看看吧。

例题:输入三个数a,b,c,按要求由小到大的顺序输出?

解析:我们假设a,b,c,已经是由小到大的顺序排列的,我们需要将这三个数每2个比较一下大小关系。

如果a>b  则将a和b的位置互换

如果a>c  则将a和c的位置互换

如果b>c  则将b和c的位置互换

其中要注意的是,当2个变量互换值的时候,我们需要找一个中间变量来进行交换,就好比我们要将2个瓶子里面的水互换,我们还需要另外一个空瓶子3,先将一个瓶子1里面的水倒进空瓶子3,再将瓶子2里面的水倒进瓶子1里面,瓶子3里面的水倒进瓶子2,这样就完成了互换。

解答:首先我们用if-else-if的形式

#include <stdio.h>void main()
{int a, b, c, temp;printf("请输入三个整数:\n");scanf_s("%d,%d,%d", &a, &b, &c);if (a > b){temp = a;a = b;b = temp;}else if (a > c){temp = a;a = c;c = temp;}else if (b > c){temp = b;b = c;c = temp;}printf("%d<%d<%d\n", a, b, c);
}

当我们输入4,7,9时,程序输出的结果是正确的

可是当我们输入7,9,3时,程序却出现了错误。

这是为什么呢?我们再试试多个if语句并列的形式

#include <stdio.h>void main()
{int a, b, c, temp;printf("请输入三个整数:\n");scanf_s("%d,%d,%d", &a, &b, &c);if (a > b){temp = a;a = b;b = temp;}if (a > c){temp = a;a = c;c = temp;}if (b > c){temp = b;b = c;c = temp;}printf("%d<%d<%d\n", a, b, c);
}

这时候我们再输入7,9,3时,程序的结果是正确的。

这就要谈到他们的区别了,首先并列的多个if语句,程序是会将每个if语句都进行判断,只有为真才会执行if语句后面的语句块,当为假时,就会去执行下一个if语句进行判断,直到所有的if语句都判断完。而if-else-if,就不是并列的关系了,它在一定情况下是不会将整个if语句都进行判断了,当满足一个if语句判断为真,那么它执行完if语句后面的语句块,就会不再执行后面的else-if语句了。所以在输入7,9,3时,a>b不满足,就会执行else后面的if语句进行判断,此时a>c是满足的,就会将a和c的值交换,交换后并不会去执行else后面的if语句进行判断了,b和c的值就无法比较了,因为只有前面一个if语句判断为假才会执行else后面的if语句,继续进行判断,而并列的if语句就不同,都会将所有if语句进行判断一遍。

例题:写一个程序完成以下功能:

1、输入一个分数score

2、score<60      输出F

3、score>=60或者score<70     输出D

4、score>=70或者score<80     输出C

5、score>=80或者score<90     输出B

6、score>=90或者score<=100     输出A

#include <stdio.h>void main()
{int score;printf("请输入你的分数:");scanf_s("%d", &score);if (score < 60){printf("你的成绩等级是F!\n");}else if (score >= 60 && score < 70){printf("你的成绩等级是D!\n");}else if (score >= 70 && score < 80){printf("你的成绩等级是C\n");}else if (score >= 80 && score < 90){printf("你的成绩等级是B\n");}else if (score >= 90 && score <= 100){printf("你的成绩等级是A\n");}
}

所以,我们要注意一下这2个的区别及用法。本文章是看完哔哩哔哩的C语言教程视频后写下的一个笔记,其视频链接为https://www.bilibili.com/video/av2831981/?p=12。要是觉得文章不错,就给小编点个赞吧!要是有什么不正确的地方,请在下方给我评论,小编一定虚心请教。

if-else-if语句和多个并列的if语句的区别相关推荐

  1. c语言if语句怎么表达字符,C语言if语句的基本用法

    一.if- 1.一般形式: if (表达式) {语句;} 表达式: a,用非 0 值表示真,用 0 表示假; b,if(flag) 相当于 if(1==flag) c,浮点数无法与 0 比较,只能用近 ...

  2. hibernate中的hql查询语句list查询所有与iterate查询所有的区别

    hibernate中的hql查询语句list查询所有与iterate查询所有的区别 list查询所有: 01,会立即产生一条select语句1select查询出来的所有语句都会被session管理, ...

  3. c#switch语句判断成绩_Go的条件判断语句

    现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...

  4. php关系运算符语句,PHP基础__运算符和逻辑语句(三)

    一:PHP的运算符: 1.算数运算符:+ - * / % 2.赋值运算符: = , 3.字符串运算符 . 和 .=2种 4.递增递减运算符: ++ $x, $x ++ , - -$x,$x -;(类似 ...

  5. python循环语句-详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  6. python表示语句块采用_python中什么是语句块?

    在python中,语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可创建语句块,语句块中的每行必须是同样的缩进量. Python的基本语法--语句块 ...

  7. java跳转语句包含goto_Java 的跳转语句中 _______( 包含 / 不包含 )goto 语句。_学小易找答案...

    [单选题]承压水井和潜水井是根据()来划分的. [单选题]下列哪个叙述是正确的? [其它]Demo编程:分别用以下布局实现如图所示界面: 线性布局(LinearLayout) 表格布局(TableLa ...

  8. java中循环语句_Java语法基础之循环结构语句详解

    一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循 ...

  9. if else if语句的用法python_Python笔记3---if语句、if-elif-else 结构、使用if语句处理列表...

    五.if语句 5.1 一个简单示例 使用if 语句来正确地处理特殊情形. cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if ...

最新文章

  1. PyTorch入门与代码模板
  2. Markdown 中画图
  3. 【工具】云文档办公利器!腾讯文档好评!
  4. 生产级部署 Python 脚本,崩溃可自启!
  5. 添加softmax层_PyTorch入门之100行代码实现softmax回归分类
  6. DOS下查看局域网的ip使用情况,以及ip对应的主机名
  7. 2020 阿里云原生实战峰会即将开幕 云原生落地的正确姿势
  8. java 页面换行处理
  9. asm数据文件迁移(os–asm)
  10. 进程间通信机制(管道、信号、共享内存/信号量/消息队列)、线程间通信机制(互斥锁、条件变量、posix匿名信号量)...
  11. 【JSP简单实现购物车(书本案例代码)】
  12. 车联网 北斗GPS 部标平台 JT/T808
  13. macbook2015年早期版本更换三星1T 980nvme遇坑过程
  14. 在线教育开源源码:消费者如何规避线上教育“陷阱”营销?
  15. 笔记本安装PCMCIA并口卡
  16. Goonie企业竞争情报系统评为选中国优秀网络应用软件奖
  17. Linux下载GEO数据,教你3种方法下载NCBI GEO数据
  18. Docker系列 深度使用nextcloud(一)
  19. php代码托管平台,程序员必须知道的几个Git代码托管平台
  20. C/C++动态内存申请与释放

热门文章

  1. 微信小程序开发---连接云开发数据库,实现数据获取
  2. 对java中匿名对象和匿名类的简单理解
  3. ASEMI肖特基二极管SBT30100VDC的特点有哪些
  4. IDC追踪报告:帆软软件蝉联中国BI市场占有率第一
  5. 开启灯光就是近光吗_汉兰达自动大灯怎么用,自动大灯AUTO时是近光还是远光 - 闹太套汽车之家...
  6. 每日一程-18.找出文件中元音为'aeiou'的单词
  7. 报错:Provisioning profile iOS Team Provisioning Profile: doesn't match the entitlements file's
  8. ArcGIS-创建企业级数据库相关问题
  9. python实现触摸精灵功能_触摸精灵lua脚本实现微信群自动加好友功能~值得一看...
  10. 传统手动和上电复位电路