1 //实现输入数字,输出在一周中对应的日期
2 int day = 0;
3 scanf("%d", &day);
4 //方法一
5 if (1 == day)
6 printf("星期一\n");
7 else if (2 == day)
8 printf("星期二\n");
9 else if (3 == day)
10 printf("星期三\n");
11 else if (4 == day)
12 printf("星期四\n");
13 else if (5 == day)
14 printf("星期五\n");
15 else if (6 == day)
16 printf("星期六\n");
17 else if(7 == day)
18 printf("星期天\n"); //使用if...else...语句太过繁琐,使用switch语句
19 //方法二
20 switch (day)//判断day的值,输入的day可以看作是钥匙,与case匹配成功,则可以进入,*switch(整型表达式),括号里必须是整型
21 {
22 case 1: //如果day == 1,则此处作为程序入口,*case n: ,n必须是整型常量表达式
23 printf("星期一\n");
24 break; //作为程序的出口,如果没有break,则会从入口开始,一直执行到break语句处,或执行到函数底部跳出函数;
25 case 2: //可以将case理解为一个个通道 // ___________________________________________________
26 printf("星期二\n"); // | -> pf -> pf -> pf -> pf -> pf -> pf -> pf --> (pf:printf(case后的语句
27 break; // | ^ | ^ | ^ | ^ | ^ | ^ | ^ |
28 case 3: // |case 1|case 2|case 3|case 4|case 5|case 6|case 7| //没有break语句
29 printf("星期三\n"); // day-----^------^------^------^------^------^------^
30 break; // ->跳出 ->跳出 ->跳出 ->跳出 ->跳出 ->跳出
31 case 4: // _________^______^______^______^______^______^______
32 printf("星期四\n"); // | -> pf| -> pf| -> pf| -> pf| -> pf| -> pf| -> pf --> 执行到底部跳出 pf| 此处|代表break语句
33 break; // | ^ | ^ | ^ | ^ | ^ | ^ | ^ | pf:printf(case后的语句)
34 case 5: // |case 1|case 2|case 3|case 4|case 5|case 6|case 7| //没有break语句
35 printf("星期五\n"); // day-----^------^------^------^------^------^------^
36 break;
37 case 6:
38 printf("星期六\n");
39 break;
40 case 7:
41 printf("星期天\n");
42 break;
43 default: //当每天case能够作为入口时,使用默认入口default
44 printf("请输入1~7内的数字");
45 }
46 //拓展
47 switch (day) //简单的 switch-case-break 灵活运用
48 {
49 default: //此处我们可以看到,default的位置并不影响其触发条件和作用,但建议书写在函数底部
50 printf("请输入1~7内的数字");
51 case 1:
52 //rintf("工作日\n");
53 //break;
54 case 2:
55 //printf("工作日\n");
56 //break;
57 case 3:
58 //printf("工作日\n");
59 //break;
60 case 4:
61 //printf("工作日\n");
62 //break;
63 case 5:
64 printf("工作日\n");
65 break;
66 case 6:
67 //printf("休息日\n");
68 //break;
69 case 7:
70 printf("休息日\n");
71 break;
72 }