C语言基本结构——分支结构

目录

分支结构

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

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

拜拜,下次见!

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值