switch的简单举例
switch的基本形式
switch语句的一般形式为:
switch(表达式)
{
case 常量1: 语句1
case 常量2: 语句2
case 常量3: 语句3
···
case 常量n: 语句n
deafult:语句n+1
}
它的意思是:首先计算switch后括号内表达式的值,然后利用该值逐个与case后面的常量值相比较。当与某个case后面的常量值相等时,则执行该case后面所有的语句。如果switch后面括号内的值与所有case后面的值都不相等,如果存在default,那么执行default之后的语句。但要是没有default,则直接跳过。
例子
例如:1.
#include <stdio.h>
int main()
{
int i=6;
switch(i)
{
case 9:i=i+1;
case 10:i=i+2;
case 100:i=i+100;
default:i=i+3;
}
printf("i=%d\n",i);
return 0;
}
运行结果i=9
首先得到switch(i=6)但是没有case满足case后面的值为6,所以运行default
例2.
#include <stdio.h>
int main()
{
int i=10;
switch(i)
{
case 9:i=i+1;
case 10:i=i+2;
case 100:i=i+100;
}
printf("i=%d\n",i);
return 0;
}
运行结果为i=112
首先得到switch(i=10) 运行case 10之后的所有内容,也就是说,运行case 10和case 100
例3.
如例2 如果我们不想运行case 10后面的所有case,我们只需要在case 10的末尾加一个break,来跳出当前的switch语句。例如
#include <stdio.h>
int main()
{
int i=10;
switch(i)
{
case 9:i=i+1;
case 10:i=i+2;break;
case 100:i=i+100;
}
printf("i=%d\n",i);
return 0;
}
运行结果为i=12
当运行完case 10的时候本该接着运行下一个case,但是这时突然遇到了break,所以此时只能break啦,也就是跳出/终止这个switch语句,得到i=12.