目录
分支结构
一、if语句
1、if语句——单分支
2、if-else语句——双分支
3、if-else-if语句——多分支
4、if语句的嵌套
二、switch语句
分支结构
对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支语句包括if语句和switch语句。if语句提供一种二路选择。它用来判定所给定的条件是否得到满足,如果满足就执行程序,否则就不执行。switch 是一种专门进行多路选择问题的语句。
下面分别介绍这两种分支语句。
一、if语句
1、if语句——单分支
1.1 if语句的基本形式
if (表达式)
语句;
1.2 if语句执行流程图
执行流程: 先计算表达式的值,如果表达式的值为真(T),则执行其后的语句;如果表达式的值为假(F)则不执行该语句。其中,表达式必须是关系表达式或逻辑表达式,语句可以为简单语句或复合语句。
例1:两个数比较大小
在本例程序中,输入两个数a、b。把a先赋予变量max,再用if语句判别max和b的大小,
如果max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。
注意:if语句中,可以包含多个操作语句,此时必须用“{}”将几条语句括起来作为一个复合语句,但是在“}”之后不能再加分号“;”。
2、if-else语句——双分支
2.1 if语句的标准形式为:if-else
当给定的条件满足时,执行一个语句;当条件不满足时,执行另一个语句。其语法格式为:
if (表达式)
语句1;
else
语句2;
2.2 if-else语句执行流程图
执行流程:先计算表达式的值,如果表达式的值为非0(即为真),则执行语句1,否则执行语句2。总之,该格式中的“语句1”和“语句2”总会有一个得到执行。
例2:判断输入的整数是否是5的倍数
在本例中,判定一个整数是否为5的倍数的方法是该数被5除,如果能除尽(即余数为0),就是5的倍数,否则,就不是5的倍数。
这个例子较为简单,现实中的各种条件是很复杂的,在一定的条件下,往往需要满足其他条件才能执行对应的语句。
3、if-else-if语句——多分支
3.1 if-else-if语句的一般形式
if (表达式1)
语句1;
else if (表达式2)
语句2;
else if (表达式3)
语句3;
.
.
.
else if (表达式m)
语句m;
else
语句n;
3.2 if-else-if语句执行流程图
例3:评价学生的成绩。
按分数 score 输出等级:score≥90为优,80≤score<90 为良,70≤score<80 为中等,60≤score<70为及格,score<60为不及格。
本例中,5个输出语句只能有一个得到执行。在处理类似的多分支结构时,可以画一个数轴,将各个条件的分界点标在数轴上,并且要从数轴的其中一端开始判断。例如本例中,共有5种情况,每种情况对应不同的结果,是从高向低判断的,从90分开始判断,先考虑大于关于90分的情况,然后是小于90分的情况;再考虑大于等于80分的情况,等等,一直到将所有的情况分析完毕为止。
4、if语句的嵌套
4.1 if语句的嵌套的一般形式
if (表达式1) if (表达式2) 语句1; else
语句2;
else
语句3;
4.2 if语句的嵌套的执行流程图
例4:判断某学生的成绩score是否及格,如果及格是否达到优秀(score≥90)。
注意:i语句的嵌套结构可以是if-else形式和if形式的任意组合,被嵌套的if语句仍然可以是if语句的嵌套结构,但在实际使用中,是根据实际问题来决定的,如果需要改变配对关系,可以加一个“{}”。
二、switch语句
在C语言中除了if语句之外,switch语句也可以实现分支结构。switch语句是用于判断条件有多个结果的情况。采用switch 语句实现分支结构则比较清晰,而且更容易阅读及编写。
1、switch语句的语法格式
switch (表达式)
{ case 常量表达式1: 语句1; [break;] case 常量表达式2: 语句2; [break;]
.
.
. case 常量表达式n: 语句n; [break;] [default: 语句n+1; ]
}
其中,[ ]括起来的部分是可选的。
2、switch语句执行过程
先计算表达式的值,并逐个与case 后面的常量表达式的值相比较,当表达式的值与某个常量表达式的值一致时,执行其后的语句,直到遇到break语句或 switch语句的“}”;表达式与任何常量表达式的值均不一致,则执行default后面的语句或执行后续语句。
例:输⼊任意⼀个整数值,计算除3之后的余数
注意: 1. case 和后边的数字之间必须有空格。 2. 每⼀个 case 语句中的代码执⾏完成后,需要加上break ,才能跳出这个switch语句。
以上就是分支结构,感谢认真阅读的小伙伴!
拜拜,下次见!
好文链接
发表评论