break语句
break语句能够立即终止循环(for、while、do-while)语句的关键字,能够跳出当前循环的句子并且继续执行该循环外的语句,不在执行该结构之中的后续代码,在循环之中表示当前迭代的剩余部分与后续的增减迭代将会被跳过。使用该格式如下
for或者if语句如下
switch语句
举个switch之中的例子,
#include<stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:printf("今天是星期一\n");
case 2:printf("今天是星期二\n");
case 3:printf("今天是星期三\n");
case 4:printf("今天是星期四\n");
case 5:printf("今天是星期五\n");
case 6:printf("今天是星期六\n");
case 7:printf("今天是星期日\n");
}
return 0;
}
我们的switch语句之中case之后没有加break就会执行之后的结果除非碰到了break才会停止,那我们加上break之后的结果就是
#include<stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:printf("今天是星期一\n"); break;
case 2:printf("今天是星期二\n"); break;
case 3:printf("今天是星期三\n"); break;
case 4:printf("今天是星期四\n"); break;
case 5:printf("今天是星期五\n"); break;
case 6:printf("今天是星期六\n"); break;
case 7:printf("今天是星期日\n"); break;
}
return 0;
}
在循环结构之中的作用如下;
#include<stdio.h>
int main()
{
int n = 0;
while (n < 10)
{
if (n == 5)
{
break;
}
printf("%d\n", n);
n++;
}
return 0;
}
当执行break之后提前终止循环并且跳出这个循环体,就不会继续输出5,6,7,8,9
啊,这时候就会想break是这样的作用那我能不能有一个关键字可以抛开我不想要的东西——continue,它可以,为什么可以?因为他善。
continue语句
continue语句他善啊,他可以中止这次但是仍在循环之中,举个栗子。
#include<stdio.h>
int main()
{
int n = 0;
while (n < 10)
{
n++;
if (n == 5)
{
continue;
}
printf("%d\n", n);
}
return 0;
}
我们想中止这次循环那我会不会只能抛开5不谈就其他都会有我们执行代码试试。
break语句与continue区别
break语句是将结束本次循环并且不再执行之后的循环不在判断是否会成功。
continue语句是只会结束本次循环并不会终止该循环的执行。
疑问,
对于我上面的那个代码有人会问为什么
#include<stdio.h>
int main()
{
int n = 0;
while (n < 10)
{
if (n == 5)
{
continue;
}
printf("%d\n", n);
n++;
}
return 0;
}
为什么我的执行结果是这样的
我觉得可能是当n到了5的时候他想要跳出循环跳出去了,但是我不管如何跳但是n始终还是5不会运行到下一步就卡死仍在死循环之中。当n++在前面的时候就完美的解决了这个问题