小朋友学C语言(29):switch case语句

本文通过示例对比了switch-case语句与if-else-if语句在选择结构中的使用方式,并展示了忘记添加break语句可能导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

switch case语句与if elseif语句类似,都是从多个选择条件里选取一个来执行。

(一)先来看一个if elseif程序

#include <stdio.h>

int main() 
{
    int number;
    printf("Please input an integer between 1~7: ");
    scanf("%d", &number);

    printf("Today is ");
    if(1 == number) 
    {
        printf("Monday!");
    }
    else if(2 == number) 
    {
        printf("Tuesday!");
    }
    else if(3 == number) 
    {
        printf("Wednesday!");
    }
    else if(4 == number) 
    {
        printf("Thursday!");
    }
    else if(5 == number) 
    {
        printf("Friday!");
    }
    else if(6 == number) 
    {
        printf("Saturday!");
    }
    else if(7 == number) 
    {
        printf("Sunday!");
    }
    else
    {
        printf("a wrong day! Please input an integer between 1~7!");
    }

    return 0;
}

运行结果:

Please input an integer between 1~7: 7
Today is Sunday!

(二)再用switch case语句实现相同的功能

#include <stdio.h>

int main() 
{
    int number;
    printf("Please input an integer between 1~7: ");
    scanf("%d", &number);

    printf("Today is ");
    switch(number) 
    {
        case 1:
            {
                printf("Monday!");
                break;      
            }
        case 2:
            {
                printf("Tuesday!");
                break;      
            }
        case 3:
            {
                printf("Wednesday!");
                break;      
            }
        case 4:
            {
                printf("Thursday!");
                break;      
            }
        case 5:
            {
                printf("Friday!");
                break;      
            }
        case 6:
            {
                printf("Saturday!");
                break;      
            }
        case 7:
            {
                printf("Sunday!");
                break;      
            }
        default:
            {
                printf("a wrong day! Please input an integer between 1~7!");
                break;              
            }
    }

    return 0;
}

运行结果1:

Please input an integer between 1~7: 7
Today is Sunday!

运行结果2:

Please input an integer between 1~7: 10
Today is a wrong day! Please input an integer between 1~7!

注意:
switch case的结构为

switch(表达式或变量或常量)
{
    case 条件1:
        {
            执行语句;
            break;
        }
    case 条件2:
        {
            执行语句;
            break;
        }
    ……
    default:
        {
            执行语句;
            break;
        }
}

这里“break;”表示中断,若忘了写,程序会继续执行下面的条件。

(三)试试下面这个程序

#include <stdio.h>

int main() 
{
    int number;
    printf("Please input an integer between 1~7: ");
    scanf("%d", &number);

    printf("Today is ");
    switch(number) 
    {
        case 1:
            {
                printf("Monday!");  
            }
        case 2:
            {
                printf("Tuesday!");     
            }
        case 3:
            {
                printf("Wednesday!");       
            }
        case 4:
            {
                printf("Thursday!");    
            }
        case 5:
            {
                printf("Friday!");      
            }
        case 6:
            {
                printf("Saturday!");    
            }
        case 7:
            {
                printf("Sunday!");      
            }
        default:
            {
                printf("a wrong day! Please input an integer between 1~7!");           
            }
    }

    return 0;
}

运行结果:

Please input an integer between 1~7: 3
Today is Wednesday!Thursday!Friday!Saturday!Sunday!a wrong day! Please input an integer between 1~7!



更多内容请关注微信公众号
wchat.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值