带你走入C语言的分支

一、分支语句(选择结构)的作用

        可能很多刚开始接触分支语句的小伙伴会有这么一个疑惑——分支语句是用来做什么的?其实通俗易懂的来讲,分支语句就是用来进行选择的。就比如:我们面前有很多瓶魔法药水,每一瓶魔法药水的功效都各不相同,当我们选择使用这些药水的时候就要根据我们自身的需求来选择,比如今天我的需求是要变白,那么我们就需要选择一瓶具有美白功效的药水,如果我们选择了其他的药水就会得不到我们想要的结果。分支语句起的就是这个选择的作用,它会根据我们的需求来选择能达到相应功能的“药水”。

二、分支语句的分类

         分支语句包括if语句switch语句。 

三、if语句

  1、if语句的语法结构:

(1)

if(表达式)
   语句;

     语法解析:当if语句括号里面的表达式为真时,程序就会执行语句;

(2)

if(表达式)
   语句1;
else
   语句2;

     语法解析:程序执行到此处时会先去判断if语句括号里面的表达式是否为真,如果表达式为真,则该程序就会执行语句1,如果不为真,就会执行语句2; 

(3)

if(表达式1)
   语句1;
else if(表达式2)
   语句2;
else
    语句3;

      语法解析:程序执行到此处时,首先会先去判断if语句括号里面的表达式1是否为真,如果表达式1为真,程序就会执行语句1;如果表达式1不为真,程序才会去判断表达式2为不为真,如果为真,程序就会执行语句2;如果不为真,程序最后就会执行语句3。

2、注意事项

       当if语句的语句没有在大括号“{}”里面写的话,此时的if只能控制后面的一条语句;例如:

int a=1;
  if(a==1)
    printf("你好呀!\n");
    printf(“很高兴认识你!\n”);

此时程序只会输出——你好呀!

所以建议在使用if语句时,无论if语句后面有多少条代码都要将语句写在”{}“里面

if(表达式)
  {
    语句;
   }
if(表达式)
 {
  语句1;
 }
else
  {
   语句2;
  }
if(表达式1)
  {
    语句1;
   }
else if(表达式2)
   {
   语句2;
   }
else
   {
    语句3;
   }

       if语句后面可以有多个else if(表达式) 

四、switch语句

1、switch语句的语法结构

switch(整形表达式){
      case 整形常量表达式:
            语句;
      }

  语法解析:程序会根据整形表达式的结果来对应case分支的整形常量表达式,执行相应的case分支,其中case分支的个数根据具体需求来设置。

2、switch语句中的break

    在switch语句中,我们是没有办法直接实现分支的,需要搭配break使用才能实现真正的分支:

switch(整形表达式){
       case 整型常量表达式:
            语句;
           break;
       }

    break语句的实际效果就是将语句列表划分为不同的分支部分; 

    如果说case是switch语句程序的入口,那么break就是switch语句程序的出口;

    小伙伴们要记得在最后一个case语句加上break哦!!!不然程序就有可能出不去了!

3、switch语句中的default

     如果整形表达的值与所有的case标签的值都不匹配怎么办?

     其实也没什么,只不过就是所有的语句都被跳过而已。程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?

        你可以在语句列表中增加一条default子句:

switch(整形表达式){
        case  整型常量表达式:
              语句;
             break;
         default:
              语句1;
        }


当switch 表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
在switch语句中case语句和default语句是没有顺序要求的,不过通常将default语句放在最后。

可以在switch语句中都放一条default语句,甚至可以在其后面再加加一个break

switch(整形表达式){
        case  整型常量表达式:
              语句;
             break;
         default:
              语句1;
             break;
        }

     希望我的这篇博客可以帮助到正在学习c语言的小伙伴!下期我将会推出c语言循环的部分,感兴趣的小伙伴可以给我点个关注哦,咱们下期见!!!

 

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值