对于有三种或更多的结构,C语言除了用多分支选择结构else if之外,C语言还提供了switch的结构。
switch语句的执行过程为:首先计算表达式的值,然后依次与常量表达式依次进行比较,若表达式的值与某常量表达式相等,则从该常量表达式处开始执行,直到switch语句结束。若所有的常量表达式的值均不等于表达式的值,则从default 处开始执行。一般形式如下:
switch(表达式) /*首先计算表达式的值*/
{
case 常量表达式1:语句1;
case 常量表达式2:语句2;
case 常量表达式3:语句3;
// ……
case 常量表达式n:语句n;
default:语句n+1;
}
switch(value)
{
case 1:printf("one");
case 2:printf("two");
case 3:printf("three");
default:printf("other");
}
需要注意的是,switch中每个条件(case)是比较相等与否,而else if中的条件除了可以比较相等以外,还可以满足某个区间,这是两者的使用范畴不一样,请大家多多上机,尝试修改代码,多多体会!
break,顾名思义,跳出的意思,仅用于跳出switch结构或循环结构,用于提前结束switch结构或循环。
如switch结构中,我们知道switch结构会判断从哪个case开始执行,然后接着后面所有的case后面的语句都执行完,但通常情况下我们希望仅执行一个case后面的语句,不希望输出多余的信息,因此这个时候就可以使用break语句跳出结束switch结构,如以下程序:
#include<stdio.h>
int main()
{
int value;
scanf("%d",&value);
switch(value)
{
ca