推荐答案
// www.javascriptcn.com code example
#include <stdio.h>
int main() {
int day = 3;
switch (day) {
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
case 4:
printf("Thursday\n");
break;
case 5:
printf("Friday\n");
break;
case 6:
printf("Saturday\n");
break;
case 7:
printf("Sunday\n");
break;
default:
printf("Invalid day\n");
}
return 0;
}本题详细解读
1. switch-case 语句的基本结构
switch-case 语句用于根据变量的值执行不同的代码块。其基本结构如下:
// www.javascriptcn.com code example
switch (expression) {
case constant1:
// 代码块1
break;
case constant2:
// 代码块2
break;
...
default:
// 默认代码块
}expression是一个表达式,通常是一个变量或常量。case后面跟着一个常量值,表示当expression的值与该常量值匹配时,执行对应的代码块。break语句用于跳出switch语句,防止继续执行下一个case的代码块。default是可选的,当没有任何case匹配时,执行default代码块。
2. break 语句的作用
break 语句在 switch-case 中非常重要。如果没有 break,程序会继续执行下一个 case 的代码块,直到遇到 break 或 switch 语句结束。这种行为称为“贯穿”(fall-through)。
例如:
// www.javascriptcn.com code example
int day = 3;
switch (day) {
case 1:
printf("Monday\n");
case 2:
printf("Tuesday\n");
case 3:
printf("Wednesday\n");
case 4:
printf("Thursday\n");
case 5:
printf("Friday\n");
case 6:
printf("Saturday\n");
case 7:
printf("Sunday\n");
default:
printf("Invalid day\n");
}输出结果为:
Wednesday Thursday Friday Saturday Sunday Invalid day
3. default 语句的作用
default 语句是可选的,用于处理所有 case 都不匹配的情况。如果没有 default,且没有任何 case 匹配,switch 语句将不执行任何代码块。
4. switch-case 的适用场景
switch-case 语句适用于需要根据一个变量的值执行不同操作的场景。与 if-else 语句相比,switch-case 在处理多个离散值时更加简洁和高效。
5. 注意事项
case后面的常量值必须是整数或字符类型,不能是浮点数或字符串。case后面的常量值必须是唯一的,不能重复。switch语句中的expression必须是整数或字符类型。