1.switch语句
-
定义:一种特殊形式的if…else结构,用于判断条件有多个结果的情况。
-
格式:1 switch(){
2 case value1:
3 …………;
4 case value2:
5 …………;
6 case value3:
7 …………;
8 …………
9 default:
10 …………;
11 }
-
注意:(1)()内必须写的是整型表达式;
(2)case后的省略号处写的是整型常量表达式;
(3)default后的表达式是不符合所有case情况时的。
(4)case与default无顺序,但是一般习惯于将default放在case后面。
-
例子:判断一个数字除以3的余数。
-
1 #include <stdio.h>
-
2 int main()
-
3 {
-
4 int num =0;
-
5 scanf("%d", &num);
-
6 switch(num%3)
-
7 {
-
8 case 0:
-
9 printf("0");
-
10 case 1:
-
11 printf("1");
-
12 case 2:
-
13 printf("2");
-
14 }
-
15 }
-
注意:在上述代码中,case与0、1等之间必须要有一个空格,否则会出错。(本人之前的惨痛教训)
-
提问:那么当我们输入数字6时,试着想一想上述代码执行的结果是什么呢?
-
结果:我想很多宝宝脱口而出是“0”,但是很遗憾的是结果是“012”。那么这是为什么呢?
-
解析:当输入数字6时,显然它除以3的余数为0,那么系统会执行case 0后的表达式,接着继续执行case 1和case2后的表达式,所以结果就是“012”。
-
解决方法:那么我们只想让它输出“0”,该怎么做呢?这个时候就需要引进break。
-
1 case 0:
-
2 printf("0");
-
3 break;
-
4 case 1:
-
5 printf("1");
-
6 break;
-
7 case 2:
-
8 printf("2");
-
9 break;
-
此时当我们输入6时,结果便成为我们想要的“0”了。在swith语句中break的作用是终止该case,防止计算机依次读取后面的case。