第十一课,多分支判断

一,多分支结构

某些场景下,判断条件不止一个,可能有多个。

语法格式(下图左):

*需要注意:这里仅是以5种选择作为例子,

可以根据自己的需要,在if...else的中间插入任意个else if来增加选择

C++将从第一个选择开始往下进行判断,当遇到首个条件成立的判断时,会执行里面的代码,并跳过剩下的所有判断

      

//思考:请问上图右边这种多分支选择,与左边的例子有何区别?它们能实现的功能是完全一样的吗?

答:要搞清楚这个问题,需要理清楚多个if和if...else if...else之间的区别——

两种情况C++都是从头往下依次进行判断,只要条件成立,就会执行对应的代码

唯一的区别在于,当遇到首个条件成立的判断时,左图情况会执行里面的代码,并跳过剩下的所有判断,而右图情况仍会继续往下判断。

if...else if...else多分支是一个整体,整体只做一件事。

多个if各自都是单体,只要满足条件就做事。


二,分支嵌套

有很多场景,不仅仅是多个并列条件,还会有满足前提条件才会二次判断的多层判断需求。

比如老师说:“下课后,男生里力气大的同学,留下来帮老师搬东西。”

在这个场景中,“男生”是一个前提条件,满足这个前提条件之后、再进行二次判断“力气大”的同学。

我们以实际程序来举一个例子你就更加明白了:

编写一个简易计算器,实现以下功能——

用户能够输入两个整数x,y和一个字符c(输入的c只可能是’+’、’-’、’*’、’/’这四种运算符)

请根据输入的字符c计算对应的x和y的运算(例如输入的x,y,c分别为10,20,+,那么你就应该计算10+20的结果,以此类推)

但学过除法的小朋友都知道,0是不能作为除数的,因此如果y是0并且c是’/’,你的程序不应该帮用户计算x/y而是输出“学过除法吗?除数不能为零!”狠狠地嘲讽用户(玩笑罢了~),如果还没理解题目,请看下图的样例。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值