跳转语句
一、break continue
在讲到上面的循环后,有没有同学会有疑问.
如何提前结束当前循环或者只执行循环体的某个部分代码
下面我们讲讲如何操作
5.1 break
break:中文解释“休息 打断”意思
一般在循环体内配合if条件判断来实现当达到某个条件就跳出循环
int a=10;
while(a>0)
{
printf("a=%d\n");
a--;
if(a==5)//当a==5的时候 就
{
break;
}
}
system("pause");
5.2 continue
中文解释有“继续”的意思
一般在循环体内配合if条件判断来实现当达到某个条件就继续下一次循环
也就是说当前本次循环continue 语句以下的代码就不执行了直接跳到循环判断继续判断是否进行下一次循环
int a=10;
while(a>0)
{
a--;
if(a==5)//当a==5的时候 continue 以下的代码块就不执行了 会跳到a<0 判断是否进行下一次循环
{
continue;//有一种过滤的功效
}
printf("a=%d\n");
}
system("pause");
注意:
1.break continue只能用在循环中或者switch
接下来我们讲解switch
5.3 goto
中文解释有"去" 的意思
可以调到指定的代码行执行代码
int a=10;
if(a<10)
{
}
else if(a>10)
{
}
else if(a==10)
{
goto end;
}
system("pause");
end:
prinf("a==5 结束程序");
注意:
1.我们发现当a==5的时候 会调到end标记的代码处开始执行 ,也就是system(“pause”);不执行了,
二、switch
switch 中文解释 有 “开关 转变”的意思
6.1 例如
int a=2;
switch(a)//表达式 只能是整数类型 或者 字符类型
{
case 1://case 中文解释有"情况"的意思 也就是说 表达式符合某个情况 就执行下面的代码块
{
printf("a=%d\n");
}
case 2:
{
printf("a=%d\n");
}
case 3:
{
printf("a=%d\n");
}
case 4:
{
printf("a=%d\n");
}
case 5:
{
printf("a=%d\n");
}
default://默认情况 也就是说 当上面每种情况都不符合的时候 就会执行这个默认情况
{
printf("其他情况\n");
}
}
system("pause");
我们先编译看看结果
咦~!怎么打印的不对呢
这是因为 要在每种情况下加上break
要不然当符合某种情况 就会把下面的所有的代码都执行了
这里是个坑 同学们一定要注意
也就是说遇到break才跳出 否则会从满足的情况处一直把下面的代码执行完
导致不符合我们意图
我们的意图是符合某种情况只执行相应的代码块
这个有点类型
if…else if…else if…else if…else的简写版
6.2 改进
int a=2;
switch()//表达式 只能是整数类型 或者 字符类型
{
case 1://case 中文解释有"情况"的意思 也就是说 表达式符合某个情况 就执行下面的代码块
{
printf("a=%d\n");
break;
}
case 2:
{
printf("a=%d\n");
break;
}
case 3:
{
printf("a=%d\n");
break;
}
case 4:
{
printf("a=%d\n");
break;
}
case 5:
{
printf("a=%d\n");
break;
}
default://默认情况 也就是说 当上面每种情况都不符合的时候 就会执行这个默认情况
{
printf("其他情况\n");
break;
}
}
system("pause");
现在编译 就对了!!
所以在今后用到switch的时候一定不要忽视掉了break关键字
迪大交流群:285530835