首先我们来看一下switch的定义
switch(整型表达式)
{
case 整型常量表达式:
语句;
}
我们在书写时要注意一下,无论是在switch还是case,后面跟着的都一定要是整型,而且case这一行写完时,最后要用" :"而非" ;"
另外,当我们写完一条case语句时,要在后面加上break;不然系统就会把这条case以及它后面的case语句全部输出,就像这样
#include <stdio.h>
int main() {int i = 0;scanf("%d", &i);switch (i) {case 1:printf("大学\n");case 2:printf("大专\n");case 3:printf("高中\n");case 4:printf("职高\n");case 5:printf("中专\n");case 6:printf("初中\n");case 7:printf("小学\n");}
}
最终输出结果就是这样,而我们加上break之后输入的是哪个case出来的也就是那个case
#include <stdio.h>
int main() {int i = 0;scanf("%d", &i);switch (i) {case 1:printf("大学\n");break;case 2:printf("大专\n");break;case 3:printf("高中\n");break;case 4:printf("职高\n");break;case 5:printf("中专\n");break;case 6:printf("初中\n");break;case 7:printf("小学\n");break;}
}
那么我们想要输入1,2时显示的是成年人,输入3到7时显示的是未成年人应该怎么办呢?
因为case有一个不加break就会向下执行的特性,所以我们可以这样
#include <stdio.h>
int main() {int i = 0;scanf("%d", &i);switch (i) {case 1:case 2:printf("成年人\n");break;case 3:case 4:case 5:case 6:case 7:printf("未成年人\n");break;}
}
那么我们这里只有7个case,如果输入的是比7大的数字时,我们就需要default这条语句了
default:默认其他选项,当case里面的值都不匹配时,就会跳入default
#include <stdio.h>
int main() {int i = 0;scanf("%d", &i);switch (i) {case 1:printf("大学\n");break;case 2:printf("大专\n");break;case 3:printf("高中\n");break;case 4:printf("职高\n");break;case 5:printf("中专\n");break;case 6:printf("初中\n");break;case 7:printf("小学\n");break;default:printf("输入错误\n");break;}
}
这个时候我们输入8,系统就会跳到default里面,输入default里面的语句。