switch的用法,终止switch语句,switch语句是选择语句
电梯程序
# include <stdio.h>
int main(void)
{
int val;
printf("请输入您想要进入的楼层:");
scanf("%d",&val);
switch(val)
{
case 1:
printf("一层开!\n");
break;//如果注释掉第一个break,结果是,一层开!二层开!
case 2:
printf("二层开!\n");
break;
case 3:
printf("三层开!\n");
break;
default:
printf("没有盖到这一层");
break;
}
return 0;
}
//一旦执行了break,程序就会跳出switch语句。
break的用法_1,if嵌套在for中,可以使用break终止for循环,注意:是终止for循环。
# include <stdio.h>
int main(void)
{
int i =1;
switch(2)
{
case 2:
printf("嘿嘿!\n");
break;
}
for(i=1;i<3;i++)
{
if(3>2)
break;
printf("哈哈!\n");//永远不会输出
}
return 0;
}
break的用法_2,在多层循环中,终止距离它最近的循环
# include <stdio.h>
int main(void)
{
int i,j;
for(i=0;i<3;++i)
for(j=1;j<4;++j)
break;//break只能终止距离它最近的循环
printf("艾玛。。我出来了~(*^__^*) 嘻嘻……\n");
return 0;
}
在多层switch循环中,break只能终止距离它最近的switch
# include <stdio.h>
int main(void)
{
int x = 1, y = 0, a = 0, b = 0;
switch(x) //第一switch
{
case 1:
switch(y) //第二个switch
{
case 0:
a++;
break; //终止的是第二个switch
case 1:
b++;
break;
}
b = 100;
break; //终止的是第一个switch
case 2:
a++;
b++;
break;
}
printf("%d %d\n",a,b);
return 0;
}
//最终输出结果:1 100
continue 用于跳过本次循环余下的语句,转去判断是否需要执行下次循环
例子:
for(1,2,3)
A;
B;
continue;//如果执行了continue,则执行语句3,C、D语句将不被执行。
C;
D;
while(表达式)
A;
B;
continue;//如果执行了continue,则执行表达式,C、D语句将不被执行。
C;
D;
scanf对用户非法输入的处理
# include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d",&i);
printf("i=%d\n",i);
while (ch=getchar() !='\n')
continue;
int j;
scanf("%d",&j);
printf("j=%d\n",j);
return 0;
}