笔记||switch语句

简介: 笔记||switch语句

switch语句是多分支选择语句,通俗地讲,就是多个if。

当嵌套的if比较少时,用if编写程序比较简洁。

当嵌套的if比较多时,用switch编写程序比较合适。

实现多分支选择结构的switch语句的具体形式如下:

switch (表达式)


{


case 常量1:语句组1


case 常量2:语句组2


case 常量3:语句组3



case 常量n:语句组n


default :语句组n+1


}


switch 后面的表达式应该是一个确定的值。


case之后只能是常量或者常量表达式,应是确定的值,不能是变量或者其他表达式。


case 后面的常量值应该各不相同,且应该为switch表达式的可能的取值。


语句组可以是一条语句,多条语句,或者没有语句。


语句组中可以使用break终止switch语句的执行。


下以例子进行引入。


例1,利用switch函数模拟电梯

/*switch模拟电梯*/
#include<stdio.h>
int main (void)
{
    int i;
    printf("请输入您想去的楼层:\n");
    scanf("%d",&i);
    switch (i)
    {
    case 1:
        printf("1层开!\n");
        break;
    case 2:
        printf("2层开!\n");
        break;
    case 3:
        printf("3层开!\n");
        break;
    default:
        printf("该层不存在,请重新输入\n");
    }
    return 0;
}

例2:输入一个百分制成绩,输出其成绩等级。等级范围为:


90分以上 等级为A级


89~90 等级为B级


79~70 等级为C级


69~60 等级为D级


60分以下 等级为E级


此例中有5条分支,若要通过if语句的嵌套实现,嵌套层数太多。所以选择用switch语句比较合适。


对于我来说的难点,常量1、常量2、常量3……


解决:总分数除以10,定义分数为int型,这样相除得到 10、9、8、7、……

/*根据成绩输出其成绩等级*/
#include<stdio.h>
int main (void)
{
    int score;
    printf("请输入分数:");
    scanf("%d",&score);
    if (score>=0 && score<=100)
    {
        switch (score/10)
        {
        case 10:
            printf("A\n");
            break;
        case 9:
            printf("A\n");
            break;
        case 8:
            printf("B\n");
            break;
        case 7:
            printf("C\n");
            break;
        case 6:
            printf("D\n");
            break;
        default:
            printf("E\n");
            break;
        }
    }
    else
    {
    printf("您输入的成绩与实际情况不相符");
    }
    return 0;
}

注意格式规范化,if 后加表达式,且表达式后面没有冒号!

else 后面不能加表达式,也不能加冒号。

虽然else执行的语句只有一句,但是最好也是用“{}”规范!

相关文章
if和switch流程控制语句的基本案例练习
通过以上案例练习巩固 if 和 switch 流程控制语句的使用。
|
7月前
|
C++ 存储
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
|
6月前
|
C语言
C语言循环结构详解:for、while、do while、break与continue
C语言循环结构详解:for、while、do while、break与continue
181 0
|
7月前
|
C语言 C++
C语言9🔥:switch case 语句
C语言9🔥:switch case 语句
143 0
|
7月前
|
C语言
C语言——break和continue的区别
C语言——break和continue的区别
87 0
|
7月前
|
存储 C语言 索引
深入解析 C 语言中的 for 循环、break 和 continue
当您确切地知道要循环执行代码块的次数时,可以使用 for 循环而不是 while 循环
243 0
|
C语言
笔记||if 语句
笔记||if 语句
66 0
|
C语言
【C语言—零基础第八课】循环结构与break continue
生活总最不缺的就是循环了,地球绕着太阳转、一周7天、一天24小时、一小时60分钟这就是循环。在C语言中也存着循环。如果让你使用C语言答应出100条“我喜欢C语言”,你会选择什么样的方法,我想你一定不想打出100条print(“我喜欢C语言\n”);太累了,又无脑。所以我们学的循环结构就是用来解决这个问题的,循环语句有while、do-while、for。
442 0
【C语言】break 和 continue 的理解
break 只能在循环和 switch 语句中使用,作用是退出最近的循环或switch语句。