循环语句中的break和continue
while语句中的break和continue
break
代码实例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
{
break;
}
printf("%d ", i);
i = i + 1;
}
return 0;
}
代码运行结果
屏幕上只打印了1 2 3 4程序就结束了
总结:break在while循环中的作用:在循环中只要遇到break,就停止后期的所有循环,直接终止循环,所以while中break是永久终止循环的
continue
代码实例:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
{
continue;
}
printf("%d ",i);
i = i + 1;
}
return 0;
}
代码运行结果:
屏幕上打印了1 2 3 4 但是程序并没有结束,光标一直在死循环,是因为当 i等于5时,进入if语句执行continue,跳过了后边的代码,来到循环的条件判断部分,i 等于5小于等于10的条件永远成立,所以导致死循环。
总结:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会在执行,而是直接跳转到while语句的判断部分,进行下一次的入口判断。
for语句中的break和continue
break
代码实例:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
break;
}
printf("%d ",i);
}
return 0;
}
代码运行结果:
屏幕上打印了1 2 3 4 然后程序就结束了,其实原因同while语句中的break。
总结:break在for循环中的作用:在循环中只要遇到break,就停止后期的所有循环,直接终止循环,所以for中break是永久终止循环的
continue
代码实例:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
continue;
}
printf("%d ", i);
}
return 0;
}
运行结果:
屏幕上竟然打印出了完整的1到10!这是因为for循环中执行完循环体之后执行变量调整,也就是当 i 等于5时,执行continue之后执行代码里的 i++,这样 i 等于5的条件就不会成立,就能正常打印了,虽然结果不一样,但是continue在这里的作用是一样的。
总结:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会在执行,而是直接跳转到for语句的变量调整部分,然后进行下一次的入口判断。
do…while语句中的break和continue
break
代码实例:
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (i == 5)
{
break;
}
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
运行结果:
屏幕上打印1 2 3 4 ,原因如while语句中的break。
总结:beak在do...while循环中的作用:在循环中只要遇到break,就停止后期的所有循环,直接终止循环。
continue
代码实例:
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (i == 5)
{
continue;
}
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
运行结果:
不论是结果还是原因,都和while语句中的一样。
总结: continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会在执行,而是直接跳转到while语句的判断部分,进行下一次的入口判断。
总结
不论是在while语句、for语句还是do…while语句中:
break在循环语句中的作用:循环中只要遇到break,就停止后期的循环,直接终止循环。
continue在循环语句中的作用:跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环。