惧留孙网

juliusun.com

在线教程 > C语言教程 > 判断结构之switch

判断结构之switch

第 10/50 节 冥河C语言教程


switch可以配合case或default实现多分支判断,case或default在必要时可以省略,用法如下:

switch(数据) { case 常量1 : 语句1 case 常量2 : 语句2 …… case 常量n : 语句n default : 语句n+1 }

switch后面的数据可以是变量、表达式等。后面的数据值按顺序逐个与每个case后面的常量对比,如果遇到与数据值相等的常量,就执行相应case后面的语句。如果全部都不相等,就执行default后面的语句。一般我们还会用到一个关键字-break。假设与某个case后面的常量相等,执行完相应case后面的语句后,不会退出,还会继续执行后面的case或default语句。break关键字可以跳出switch语句。

break语句仅能跳出所在的一层switch语句。当switch语句嵌套时,要跳出多层switch,需要在相应每层switch语句上都加break语句。

switch语句一般用于结果可列举的情况。

举例说明,假设程序需要获取用户喜欢哪个季节,让用户来输入季节代码,然后输出提示信息,例


  1. #include<stdio.h>
  2. int main( )
  3. {
  4. char c;
  5. printf("请输入您喜欢的季节,a:春天、b:夏天、c:秋天、d:冬天\n");
  6. c = getchar( );
  7. switch(c)
  8. {
  9. case 'a' :
  10. printf("您喜欢春天");
  11. break; //输出完相应信息后及时退出switch语句,后面的break语句作用类似
  12. case 'b' :
  13. printf("您喜欢夏天");
  14. break;
  15. case 'c' :
  16. printf("您喜欢秋天");
  17. break;
  18. case 'd' :
  19. printf("您喜欢冬天");
  20. break;
  21. default :
  22. printf("您输入错误"); //这是switch语句最后一部分,加不加break效果是一样的,所以省略了break
  23. //如果逻辑上不需要default,default语句及分支可以省略
  24. }
  25. getchar( ) ;getchar( ) ; //使程序暂停一下
  26. return 0;
  27. }

输入c回车后,运行效果类似如下图:

图片

直接输入e回车后,运行效果类似如下图:

图片

上述代码很好懂了,下面把容易出错的地方提一下:


  1. case c==1 : printf("xxx"); //错误,case后面必须接常量,接条件语句错误
  2. default 3 : printf("xxx"); //错误,default后面不接常量,后面直接跟冒号
作者:冥河 QQ:3304576112
交流QQ群:554701039 C语言讲课群
本教程内容由本站保留版权,请勿复制传播
抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的