返回介绍

3.3.3 if…else 语句嵌套

发布于 2025-04-11 22:32:53 字数 1399 浏览 0 评论 0 收藏 0

通过 if…else 语句可以实现二选一的流程执行情况,那么通过对 if…else 语句的嵌套使用,就可以让程序实现出多选一的流程执行情形。下面就用一个经典的“评分案例”来演示。

例 3-2 】要求由用户输入一个 0~100 的整数,以表示学生的考试分数,程序能够根据这个分数评定出相应的等级,共有 A、B、C、D 四个等级,其中 90 分及以上为优秀(用大写字母 A 表示),80~89 分为良好(用大写字母 B 表示),60~79 分为及格(用大写字母 C 表示),60 分以下为不及格(用大写字母 D 表示)。

代码如下:

在这个代码里,出现了 3 层的 if…else 语句嵌套,即在第一层 if…else 语句的 else 部分嵌套了第二层的 if…else 语句,在第二层的 else 部分又嵌套了第三层的 if…else 语句,如图 3.3 所示。

图 3.3 if…else 语句的三层嵌套

当程序运行时,首先会执行第一层 if…else 语句,判断其表达式的值,若为真则执行 if 部分的语句(打印输出 A),若为假则执行 else 部分,即执行第二层的 if…else 语句;接着判断第二层表达式的值,若为真则执行 if 部分(打印输出 B),若为假则执行 else 部分,即第三层的 if…else 语句;最后判断第三层表达式的值,若为真则执行 if 部分(打印输出 C),若为假则执行 else 部分(打印输出 D)。

例如我们在程序运行时,输入整数 70(即整型变量 score 的值为 70)。则程序的执行流程为:

① 判断出第一层表达式“score >= 90”的值为假,执行其 else 部分;

② 判断出第二层表达式“score >= 80”的值为假,执行其 else 部分;

③ 判断出第三层表达式“score >= 60”的值为真,执行其 if 部分;

④ 打印输出结果 C,程序执行完毕。

实际执行的情况如下:

Please enter a score between 0 and 100:
70
C

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。