选择结构程序设计(程 序 设 计 基 础)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

1.理解C语言的分支结构程序设计的基本概念和使用。
2.掌握C语言的两种基本的分支结构语句if…else 和switch。
3.掌握基本的分支结构、多重分支结构和嵌套分支结构程
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

一、分支结构之简单if语句

还曾记得小时候,每当快考试的时候,家长总会说如果你能考得100分的话,就会给买个玩具。不难看出这是个判断句,那么在C语言中,这种判断语句该如何表达呢?这就要用到C语言中的分支结构语句中的if条件语句。
简单if语句的基本结构如下:
在这里插入图片描述

其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 其过程可表示为下图
在这里插入图片描述

那么考试成绩如果为100分,给买玩具。用代码就可以表示为:
在这里插入图片描述

注意:if()后面没有分号,直接写{ },如果{ }中只有一条语句,可以省略{ }

二、分支结构之简单if-else语句

考试之前,家长会说如果考100分就买玩具。那么我们会问那考不了100分呢,家长这时会说考不了也没关系下次再接再厉,只是没有奖励了。
那么像上面这种情况,在C语言中就要用到if-else语句了,简单的if-else语句的基本结构如下:在这里插入图片描述

其语义是:如果表达式的值为真,则执行代码块1,否则执行代码块2。其执行过程可表示为下图:在这里插入图片描述

那么考试成绩如果为100分,给买玩具,否则没有奖励。用代码可以表示为:
在这里插入图片描述

注意:if()后面没有分号,直接写{ },else后面也没有分号,直接写{ },同理如果{ }只有一条语句,则{ }可以省略不写。

三、分支结构之多重if-else语句

考试之前,家长说了,你如果考90分以上的话买玩具,如果考70到90之间请吃大餐,否则没有奖励。那么针对这种多重的条件的话,在C语言中就要用到多重if-else语句,其结构如下:在这里插入图片描述

其语义是:依次判断表达式的值,当出现某个值为真时,则执行对应代码块,否则执行代码块n。 if-else-if语句的执行过程如下图所示:在这里插入图片描述

那么上面家长所说的,用代码实现如下:在这里插入图片描述

注意:当某一条件为真的时候,则不会向下执行该分支结构的其他语句。(即只能n选1)。记住n个if…else语句能构造n+1个不同选择。
//试题例子:在这里插入图片描述

四、分支结构之嵌套if-else语句

考试之前,家长说了,你如果考90分以上的话会买玩具,否则没有奖励,如果能在获得玩具的情况下获取班级前三名的话会有大餐吃。
那么想满足这位家长所有说的,就需要用到C语言中嵌套if-else语句。嵌套if-else语句的意思,就是在if-else语句中,再写if-else语句。其一般形式为:
在这里插入图片描述

其执行过程为:
在这里插入图片描述

上面家长所说的用代码实习如下

在这里插入图片描述
试题例子:在这里插入图片描述

五、多分支选择switch语句的用法

C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;

case 常量表达式n: 语句n;
default: 语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
我们看下面这个例子:在这里插入图片描述

本程序是要求输入一个数字,输出一个英文单词。但是当输入1之后,却执行了case1以及以后的所有语句,输出了Monday及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。
为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。
下面我们修改上述程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
在这里插入图片描述

在使用switch语句时还应注意以下几点:
(1)在case后的各常量表达式的值不能相同,否则会出现错误。
(2)在case后,允许有多个语句,可以不用{ }括起来。
(3)各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
(4)default子句可以省略不用。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了选择结构程序设计,认真学习能让我们理解C语言的分支结构程序设计的基本概念和使用,掌握C语言的两种基本的分支结构语句if…else 和switch,掌握基本的分支结构、多重分支结构和嵌套分支结构程序设计。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢不是爱好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值