目录

分支结构

一、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语句。

以上就是分支结构,感谢认真阅读的小伙伴!

拜拜,下次见!

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: