笔记||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执行的语句只有一句,但是最好也是用“{}”规范!

相关文章
|
9月前
|
C++ 存储
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
|
Shell
shell编程--流程控制for,do-while,if-then,break,continue,case等
2.5 流程控制 2.5.1 if语法 1、语法格式 if condition then     statements [elif condition     then statements. ..] [else     statements ] fi   2、示例 #!/bin/bash read -p "please input your name:" NAME      ###r
1420 0
|
索引
Kotlin循环语句(for、while、continue、break)
一、首先来看一下for的例子 package net.println.kotlin.chapters /** * @author:wangdong * @description:for循环 */ fun ma...
1327 0
|
C语言
笔记||if 语句
笔记||if 语句
75 0
JavaSE (七)循环控制语句:while、do....while、for,break和continue用法
循环控制语句:while、do....while、for,break和continue用法
125 0
|
Shell
shell编程之条件语句与case语句
shell编程之条件语句与case语句
67 2

热门文章

最新文章