当出现多分支时,switch比if好用
格式 switch (表达式)(整型含int,long,char型)(switch可以嵌套使用)
{
}
case 整型常量表达式:
case 1.0 错
case a 错
case 'a' 对,字符属于整型的一种(字符用ASCII存储)
例
输入1,输出A;输入2,输出B;输入3,输出C;
典型错误:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
printf("A");
case 2:
printf("B");
case 3:
printf("C");
}
}
输入1从case 1进入向下执行
输入2从case 2进入向下执行
***写完一个或多个情况后根据需求加break;跳出当前的switch分支,否则会一直执行下去***
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
printf("A");
break;
case 2:
printf("B");
break;
case 3:
printf("C");
break;//养成习惯,最后一行加break;
}
}
练习
如果改成
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
printf("A");
case 2:
printf("B");
break;
case 3:
printf("C");
}
}
输入1 求输出结果
输入1-->从case 1进入,向下执行-->打印A-->打印B-->遇到break; -->停止执行(case 3不执行)
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
case 2:
printf("B");
break;
case 3:
printf("C");
break;
}
}
输入1或2,输出B;输入3,输出C
总结case决定入口,break决定出口
如果所列的情况一个都不符合
在最后加
default: ……//表示其他情况,语句不一定要放在最后,根据需求