00:02
多分支。我们来看一下多分支的。使用,那么首先我们还是看它的基本语法,它的基本语法是这样子的,If啊,如果说当然这边还是个条件表达式,如果这个为真呢,咱就执行这里面的代码块。大家看这里面有个东西呢,叫l if l if就是第二个条件。第二条件,如果第一个条件为真,咱们就执行这里面的,否则的话呢,就判断第二个为不为真。如果第二个不位置呢,大家看我这里写的是点点点说明什么呀,说明这个else if。这个可以有多个。可有多个,你爱写多少个写多少个,明白意思吧。最后呢,有个else结尾,就说如果下面的条件都不满足,那么我就执行最后这一个代码块。这样子的,这是它的基本语法,大家看清楚了,那现在呢,我们来看一下多分支的一个流程图,这个特别的重要,一定要看懂哈,一定要看懂,老师呢,把这一个流程图给大家做一个解释。
01:11
大家看代码,从这里开始执行。对,那首先呢,他先判断第一个条件表达式。如果这个条件表达式为真,就执行第一个代码块,执行完了过后就结束了,这一点是特别重要的,就是说我虽虽然后面还有可能有很多条件,但是只要。第一个条件表达式为真,它执行的过后呢,这些条件就不会再判断,直接就走了。那如果第一个条件表达式它为甲。就如果第一个条件表达式为甲,他就会去判断第二个条件表达式。如果第二个条件,条件表达式为真呢,它执行第二个代码块,同样的道理,执行完第二个代码块过后呢,后面的部分不会再去判断,而是直接就结束我们这个多分支。
02:08
那么如果条件表达式。二也为甲,怎么办呢?再去执行下面的第三个条件表达式,以此类推。如果所有的条件表达式都不成立,就执行这个else里面的东西。这就是他的流程,所以说同学们,老师把这几句话给大家捋一捋。第一。D。好,我给梳理一下,当条件表达式一成立的时候,即执行第一个条条件表达式。这句话先提到这。执行第一个条件表达式。好,如果,如果第一个条件表达式一不成立,采取判断条件表达式二是否成立。这样子的。那如果说。如果说第二个条件表达式成立,就执行第二个。
03:04
代码块,然后是以此类推。以此类推。好,我把这个梳理一下这个流程哈,如果说。以此类推,如果说所有的条件表达式都不成立。都不成立,则执行else的代码块。说他的流程是。一个一个的去判断,但是有一点注意,只要有一个条件表达式为真。执行的过就结束了,所以说我在这有一个特别需要同学们注意的地方,就是什么呢?只能有一个执行入口。只能有一个执行入口,只要找到了一个执行入口过后呢,其他的就不会再去判断了。再说一遍啊,只能有一个执行入口,也就是说。也就是说这个条件表达式只要为真的,执行完了过后,后面的就不会再去判断,同学们一定要注意这个细节,好,现在呢,我们为了加强这个认识呢,我们来看几看几个案例,我们先看第一个案例。
04:06
第一个案例呢,是岳小鹏参加C语言二级考试。他和他的父亲岳不群达成了一个承诺,如果成绩为100分。奖励宝马一台。如果成绩是在大于80小于等于99,奖励iPhone,如果成绩为大于等于60小于等于80,奖励ipad,如果其他就是连不及格啊,没有及格,什么都不奖励。那现在呢,我们从键盘输入岳小鹏的期末成绩,或者这个二级C语言考试成绩。并加以判断。输出内容。输出提示,好,同学们,我们来一起完成这道题。完成这道题,首先呢,我们先把这个注销掉。我们先写一个案例。跟上老师思路,这个呢是多分支,我就multi plan,这是多的意思,我们就简写multi。
05:05
然后呢,If。好吧,这个一看就明白,是练习的多分支,首先呢,我们include,同样我们把这个先改一下哈。改成C后缀。Include。Include。STDL。写进去了,然后让同学们跟着老师思路VO的主函数。他写。那这个时候我们想一想哈,因为你这个是主函数,那下面我们还是老规矩咯,把我们的这个题的具体要求拿出来。不然的话,我来回切换看起来太累了,我直接把它粘到这边来。首先呢,我们仍然做一个简单的分析。第一个,我们首先有一个变量来保存成绩,接收成绩定义。一个double double。Double保存成绩。
06:02
对不对,第二个呢,大家看我们这边有。一个判断两个三个四个,因此呢,要使用多分支来进行处理。因为这样说,因为判断条件,因为判断条件。条件。有多个。多个因此,因此怎么样呢?我们使用多分支来处理。多分支处理。好,同学们,那现在我们开始来玩一把。首先呢,我先定义一个double。好的,扣。初始化给一个0.0。当然,我提示一句话,请输入成绩,请输入成绩。那么它输入这个成绩呢,显然我们用SKYF。是不是同学们SKYF,我们怎么收呢?来LF还记不得要LF来接收,然后这边呢,用一个地址符score。对不对,收到了,收到过后是不是有个get,还要扫描一下。
07:05
还有就是说我们这边收到第一个,因为他回车嘛,他如果回车的话呢,是不是咱们。他这个是啊,我们把成,呃,这个不需要。输入一个成绩,输入成绩,把这个成绩就拿到了,我们判断IF1去,如果扣等于100分。等于100,那么我们就提示一句话,提示怎样一句话呢?说奖励宝马一台。是不是这样子的,然后了else if,再来看一个条件,Else if在这个范围以内。80~99,那我现在写一个条件啊,扣干什么呢?大于拿走一个大于。80分。并且score so小于等于99分。在这个范围里面呢,在这个地方我们就提示另外一句话,哪句话呢,奖励iPhone plus。
08:08
好,那么还有什么呢?还有s if还有一个条件。还有什么呢?就是在这个60~80之间写一下score大于等于60,并且并且小于等于80分。在这个范围以内,我们奖励IPAD1台。同样写一句话。奖励ipad。IPAD1台。好,改一下,最后如果什么在上面范围都不在,我们干什么呢?就说什么奖励都没有。是不是我们就提示他没有奖励,为什么呢?你因为你没有及格嘛,那最后我们来get一下。概率恰下是不是还要写个概率差,为什么要写两个概率差?是不是因为你输入成绩以后回车。成绩被他拿到了,但是回车是不是被他拿到了,如果你只写一个get这个界面,这个控制台一扫而过,所以说这个地方是得到的,这个是得到的回车。
09:14
回车符,这个才是让我们的控制台暂停。是不是这样的道理?好,同学们,我们现在玩一把,看看能不能像我们想象的那样跑起来,先来生成一下解决方案。我们看有没有错误。好,我们可以看到呢,成功一个没有失败,那就OK运行。我们现在呢,输一个成绩,比如说100分。好,奖励奖励这个宝马一台没问题,我们再来输一个成绩在80~99之间的,比如说我输一个89。奖励iPhone。好,现在呢,我们再来一个成绩不及格的,看会怎么样,比如说他考了几分呢?考了十分没有奖励可以的。说代码这个跟我想的是一样,就是说它会根据你输入的这个情况呢,来找到一个入口并执行。
10:06
那我这里面还有一个地方,我想跟大家聊一聊,我想请大家思考一下怎么理解这句话,就是什么叫做什么叫做它的执行入口只有一个。我给大家把这个代码稍微改一下,你们看看它输出什么内容哈,来,我把这个去掉。我把这个去掉。我呢也把这个去掉。波了,也把这个去掉。我现在请问同学们一个问题。我请问同学们一个问题,如果我输入的是。输入的是多少呢?比如说我输了一个90,输入一个90分,请问他输出什么。我们来分析一下,首先呢,90不等于100,因此这个肯定不精确。90大于88 80,所以说这个肯定要输出,现在的问题是这个地方。
11:04
请同学们思考90。大不大于等于60步。是不是大于。是不是大于等于60,但是我问大家这个会不会输出,这个不会输出。为什么这个不会输出呢?因为老师刚才讲过,当他找到一个入口以后,他把这句话输出以后,其实这个多分支已经结束了,他把这句话执行完了过后呢,后面的不会再判断,而是直接就走了。是不是这样的道理,所以说大家看再回头看这一个示意图就更加理解了,就说他找到一个条件为真的,执行完了过后呢,后面的是不会再去判断了,而是直接结束我们的多分支,明明白的意思吧。所以说所以说初学者呢,很容易在这地方搞混淆,来,我们试一下是不是老师这样分析,我说一个90只会输出这一句话,而不会输出两句话来,同学们运行值。
12:03
我输一个90分。我输一个90分,请看它提示奖励什么呢?IPHONE7PLUS没有了。并没有说出两句话,好,我把这个撤回去了。啊,我把这个撤回去啊,呃,就是通过这个案例呢,给大家再说明一下,什么叫做执行入口,只能有一个好同学们,那关于多分支的这一案例的第一部分就先给大家讲解到这里,大家好好的理解一下。
我来说两句