我是靠谱客的博主 精明煎蛋,这篇文章主要介绍C++中switch语句中的输入值及break的使用,现在分享给大家,希望可以做个参考。

        在语句switch中,输入的字符及case后面的数据必须为整型枚举常量或整数表达式,如该程序中:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h> int main() { int n=2; switch(n) { case 1: printf("星期一"); break; case 1+1: printf("星期二"); break; default: break; } return 0; }

   常量n可以为任意整型数,case后面也可以为如“1+1”一类的整数表达式,但一旦使用非整型则会报错。

       break是switch语句中的结束跳出词,而其所跳出的只是其所在一个switch语句。当一个switch语句中没有break的时候,其会从输入的case开始一直往后执行,直到遇到break或该switch语句结束为止。就如同该程序段:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<stdio.h> int main() { int n=2; switch(n) { case 1: printf("星期一"); case 2: printf("星期二"); case 3: printf("星期三"); case 4: printf("星期四"); case 5: printf("星期五"); case 6: printf("星期六"); case 7: printf("星期天"); default: break; } return 0; }

由于n=2,所以其输出的结果就跳过了星期一,从“星期二”开始输出一直到该switch语句结束——星期二星期三星期四星期五星期六星期天。

       如果在case:4之前加上一个break,则输出结果仅为“星期二星期三”

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h> int main() { int n=2; switch(n) { case 1: printf("星期一"); case 2: printf("星期二"); case 3: printf("星期三"); break; case 4: printf("星期四"); case 5: printf("星期五"); case 6: printf("星期六"); case 7: printf("星期天"); default: break; } return 0; }

      switch语句是可以进行嵌套使用的,而在嵌套中就要格外注意break退出的是哪个语句了,就如这个程序:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h> int main() { int n=1,m=2; switch(n) { case 1: m++; case 2: n++; case 3: switch(n) { case 1: n++; case 2: m++; n++: break; default: break; } case 4: m++; break; default: break; } printf("m=%d,n=%dn",m,n); return 0; }

该程序输出结果为:m=5,n=3。其原因就是break第一次退出只是退出嵌套进去的那一个switch,然后继续往下面进行。

 

最后

以上就是精明煎蛋最近收集整理的关于C++中switch语句中的输入值及break的使用的全部内容,更多相关C++中switch语句中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部