多分支if语句的一般形式为:
语句的执行流程如图4-9所示。
图4-9 多分支if语句的流程图
说明:
(1)执行过程。当表达式1成立时,执行语句1;当表达式1不成立时,判断表达式2。若表达式2成立,则执行语句2;若表达式2不成立,才判断表达式3。以此类推。如果一直到表达式n都不成立,就执行语句n+1。
注:条件的判断是有层级关系的,当前面条件不成立时才会判断后面的条件。比如若表达式1成立,执行语句1,然后直接跳出if语句,执行后续的其他程序语句,这样表达式2、3等根本就不会被执行到。虽然有n+1条语句,但程序执行一次,根据条件只能执行其中的一条语句。
(2)语句1到语句n+1都可以是复合语句。
例4.4 成绩判定2:要求对输入的成绩进行判断,输出该成绩对应的等级。90分以上为“优秀”,70~89分为“良好”,60~69分为“及格”,60分以下为“不及格”。
图4-10 例4.4流程图
解题思路:
程序的主要功能是判断成绩属于4个等级中的哪一个等级,这是一个多分支的问题,可以用多分支if语句来实现,其流程图如图4-10所示。(www.daowen.com)
编写程序:
创建一个名为“eg4_4.c”的新文件,在编辑窗口中输入下面的程序代码。
运行结果:
程序说明:
(1)虚线框括起来的是一条语句,即一条if语句。
(2)当输入92赋给score后,程序执行if语句,首先执行表达式1即score >= 90,判定92>= 90为“真”,则执行其后的输出“优秀”的语句。到此选择了4条分支中的1条执行后,if语句结束。
(3)当输入60赋给score后,程序执行if语句,首先执行表达式1即score >= 90,判定60>= 90为“假”,则转到else子句,执行表达式2即score >= 70。判定60 >= 70为“假”,再转到下一else子句,执行表达式3即score >= 60。判定60 >= 60为“真”,执行其后输出“及格”的语句。到此选择了4条分支中的1条执行后,if语句结束。
(4)当输入55赋给score后,程序依次判定表达式1即score >= 90为“假”,表达式2即score >= 70为“假”,表达式3即score >= 60为“假”的情况下,程序执行最后的else子句,输出“不及格”, if语句结束。
(5)多分支if语句的使用中,要明确程序执行的流程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。