目录
Switch语句和break语句
复杂的Switch语句
选择语句
if语句会根据某个条件的判断结果,将程序的流程分为两支,而Switch语句,则会将程序分为多个分支。
Switch语句和break语句
让我们来看下Switch语句的结构图:(括号内的表达式必须是整形)
我们用一段程序来具体说明:
#include<stdio.h>int main()
{int no;printf("请输入一个整数:");scanf("%d", &no);switch(no % 3){case 0:puts("该整数能被3整除"); break;case 1:puts("该整数不能被3整除余数是1");break;case 2:puts("该整数不能被3整除余数是2");break;}return 0;
}
想case 1:这样用来表示程序跳转的标识称为标签(label)
注意:case和1之间必须有空格,1和:之间有没有空格都可以。
标签值必须为常量,不可为变量,不允许出现重复的标签值。程序跳转到改标签后会按顺序执行其语句。
当程序出现break语句时,Switch语句会执行结束。break有“打破、脱离”之意,执行break语句会程序会跳出Switch语句的范围。
复杂的Switch语句
我们给下列商品编号,脉动为1,冰红茶为2,牛肉面为3,炒饭为4……我们如何用Switch语句做选择呢?
#include<stdio.h>int main()
{int selection;printf("请输入商品的编号:");scanf("%d", &selection);switch(selection){case 1:puts("我要喝脉动"); break;case 2:puts("我要喝冰红茶"); break;case 3:puts("我要吃牛肉面"); break;case 4:puts("我要吃炒饭"); break;default :puts("请重新选择");}return 0;
}
当判断表达式的判断结果与任何一个case都不一致时,程序会跳转到default :继续执行。
/*确认Switch语句动作的程序*/
#include<stdio.h>int main()
{int sw;printf("请输入一个整数:");scanf("%d", &sw);switch(sw){case 1:puts("A"); puts("B");break;case 2:puts("C");case 5:puts("D");break;case 6:case 7:puts("E");break;default :puts("F");break;}return 0;
}
当然,我们也可以把上面这种Switch语句执行时运算的流程图给表示出来:
Switch相较于if语句脉络更加的清晰,通过单一表达式来控制程序流程分支时,使用Switch通常要比使用if语句效果更好。
选择语句
我们现在学习的if语句和Switch语句,都是用来实现程序流程的选择性分支的,统称为选择语句。
在下一章节中我们将会学习到都语句,来实现更多的功能!
最后感谢您的观看,希望您能从中学到一些知识!