设为首页 加入收藏

TOP

switch语句(初学者)
2019-01-09 00:09:19 】 浏览:110
Tags:switch 语句 学者

C语言提供了另一种用于多分支选择的switch语句(常用于开关),一般形式为:

switch ( 常量表达式 )
{
case 常量1 :语句;
case 常量2 :语句;
case 常量3 :语句;
...
case 常量n:语句;
default :语句;
}
语义:计算常量表达式的值,并逐个与其后的常量值相比较,当表达式的值与某个常量值相等时,即执行其后语句,然后不再进行判断,继续执行后面所有case后的语句。若表达式的值与所有case后的常量值均不同时,则执行default语句。
错例:
#include<stdio.h>

void main()
{
    int a;
    printf("input integer number:");
    scanf("%d",&a);
    switch(a)
    {
    case 1:printf("Monday\n");
    case 2:printf("Tuesday\n");
    case 3:printf("Wednesday\n");
    case 4:printf("Thursday\n");
    case 5:printf("Friday\n");
    case 6:printf("Saturday\n");
    case 7:printf("Sunday\n");
    default:printf("error\n");
    }
}

为避免上述输出时出现的情况,C语言提供了一种break语句,专用于跳出switch语句,break语句只有关键字break,没有参数。

正例:

#include<stdio.h>

void main()
{
    int a;
    printf("input integer number:");
    scanf("%d",&a);
    switch(a)
    {
    case 1:printf("Monday\n");break;
    case 2:printf("Tuesday\n");break;
    case 3:printf("Wednesday\n");break;
    case 4:printf("Thursday\n");break;
    case 5:printf("Friday\n");break;
    case 6:printf("Saturday\n");break;
    case 7:printf("Sunday\n");break;
    default:printf("error\n");break;
    }
}

注意:(1)在case后的各常量表达式的值不能相同,否则会出现错误。

(2)在case后允许有多个语句,可以不用{}括起来。

(3)各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

(4)default子句可以省略不用。

(5)只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

(6)switch()的参数类型不能为实型 。
(7)case标签必须是常量表达式(constantExpression),如42或者"42"。
例:
#include<stdio.h>
int main()
{
    char rank;
    printf("请输入分数等级:(A、B、C、D、E)\n");
    scanf("%c",&rank);
    switch(rank)    
    {
        case'A':printf("A(90~100)\n");break;
        case'B':printf("B(80~89)\n");break;
        case'C':printf("C(70~79)\n");break;
        case'D':printf("D(60~69)\n");break;
        case'E':printf("E(0~59)\n");break;
        default:printf("error!\n");break;
    }

 

 
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇栈的简单应用-行编辑 下一篇《Arduino 机器人制作指南》唐乐 ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目