学习随笔-break在switch语句中
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 }