1.Break的作用
1.1 在for循环和while循环中的break。
在循环中break的作用是:
1.当break处于单层循环的时候,break的作用效果是直接结束循环执行循环后面的代码。
大家也可以自己试一下源码感受一下效果:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
if (i == 5)
{
printf("i = %d\n", i);
break;
}
printf("i =%d\n",i);
}
printf("**\n");//只打印1 2 3 4 5 然后打印**说明break的作用效果就是直接结束了单层循环
return 0;
}
2.当break处于多层循环,break的作用就是跳出单层循环,不影响外一层循环。
for(;;){// A
for(;;) {// B
break; // 只跳出B的for循环
}
}
大家可以看出,第二行后面就是因为break跳出来内层循环导致,大家也可以用源码试试效果
int main()
{
int i = 0;
int j = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (i * j == 1)
{
break;
}
printf(" %d*%d = %d ", i, j, i * j);
}
printf("\n");
printf("1\n");
}
return 0;
}
1.2 break在switch中的作用
在 C语言 的 switch(开关语句)中,break 语句还可用来在执行完一个 case(分支)后立即跳出当前 switch 结构。
我们先来看看没有input的Switch效果实现是怎么样的。
我想要实现一个功能,如果选择1就启动游戏,如果选择0就退出游戏。
我们发现当我们选择1,游戏启动但是紧接着就关闭了游戏是不是因为执行case1过后,程序并没有给我们选择是要继续玩还是直接退出,反而直接执行了case2,直接结束了游戏(如果后面还有case是不是一样的会继续执行,那么分case的作用就没了,所以需要break来分开每个case功能,执行完一个case就结束Switch去判断dowhile)
加上break就完美实现了Switch功能。(编程好习惯在每一个case后加上break)
大家可以试一下源码效果:
int main()
{
int input = 0;
do
{
printf("如果要启动原神就输入1,关闭原神就输入2,请选择:\n");
scanf("%d",&input);
switch (input)
{
case 1:
printf("原神启动\n");
break;
case 0:
printf("原神关闭\n");
break;
defult:
printf("选择错误\n");
}
} while (input);//控制一直输入的外层循环,直到input等于01结束循环退出
return 0;
}
2.continue
continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环
注意:continue语句并没有使整个循环终止
第二段代码由于continue的作用,第二个打印并没有执行。所以只是打印了一个五。
这篇博客能帮助理解文章语句中的Switch大家可以关联阅读。有不对的地方欢迎大家指正。