c语言——分支语句

语句可分成以下三类:

1. 条件判断语句也叫分支语句:if语句、switch语句;

2. 循环执行语句:do while语句、while语句、for语句;

3. 转向语句:break语句、goto语句、continue语句、return语句。

目录

一、if语句

1.1语法结构:

1.2else的匹配:

二、switch语句

2.1语法结构

2.2default使用


一、if语句

1.1语法结构:

1、if(表达式)

           语句;

2、if(表达式)

           语句;

      else

           语句;

3、if(表达式)

           语句;

      else if(表达式)

           语句;

      else

           语句;//多分支

注:语句为多条时,需用代码块{}框上。

例如:

#include <stdio.h>
int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
    {
        printf("少年\n");
    }
    else if (age >= 18 && age < 30)
    {
        printf("青年\n");
    }
    else if (age >= 30 && age < 50)
    {
            printf("中年\n");
    }
    else if (age >= 50 && age < 80)
    {
        printf("老年\n");
    }
    else
    {
        printf("老寿星\n");
    }

}

 注:在c语言中,0表示为假,非零表示为真

        在if语句中,当表达式为真的时候才能执行语句。

1.2else的匹配:

else是和它离的最近的if匹配的。

 如下面这段代码:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else
        printf("haha\n");
    return 0;
}

看上去else是与第一个if匹配,应输出haha,但其实它真正的逻辑为:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
   {
        if(b == 2)
       {
            printf("hehe\n");
       }
   }
    else
   {
         printf("haha\n");
   }       
    return 0;
}

所以,适当地使用代码块会让我们的代码逻辑更加清晰。

二、switch语句

switch语句一般用于多分支。

2.1语法结构

switch(整形表达式)

{

      case 整型常量表达式

      语句;

}

在应用中,搭配break使用才能实现真正的分支。

例如:

int main()
{
    int day = 0;
    scanf("%d",&day);
    switch(day)
   {
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;    
        case 4:
            printf("星期四\n");
            break;    
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期天\n");    
            break;
   }
    return 0;
}

 若要求:1. 输入1-5,输出的是“weekday”;

                2. 输入6-7,输出“weekend” 

int main()
{
    int day = 0;
    switch(day)
   {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("weekday\n");
            break;
        case 6:
        case 7:
            printf("weekend\n");
            break;
   }
}

2.2default使用

1、switch接收的值与任何一个case都不匹配时,可以使用default接收。

2、每个switch语句和只能出现一个default。

3、default可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。

例如上面的代码可以修改为:

int main()
{
    int day = 0;
    switch(day)
   {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("weekday\n");
            break;
        case 6:
        case 7:
            printf("weekend\n");
            break;
        default:
            printf("输入错误");
            break;
   }
}

谢谢大家的点赞支持!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值