C 语言中的 switch 语句
替代多重 if..else 语句,可以使用 switch 语句。switch 语句用于选择多个代码块中的一个来执行- switch(表达式) {
- case x:
- // 代码块
- break;
- case y:
- // 代码块
- break;
- default:
- // 代码块
复制代码 工作原理
- switch 表达式只会被计算一次
- 表达式的值与每个 case 的值进行比较
- 如果找到匹配,则执行相应的代码块
- break 语句用于跳出 switch 块并停止执行
- default 语句是可选的,如果找不到匹配的 case,则执行它指定的代码
下面的示例使用星期几的数字来计算星期几的名称:- int day = 4;
- switch (day) {
- case 1:
- printf("星期一");
- break;
- case 2:
- printf("星期二");
- break;
- case 3:
- printf("星期三");
- break;
- case 4:
- printf("星期四");
- break;
- case 5:
- printf("星期五");
- break;
- case 6:
- printf("星期六");
- break;
- case 7:
- printf("星期日");
- break;
- }
- // 输出 "星期四" (星期 4)
复制代码 break 关键字:
- 当 C 遇到 break 关键字时,它会跳出 switch 块。
- 这将停止执行更多代码和块内部的 case 测试。
- 当找到匹配项并完成任务时,就该休息了。没有必要进行更多测试。
- break 可以节省大量的执行时间,因为它“忽略”了 switch 块中所有其他代码的执行。
default 关键字:
- default 关键字用于指定在找不到 case 匹配时要运行的代码:
- int day = 4;
- switch (day) {
- case 6:
- printf("今天是星期六");
- break;
- case 7:
- printf("今天是星期日");
- break;
- default:
- printf("期待周末");
- }
- // 输出 "期待周末"
复制代码 C 语言中的 while 循环
循环
循环可以执行一段代码,只要满足指定的条件。循环非常方便,因为它们可以节省时间、减少错误并使代码更易于阅读。
while 循环
只要指定的条件为真,while 循环就会一直循环执行一段代码块:
语法:在下面的示例中,只要一个变量 (i) 小于 5,循环中的代码就会一遍又一遍地运行:
示例- int i = 0;
- while (i < 5) {
- printf("%d\n", i);
- i++;
- }
复制代码 注意: 不要忘记增加用于条件的变量 (i++),否则循环将永远不会结束!
do/while 循环
do/while 循环是 while 循环的一个变体。这个循环会在检查条件是否为真之前先执行一次代码块,然后只要条件为真,就会重复该循环。
语法:- do {
- // 要执行的代码块
- }
- while (条件);
复制代码 下面的示例使用了一个 do/while 循环。即使条件为假,循环也至少会执行一次,因为代码块是在测试条件之前执行的:
示例- int i = 0;
- do {
- printf("%d\n", i);
- i++;
- }
- while (i < 5);
复制代码 不要忘记增加用于条件的变量,否则循环将永远不会结束!
现实生活中的例子
为了展示 while 循环的实际例子,我们可以创建一个简单的“倒计时”程序:
示例- int countdown = 3;
- while (countdown > 0) {
- printf("%d\n", countdown);
- countdown--;
- }
- printf("新年快乐!\n");
复制代码 为了展示 while 循环结合 if else 语句的实际例子,假设我们玩一个 Yahtzee 游戏!
示例
如果骰子数字为 6,则打印“Yahtzee!”:
[code]int dice = 1;while (dice |