C 语言中的 switch 语句和 while 循环详解

C 语言中的 switch 语句

替代多重 if..else 语句,可以使用 switch 语句。switch 语句用于选择多个代码块中的一个来执行

1switch(表达式) { 2 case x: 3 // 代码块 4 break; 5 case y: 6 // 代码块 7 break; 8 default: 9 // 代码块

工作原理

  • switch 表达式只会被计算一次
  • 表达式的值与每个 case 的值进行比较
  • 如果找到匹配,则执行相应的代码块
  • break 语句用于跳出 switch 块并停止执行
  • default 语句是可选的,如果找不到匹配的 case,则执行它指定的代码

下面的示例使用星期几的数字来计算星期几的名称:

1int day = 4; 2 3switch (day) { 4 case 1: 5 printf("星期一"); 6 break; 7 case 2: 8 printf("星期二"); 9 break; 10 case 3: 11 printf("星期三"); 12 break; 13 case 4: 14 printf("星期四"); 15 break; 16 case 5: 17 printf("星期五"); 18 break; 19 case 6: 20 printf("星期六"); 21 break; 22 case 7: 23 printf("星期日"); 24 break; 25} 26 27// 输出 "星期四" (星期 4)

break 关键字:

  • 当 C 遇到 break 关键字时,它会跳出 switch 块。
  • 这将停止执行更多代码和块内部的 case 测试。
  • 当找到匹配项并完成任务时,就该休息了。没有必要进行更多测试。
  • break 可以节省大量的执行时间,因为它“忽略”了 switch 块中所有其他代码的执行。

default 关键字:

  • default 关键字用于指定在找不到 case 匹配时要运行的代码:
1int day = 4; 2 3switch (day) { 4 case 6: 5 printf("今天是星期六"); 6 break; 7 case 7: 8 printf("今天是星期日"); 9 break; 10 default: 11 printf("期待周末"); 12} 13 14// 输出 "期待周末"

C 语言中的 while 循环

循环

循环可以执行一段代码,只要满足指定的条件。循环非常方便,因为它们可以节省时间、减少错误并使代码更易于阅读。

while 循环

只要指定的条件为真,while 循环就会一直循环执行一段代码块:

语法:

1while (条件) { 2 // 要执行的代码块 3}

在下面的示例中,只要一个变量 (i) 小于 5,循环中的代码就会一遍又一遍地运行:

示例

1int i = 0; 2 3while (i < 5) { 4 printf("%d\n", i); 5 i++; 6}

注意: 不要忘记增加用于条件的变量 (i++),否则循环将永远不会结束!

do/while 循环

do/while 循环是 while 循环的一个变体。这个循环会在检查条件是否为真之前先执行一次代码块,然后只要条件为真,就会重复该循环。

语法:

1do { 2 // 要执行的代码块 3} 4while (条件);

下面的示例使用了一个 do/while 循环。即使条件为假,循环也至少会执行一次,因为代码块是在测试条件之前执行的:

示例

1int i = 0; 2 3do { 4 printf("%d\n", i); 5 i++; 6} 7while (i < 5);

不要忘记增加用于条件的变量,否则循环将永远不会结束!

现实生活中的例子

为了展示 while 循环的实际例子,我们可以创建一个简单的“倒计时”程序:

示例

1int countdown = 3; 2 3while (countdown > 0) { 4 printf("%d\n", countdown); 5 countdown--; 6} 7 8printf("新年快乐!\n");

为了展示 while 循环结合 if else 语句的实际例子,假设我们玩一个 Yahtzee 游戏!

示例

如果骰子数字为 6,则打印“Yahtzee!”:

1int dice = 1; 2 3while (dice <= 6) { 4 if (dice < 6) { 5 printf("没有 Yahtzee\n"); 6 } else { 7 printf("Yahtzee!\n"); 8 } 9 dice = dice + 1; 10}

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏

评论区

加载中...

相关推荐

一篇文章带你了解JavaScript switch

Switch是与if...else...相同的条件语句,不同之处在于switch语句允许根据值列表测试变量是否相等。switch语句用于根据不同的条件执行不同的操作。一、Switch语句使用switch语句选择要执行的多个代码块中的一个。1\.语法switch(expression)casen:codeblock

一篇文章带你了解JavaScript While 循环

循环可以执行一个代码块,只要指定条件为真,循环就可以执行代码块。一、While循环while只要指定条件的值为真,循环就会执行指定语句。while循环的语法while(condition)statement//只要条件为真,就执行代码例:项目JavaScriptwhile语句只要n小于5,就遍历一段代码:varn0;while(n<

swift中更强大的switch和眼花缭乱的for in

从日记中整理出switch和forin。swift的switch比起oc真的是厉害坏了而且forin中的功能也比oc的更加灵活。小作笔记1.1swift中swich语句会将一个值与多个可能的模式匹配。然后基于第一个成功匹配的模式来执行合适的代码块,如果想要oc中匹配到case后依旧贯穿接下来的case则要增加fallthough。switch语句一

C语言二次系统学习3(分支循环、函数)

本次学习,主要针对语句和函数两部分进行学习。分支语句(if,switch)与循环语句(while,for,dowhile)switch语句中,在每个选择之后如果不进行break跳出,会执行下一个case,而且应注意default语句的使用,一般会放在{}代码块的后方dowhile语句中,会首先执行一次循环,再进行判定,所以使用相对较少。whi

Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程

JavaBreak和ContinueJavaBreak:break语句用于跳出循环或switch语句。在循环中使用break语句可以立即终止循环,并继续执行循环后面的代码。在switch语句中使用break语句可以跳出当前case,并继续执行下一个case

C++ While 和 For 循环:流程控制全解析

CSwitch语句使用switch语句选择要执行的多个代码块之一。语法cppswitch(expression)casex://代码块break;casey://代码块break;default://代码块它的工作原理如下:switch表达式被评估一次