1.switch语句的一般形式
switch属于多分支选择语句,它的一般形式如下:
switch(表达式)
{
case 常量表达式 1:零条或多条语句;
case 常量表达式 2:零条或多条语句;
default:零条或多条语句;
}
说明:
(1)括号内的“表达式”,其值可以是整型、字符型、枚举型,不能为浮点型;
(2)case的组成结构:关键字case;紧随其后的常量值或常量表达式;再紧接着冒号;
2.switch语句执行
例子1
int i; printf("输入:"); scanf("%d",&i); switch(i) { case 1: printf("case 1 "); case 2: printf("case 2 "); default: printf("other! "); }
输入:1
结果:case 1
case 2
other!
这称之为“fall through”,它的意思是,如果case语句后面不加break,就依次执行下去!
例子2
int i; printf("输入:"); scanf("%d",&i); switch(i) { case 1: printf("case 1 ");break; case 2: printf("case 2 ");break; default: printf("other! ");break; }
输入:1
结果:case 1
由此可知,break可以终止流程的进行!
说明switch语句缺点就是它不会在每个case标签后面的语句执行完毕后自动中止,一旦执行某个case语句,程序就执行后面的所有case,除非遇到break语句。