萌新的学习笔记,写错了恳请斧正。
目录
Switch语句的用法
switch语句其实就是一种特殊的if...else...语句
但在有些情况下,用switch语句更直观
switch (expression)
{
case value1: statement1; //case和valve间应有空格
case value2: statement2;
default: statement3;
}
switch语句会根据expression表达式的值选择一个分支,并顺次执行
如果找不到对应的值,则从default分支开始顺次执行
要点1:expression必须是整型表达式,value必须是整型常量
要点2:选择分支后顺次执行,而不是只执行这一项。
比方说expression的值与value2匹配,则先执行statement2,再statement3
switch语句中的break
如果我们不想让switch选完分支后顺次执行
而是只执行这一项,该怎么办呢?
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
switch(n%3)
{
case 0: printf("整除,余数为0\n"); break;
case 1: printf("余数是1\n"); break;
case 2: printf("余数是2\n"); break;
}
return 0;
}
如上例,只要在语句后加一个break,便可直接跳出该结构
而如果没有break,就可能出现奇怪的情况:
有效的利用break
我们不一定要每一个分支后都加上break
有时不加break也是一种方法:
#include <stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5: printf("⼯作⽇\n"); break;
case 6:
case 7: printf("休息⽇\n"); break;
}
return 0;
}
switch语句里的default
default语句一定要放在最后吗?
不一定
case和default没有顺序要求,但是一般把default放最后