c++

状课网-少儿编程网课专业平台

c++ 信息学奥赛之C++基础课—if和else之射雕英雄后后转

发布时间:2021-11-24 14:04:27 浏览 0

学习目标:

1、理解双分支和多分支选择结构。

2、会用if-else和else%20if设计双分支和多分选择结构解决实际问题。

上期我们学会了使用if语句来完成单个条件满足的情况下的程序设计。但现实生活并不是非此即彼的武侠世界,也不是小孩眼中的好人和坏人的单纯划分。

我们的社会是一个非常复杂的结构体,我们自己本身也是。而编程是为了更方便的解决现实问题,所以仅仅是“真”和“假”的判断自然不能满足我们的需求。而频繁的if-if-if也显得比较啰嗦和不够计算机。

所以我们的计算机科学家们就在程序语言中结合实际生活设计了双分支和多分支结构。对应C++就是if-else结构和if-else%20if-else%20if……else结构。

首先来看看if%20else是如何实现双分支选择结构的,还是来吃梨子。

和上期使用两个if不同,这里第二个if我们使用了else(否则)来替代,也就是当第一个条件满足就执行if后面的语句块,如上图。

如果if后面的条件语句不满足,就执行else后面的语句块,

小学高年级的同学应该不难理解。

下面我们接着来聊聊多分支结构,在此之前我们先来将前面的吃梨子改成问分数。

比如下面这位童鞋的妈妈,一回家就问:“小明,及格了吗?”

这个妈妈看来比较佛系,只要求及格就行。

这样你的回答就只有两种可能,及格或则不及格。哪怕你是100分,也不好炫耀。同60分一样你只需要回答及格就行。

因此我们只需要使用if%20else双分支结构就能解决这个问题,代码如下。

但是,小花的妈妈则不是。

她是一名程序媛,所以一开始她会问问:“宝贝,你得100分了吗?”

如果回答是否定,再接着着问:“花花,有九十多分吗?”

如果回答还是否定,再继续问:“小花,那是八十多分吗?”

如果回答还是否定,才会接着问:“王小花,你是不是只有七十多分”

如果答案依旧是否定。最后就会问:“倒霉孩子,你不会只有六十几分吧?”

如果答案仍然是否定的话,啥也别说了……“我的擀面杖放哪了,去给我拿过来。”

下面来看看,我们如何使用else%20if来解决这种层层递进的多分支选择结构问题。

代码有点长,程序分中有5个分支结构。它们不是并列关系,而是层层递进。只有在前面的条件都不满足的情况才会执行当前分支中的语句。什么意思呢?

你可以理解为排除法,一个一个如比较,只要找到合适的就停止询问。然后,后面的就不再询问。

但是程序的最后我们要有一个else语句,它的作用就是在前面所有条件都不满足的情况下所应该作出反应。

作业:请写一个成绩等级判定程序。

要求如下:

1、能获取用户输入的分数,并输出用户的分数等级。

2、90分及以上为A,80分及以上为B,70分及以上为C,60分及以上为D,60分以下为E。

文章来源:创客编程小屋

本文链接:https://www.ascratch.com/news/17555.html

上一篇:信息学奥赛之C++基础课—选择结构:黑屏还是报错这是一个值得思考的问题 下一篇:返回列表
相关推荐 更多