前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学C语言(29):switch case语句

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

作者头像
海天一树
发布2018-04-17 12:32:56
9780
发布2018-04-17 12:32:56
举报
文章被收录于专栏:海天一树海天一树

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

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

代码语言:javascript
复制
#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;
}

运行结果:

代码语言:javascript
复制
Please input an integer between 1~7: 7
Today is Sunday!

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

代码语言:javascript
复制
#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:

代码语言:javascript
复制
Please input an integer between 1~7: 7
Today is Sunday!

运行结果2:

代码语言:javascript
复制
Please input an integer between 1~7: 10
Today is a wrong day! Please input an integer between 1~7!

注意: switch case的结构为

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

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

(三)试试下面这个程序

代码语言:javascript
复制
#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;
}

运行结果:

代码语言:javascript
复制
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!

(四)用while实现多次输入

代码语言:javascript
复制
#include <stdio.h>
int main() 
{
    int number;
    printf("Please input an integer between 1~7: ");
    scanf("%d", &number);
    // 循环终止条件为number小于或等于0 
    while(number > 0)
    {               
        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! ");
                break;              
            }
        }//switch
        printf("\nPlease input an integer between 1~7: ");
        scanf("%d", &number);
    }//while
    printf("Loop end!\n");
    return 0;
}

运行结果:

代码语言:javascript
复制
Please input an integer between 1~7: 7
Today is Sunday!
Please input an integer between 1~7: 5
Today is Friday!
Please input an integer between 1~7: 1
Today is Monday!
Please input an integer between 1~7: 10
Today is a wrong day!
Please input an integer between 1~7: 0
Loop end!

(五)若输入1~7,打印结果并结束程序;否则重新输入

代码语言:javascript
复制
#include <stdio.h>
void print_day(int num)
{
    switch(num) 
    {
        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:
        {
            break;              
        }
    }//switch           
}
int main() 
{
    int number;
    printf("Please input an integer between 1~7: ");
    scanf("%d", &number);
    // 默认循环条件一直为真,遇到break循环才会终止
    while(1)
    {
        if(number >= 1 && number <= 7)  
        {
            printf("Today is ");
            print_day(number);
            printf("\nProgram end!\n");
            break;
        }           
        printf("It is a wrong day!\n");
        printf("\nPlease input an integer between 1~7: ");
        scanf("%d", &number);
    }//while
    return 0;
}

运行结果:

代码语言:javascript
复制
Please input an integer between 1~7: 10
It is a wrong day!
Please input an integer between 1~7: 20
It is a wrong day!
Please input an integer between 1~7: 5
Today is a Friday!
Program end!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)先来看一个if elseif程序
  • (二)再用switch case语句实现相同的功能
  • (三)试试下面这个程序
  • (四)用while实现多次输入
  • (五)若输入1~7,打印结果并结束程序;否则重新输入
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档