C语言中的switch语句基本用法

简介: C语言中的switch语句基本用法

导语:switch语句是一个多分支选择语句,并且可以支持嵌套

switch语句的基本格式

switch语句通过将表达式的值与常量值进行比对,如果相等则执行后面的语句,如果不相等则跳到下一个case语句,当表达式和常量值相等,switch语句会将当前case语句以及后面所有的case语句全部输出。假如我们要实现用户输入一个数字来判断今天是星期几,那么就可以用下面的代码实现

1. //#define _CRT_SECURE_NO_WARNINGS 1
2. //#include <stdio.h>
3. //int main()
4. //{
5. // int day = 0;         
6. // printf("请输入一个数字\n");   
7. // scanf("%d", &day);      
8. // switch (day)
9. // {
10. //  case 1:printf("星期一\n");
11. //    break;
12. //  case 2:printf("星期二\n");
13. //    break;
14. //  case 3:printf("星期三\n");
15. //    break;
16. //  case 4:printf("星期四\n");
17. //    break;
18. //  case 5:printf("星期五\n");
19. //    break;
20. //  case 6:printf("星期六\n");
21. //    break;
22. //  case 7:printf("星期天\n");
23. //    break;
24. //  }
25. //  return 0;
26. //}

这里我们加上一个break语句会有意想不到的结果,当语句运行到break时就不再运行了,接下来剩下的case语句也不会再执行,switch语句结束,看下面的代码的运行结果

1. //#define _CRT_SECURE_NO_WARNINGS 1
2. //#include <stdio.h>
3. //int main()
4. //{
5. // int day = 0;         
6. // printf("请输入一个数字\n");   
7. // scanf("%d", &day);      
8. // switch (day)
9. // {
10. //  case 1:printf("星期一\n");
11. //    break;
12. //  case 2:printf("星期二\n");
13. //    break;
14. //  case 3:printf("星期三\n");
15. //    break;
16. //  case 4:printf("星期四\n");
17. //    break;
18. //  case 5:printf("星期五\n");
19. //    break;
20. //  case 6:printf("星期六\n");
21. //    break;
22. //  case 7:printf("星期天\n");
23. //    break;
24. //  }
25. //  return 0;
26. //}

如果用户输入时不小心输入了一个switch语句中没有的常量值怎么办呢,只需要一个default就可以解决问题,请看下面代码将会体现出default的作用

1. //#define _CRT_SECURE_NO_WARNINGS 1
2. //#include <stdio.h>
3. //int main()
4. //{
5. // //实现1-5都为工作日,6,7为休息日,可以看出当case语句后没有执行语句且没有break时代码会从条件判断成立进入,直到遇到break
6. // int day = 0;
7. // scanf_s("%d", &day);
8. // switch (day)
9. // {
10. //  case 1:
11. //  case 2:
12. //  case 3:
13. //  case 4:
14. //  case 5:printf("工作日\n");
15. //    break;
16. //  case 6:printf("休息日\n");
17. //    break;
18. //  case 7:printf("休息日\n");
19. //    break;
20. //  default:printf("请重新输入\n");
21. //    break;
22. //  }
23. //
24. //  return 0;
25. //}

switch的嵌套语句,这就需要你们自己去尝试的领悟,得出代码的结果

1. //#define _CRT_SECURE_NO_WARNINGS 1
2. //#include <stdio.h>
3. //int main()
4. //{
5. // int n = 1;
6. // int m = 2;
7. // switch (n)
8. // {
9. // case 1:m++;
10. //  case 2:n++;
11. //  case 3:
12. //    switch (n) //switch语句可以支持嵌套 
13. //    {
14. //    case 1:n++;
15. //    case 2:m++; n++;
16. //      break;
17. //    default:
18. //      break;
19. //    }
20. //  case 4:m++;
21. //    break;
22. //  default:
23. //    break;
24. //  }
25. //  printf("m=%d,n=%d\n", m, n);
26. //  return 0;
27. //}

本章终,谢谢大家支持!


相关文章
|
2月前
|
C语言
C语言判断逻辑的高阶用法
在C语言中,高级的判断逻辑技巧能显著提升代码的可读性、灵活性和效率。本文介绍了六种常见方法:1) 函数指针,如回调机制;2) 逻辑运算符组合,实现复杂条件判断;3) 宏定义简化逻辑;4) 结构体与联合体组织复杂数据;5) 递归与分治法处理树形结构;6) 状态机管理状态转换。通过这些方法,可以更高效地管理和实现复杂的逻辑判断,使代码更加清晰易懂。
229 88
|
3月前
|
存储 缓存 编译器
【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)(下篇)
scanf处理⽤⼾输⼊的原理是,⽤⼾的输⼊先放⼊缓存,等到按下回⻋键后,按照占位符对缓存进⾏解读。 解读⽤⼾输⼊时,会从上⼀次解读遗留的第⼀个字符开始,直到读完缓存,或者遇到第⼀个不符合条件的字符为⽌。
162 2
|
3月前
|
存储 C语言
【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)(上篇)
printf 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format (格式化),表⽰可以定制输出⽂本的格式。
75 1
|
5月前
|
存储 C语言
c语言scanf函数用法
c语言scanf函数用法
|
5月前
|
存储 C语言
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
77 2
|
4月前
|
存储 C语言
C语言中static关键字的作用与用法解析
C语言中static关键字的作用与用法解析
|
4月前
|
存储 编译器 C语言
c语言选择结构的switch语句的细节
c语言选择结构的switch语句的细节
|
5月前
|
C语言
C语言条件判断:if、else、else if 和 switch 详解
C语言条件判断:if、else、else if 和 switch 详解
305 0
|
6月前
|
存储 程序员 C语言
C语言中的嵌套语句与Switch语句的深入解析
C语言中的嵌套语句与Switch语句的深入解析
90 1
|
5月前
|
程序员 C语言
C语言memcpy()函数用法
C语言memcpy()函数用法