笔记||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 流程控制语句的使用。
|
6月前
|
C++ 存储
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
|
5月前
|
C语言
C语言循环结构详解:for、while、do while、break与continue
C语言循环结构详解:for、while、do while、break与continue
149 0
|
6月前
|
C语言 C++
C语言9🔥:switch case 语句
C语言9🔥:switch case 语句
114 0
|
6月前
|
C语言
C语言——break和continue的区别
C语言——break和continue的区别
54 0
|
6月前
|
C# 图形学
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
60 1
|
6月前
|
存储 C语言 索引
深入解析 C 语言中的 for 循环、break 和 continue
当您确切地知道要循环执行代码块的次数时,可以使用 for 循环而不是 while 循环
226 0
|
Python
Python流程控制语句break\continue, else语句
Python流程控制语句break\continue, else语句
43 0
|
C语言
笔记||if 语句
笔记||if 语句
63 0