BeautyLife Studio
  • 首页
  • 相册
  • 美丽人生
    • 故事
    • 情感
    • 技术
    • 旅行
    • 闲话
    • 美丽人生电影院
    • 美丽人生电视台
  • 欢乐时光
  • 我的作品
  • 联系我
  • Sign in
2020-07-02 作者:陈 梦海

我的C语言学习笔记(七)

我的C语言学习笔记(七)
2020-07-02 作者:陈 梦海

6.0.0 switch-case结构

6.1.0 什么是switch-case结构

switch-case结构被称为选择结构。

6.2.0 switch-case的语法结构

  • 语法:

switch (表达式)

{

case 值1:

        执行代码;

           break;

case 值2:

         执行代码;

         break;

case 值3:

         执行代码;

         break;

default:

         执行代码;

    break;

   }

注意:switch后的表达式没有说必须是一个条件表达式。

6.3.0 执行步骤

  • 先计算switch后面的表达式的结果;
  • 从上到下的将这个结果和每一个case后面的值进行相等比较判断;
  • 如果有一个相等,那么就执行其中的代码,执行完毕之后,就结束整个switch结构;
  • 如果不想等,那就再判断下一个case的值;
  • 如果所有的case的值和表达式的结果都不相等,就执行default中的代码。

6.4.0 一些例子

  • 语法例子:

int num = 10;

switch (num + num)

{

case 10:

printf(“AAA\n”);

break;

case 20:

printf(“BBB\n);

break;

case 30:

printf(“CCC\n);

break;

default:

printf(“over\n”);

break;

}

  • 实际例子:

请用户输入一个星期数,输出对应的英文星期名称。1-7,否则显示“你是火星来的吗?”

int weekDay = 0;

printf(“请输入1-7之间的一个数,表示星期几:”);

scanf(“%d”,&weekDay);

switch (weekDay)

{

case 1:

printf(“Monday\n”);

break;

case 2:

printf(“Tuesday\n”);

break;

case 3:

print(“Wednesday\n”);

break;

.

.

.

default:

printf(“你是火星来的吗?\n”;

break;

}

6.5.0 注意事项

  • switch后面的括号里可以写一个表达式、变量、常量;
  • case穿透

每一个case块后面的break在语法上是可以不写的。

break的意思代表立即结束整个switch-case结构。

如果没有case块中没有写break,会穿透到下一个case块执行其中的代码,直到遇到有break的case块结束。如果没有break,则一直执行到所有case块结束。

所以在写代码时,一般情况下要注意不要漏掉break。

但是也有例外:例如用户输入一个月份,然后对应输出这个月份所属的季节。

int month = 0;

printf(“Please insert a month:”);

scanf(“%d”,&month);

switch (month)

{

case 1:

case 2:

case 3:

printf(“It’s Spring!\n”);

break;

case 4:

case 5:

case 6:

printf(“It’s Summer!\n”);

break;

以下类似并省略……

所以利用case穿透可以简写代码,利用的是多个case块的处理逻辑是一样的情况。

  • switch后面的表达式的结果除了小数以外其他都是可以的。是小数就报错。
  • case块可以加大括号,这样写没有任何影响。但是一般情况下不写大括号。
  • 一个case块里可以写任意行代码,只要符合代码逻辑。但是要注意,如果要在case块中声明变量,则必须将这个case块内的代码用大括号括起来。
  • case块可以有任意个,并且default可以省略掉,如果省略就没有默认执行代码了。

6.6.0 与if结构的关系和区别

  • 能够使用switch-case结构写出来的代码一定可以用if结构写出来,但是反之则不行。
  • switch-case结构只能做等值判断,不能直接做范围判断。并且case后面的数据不能有变量。但是if结构可以都可以做到。
  • 使用建议:

如果是做等值判断,建议使用switch-case结构;如果是范围判断建议使用if结构。

上一篇BBC:碳水化合物的真相下一篇 我的C语言学习笔记(八)

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

BeautyLife Studio

遇见美丽的事物,总掩饰不住自己想要留下她的冲动。无论是用镜头、还是用文字,都想要永久记录下她的美好……

It’s a BeautyLife.

2020年 7月
日 一 二 三 四 五 六
 1234
567891011
12131415161718
19202122232425
262728293031  
« 6月   8月 »

最近的文章

2022年第21周推荐剧集《非自然死亡》石原里美 / 井浦新 主演2022-05-21
2022年第20周推荐剧集《东京爱情故事》织田裕二 / 铃木保奈美 主演2022-05-14
2022年第19周推荐剧集《世界第一难的恋爱》大野智/波瑠 主演2022-05-07
2022年第18周推荐剧集《胜者即是正义Legal High》堺雅人/新垣结衣 主演2022-04-30
BeautyLife Cinema 2022年5月电影发布2022-04-24

分类

情感 (2) 技术 (25) 故事 (15) 旅行 (9) 美丽人生电影院 (14) 美丽人生电视台 (37) 闲话 (6)

赞助商广告栏

网站地图

首页

相册

文章

歌曲

图书与APPs

留言

WeChat: BeautyLife_Studio

最新发表

2022年第21周推荐剧集《非自然死亡》石原里美 / 井浦新 主演2022-05-21
2022年第20周推荐剧集《东京爱情故事》织田裕二 / 铃木保奈美 主演2022-05-14
2022年第19周推荐剧集《世界第一难的恋爱》大野智/波瑠 主演2022-05-07
2022年第18周推荐剧集《胜者即是正义Legal High》堺雅人/新垣结衣 主演2022-04-30
BeautyLife Cinema 2022年5月电影发布2022-04-24

微信公众号

赞助商广告栏

Copyright by 2020-2022 BeautyLife Studio ❤ Made by 陈梦海

陈梦海

创始人兼首席设计师、撰稿人。

“愿我们的人生永远美丽!”

这是BeautyLife Studio一生的愿望!

 

站内搜索