Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小朋友学C语言(29):switch case语句

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

作者头像
海天一树
发布于 2018-04-17 04:32:56
发布于 2018-04-17 04:32:56
1.1K00
代码可运行
举报
文章被收录于专栏:海天一树海天一树
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#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
代码运行次数:0
运行
AI代码解释
复制
Please input an integer between 1~7: 7
Today is Sunday!

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#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
代码运行次数:0
运行
AI代码解释
复制
Please input an integer between 1~7: 7
Today is Sunday!

运行结果2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Please input an integer between 1~7: 10
Today is a wrong day! Please input an integer between 1~7!

注意: switch case的结构为

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

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

(三)试试下面这个程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
#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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
#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
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言switch语句的用法详解_c语言switch语句例题
C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况。例如,输入一个整数,输出该整数对应的星期几的英文表示:
全栈程序员站长
2022/09/27
2.1K0
c语言 switch错误用法,C语言switch语句的详细用法[通俗易懂]
语义是: 计算表达式的值. 将其与后续常量表达式的值一一比较. 当表达式的值等于常量表达式的值时,将执行后续语句,然后不进行判断,并且在个案之后的所有后续语句将继续. 如果在所有情况下表达式的值都与常量表达式不同,则执行default之后的语句.
全栈程序员站长
2022/09/30
1.8K0
深入理解C语言中的枚举
在上面的例子中,我们手动指定了枚举常量的值,RED为1,GREEN为2,BLUE为3。
GG Bond1
2024/06/14
3010
【C语言】break 关键字
​ ② break ⇿ 终止 ⒈描述 ⇨ 有时候会遇到这样的情况,不管表达式的检验的结果如何,都是需要进行强制终止循环。这个时候我们就需要用到 break 语句。 ⒉注意 ⇨ 语句终止并跳出循环,继续执行后面的代码。当然我们在使用 break 语句一定要注意的是 break 只能跳出当前所在的作用域的循环语句当中。 ⒊代码示例演示 ⇨ 演示在循环当中如何使用 break 退出语句。
謓泽
2022/12/12
6140
深入理解C语言中的枚举
在 C 语言中,枚举(enum)是一种重要的用户定义数据类型,主要用于表示一组相关的整数常量。虽然枚举在 C 语言中看似简单,但它在代码可读性、可维护性以及程序逻辑的清晰性方面具有很大的作用。本篇博客将深入探讨 C 语言中的枚举类型,包括其定义、用法、优势及一些常见的陷阱。
平凡之路.
2024/10/09
5990
C语言复习概要(一)
C语言作为现代编程语言的鼻祖之一,在系统编程、嵌入式开发、操作系统内核等领域占据了极其重要的位置。C语言以其简洁、高效、可移植性等特点,成为了很多其他高级语言(如C++、Java、Python)的基础。本文将深入探讨C语言的常见概念、变量和数据类型、分支结构以及循环结构,帮助初学者更好地掌握这门经典编程语言。
Undoom
2024/10/04
3530
浙大版《C语言程序设计(第3版)》题目集 习题11-2 查找星期
函数 getindex 应返回字符串 s 序号。如果传入的参数 s 不是一个代表星期的字符串,则返回-1。
C you again 的博客
2020/09/15
2K0
C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
关系运算符: 又叫比较运算符,在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。
cutercorley
2020/07/23
2.4K0
C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
【C语言】enum 关键字
🚩write in front🚩    🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 星级博主~掘金⇿InfoQ~51CTOP创作者~周榜109﹣总榜883⇿全网访问量35w+🏅 🆔本文由 謓泽 原创 CSDN首发🙉如需转载还请通知⚠ 📝个人主页-謓泽的博客_CSDN博客 📃 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏-【C语言】关键字_謓泽的博
謓泽
2022/12/12
7000
牛客网–day of week
题目描述 We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400. For example, years 2004, 2180 and 2400 are leap. Years 2004, 2181 and 2300 are not leap. Your task is to write a program which will compute the day of week corresponding to a given date in the nearest past or in the future using today’s agreement about dating. 输入描述: There is one single line contains the day number d, month name M and year number y(1000≤y≤3000). The month name is the corresponding English name starting from the capital letter. 输出描述: Output a single line with the English name of the day of week corresponding to the date, starting from the capital letter. All other letters must be in lower case.
全栈程序员站长
2022/06/29
2670
Python成长记十六(python中的
我们都知道python中没有switch case语句这种写法,那么我们怎样使用python实现同样的功能呢?
py3study
2020/01/06
3670
计算日期(快速幂+打表) - ZOJ 3785
新来的紫芝眉宇,参加过亚洲区域赛晋级 It's Saturday today, what day is it after11 + 22 + 33 + ... + NN days? Input The
ACM算法日常
2018/08/07
4880
计算日期(快速幂+打表) - ZOJ 3785
C语言 | 枚举概述
在C语言中,如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。
小林C语言
2021/05/10
9710
C语言 | 枚举概述
C语言一百例(31-40)
31,题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 程序源代码:
紫禁玄科
2022/03/24
4020
C语言从入门到实战——联合体和枚举
C语言中,联合体(union)是一种特殊的数据类型,允许存储不同类型的数据在同一块内存空间中。联合体的大小取决于其中最大的成员的大小,共享同一块内存空间的成员可以存储不同类型的数据。
鲜于言悠
2024/03/20
3710
C语言从入门到实战——联合体和枚举
C语言——enum
#include<stdio.h> enum Season { spring, summer=100, fall=96, winter }; typedef enum { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }Weekday; int main(void) { char * files[] = {"f","b","d","g"}; printf("sizeof files =
用户4645519
2020/09/07
6040
【C语言】题集 of ⑤
🚀write in front🚀   📝个人主页:打打酱油desu_泽En_CSDN博客 🆔本文由 泽En 原创 CSDN首发🐒 如需转载还请通知⚠ 🏅2021年度博客之星物联网与嵌入式开发TOP5→作者周榜56→总排名3255🏅  🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏:【C】题目_打打酱油desu-CSDN博客 💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 ♐  目录 🚀write
謓泽
2022/12/12
7450
【C语言】题集 of ⑤
特殊类型结构--枚举
枚举 介绍 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 枚举在C/C++/c#中,是一个被命名的整型常数的集合, 枚举在日常生活中很常见。
跋扈洋
2021/01/29
6040
C语言学习——结构体_联合体_枚举用法直通[通俗易懂]
所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,C语言结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
全栈程序员站长
2022/09/23
6560
C语言学习——结构体_联合体_枚举用法直通[通俗易懂]
从Java 9 到 Java 17之Java 13
Java 13在2019年9月发布,这个版本引入的正式可用特性几乎没有,是我认为最无聊的版本之一。所以我们跳过Java 13直接来看Java 14吧。
码农小胖哥
2021/12/08
3940
相关推荐
C语言switch语句的用法详解_c语言switch语句例题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档