简单学习c语言的分支语句

本文详细介绍了C语言中的if、if...else、else嵌套if以及switch语句的使用,包括基本形式、嵌套结构、break语句的作用以及case和default的顺序。通过实例演示了如何判断奇偶数、数学成绩评级和工作日/休息日等场景。
摘要由CSDN通过智能技术生成

c语言的分支语句

 可以使⽤ if 、 switch 实现分⽀结构

一、if语句

1、基本形式

  

表达式若为真,则继续运行 {语句}。反之跳过。 

注:如啊{语句;}中只有一个语句则{}可省略。                                                                              2、例如

    判断一个数时机是奇数还是偶数

                                                                                                                                                                                                                       

        

二、if...else...语句

else(其他)

1、基本形式

注:如果if不成立则运行else中的语句

       如判断奇偶数,不是奇数就是偶数。

       则可以用以下代码代替:

但是if...else只能判断两种对立的可能性。如果想要判断多种可能性则需要利用嵌套if语句。

2、利用else的嵌套if语句

如果判断一个数是正数、负数还是零(三种情况)单单的if...else不能解决则需要嵌套if语句来实现

例如:

上图中蓝色背景的代码就是嵌套在前⾯的 else ⼦句中的,构成了嵌套的if语句。

如果有超过3种的多种情况可以用以下形式判断:

3、if与else的配对

如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。

三、switch 语句

switch 语句是⼀种特殊形式的 if...else 结构,用于判断条件有多个结果的情况。它把多重 的 else if 改成更易用、可读性更好的形式。   

1、基本形式

• switch 后的表达式 必须是整型表达式

• case 后的常量,必须是整形常量表达式 

上⾯代码中,根据switch后表达式 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值, 就执⾏ default 分⽀。

四、switch中的break语句。

例如:

    给某为同学数学成绩评级:

    90--100 A (含90)

    80--90 B(含80)

    70--80 C(含70)

    60--70 D(含60)

    60以下 E

   如果没有break语句                   

                 

可能有人会提出疑问78不应该只打印C吗?为什么还会打印D和E?

其实就是在打印完C后还没有跳出switch语句,代码会继续往下执⾏,有可能执⾏其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。

有break语句

      

加入break之后就很好的跳出switch语句

注意:switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。 当然, break 也不是每个 case 语句都得有,这就得根据实际情况来看了。

比如:100和90+(分)在score/100之后分别为10和9

           但是两者的评级是相同的(这两种情况的运行结果是相同的),这种情况不需要在每个case后都有一个相同的语句

本题中如:printf("%d>A\n", score);  只需要在最后一个case后添加printf("%d>A\n", score); 并加一个break跳出switch语句即可。

例如:

1. 输⼊1-5,输出的是“⼯作⽇”;

2. 输⼊6-7,输出“休息⽇

五、switch语句中case、default的顺序关系

在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实 际需求的就可以。 不过我们通常是把 default ⼦句放在最后处理的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程大佬的养成之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值