C语言break和continue语句(跳出循环)
C语言中有两个跳出循环的语句,它们分别是 break 和 continue:

图 1:break 终止并退出循环语句
下面的 for 循环语句正常情况下会打印出 10 个数字,然后再打印出“OK”。不过,其中的 break 语句使得循环在输出 5 个数字以后就打印出了“OK”,for 循环语句实际上只执行了 5 次循环。

图 2:continue 终止当次循环,返回并开始下一次循环
下面的 for 循环语句执行了全部 10 次循环,但其循环体中 printf() 语句只执行了 5 次,因为,当 i 的值为奇数时,continue 语句使得其后的 printf() 语句没有被执行。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
- break 用来跳出整个循环语句,也就是跳出所有的循环次数;
- continue 用来跳出当次循环,也就是跳过当前的一次循环。
break 语句
break 语句的作用是终止并退出当前的循环语句(见图 1),执行该循环语句后面的语句,其一般格式如下:break; //一般出现在 if 语句的主体部分

图 1:break 终止并退出循环语句
下面的 for 循环语句正常情况下会打印出 10 个数字,然后再打印出“OK”。不过,其中的 break 语句使得循环在输出 5 个数字以后就打印出了“OK”,for 循环语句实际上只执行了 5 次循环。
for(i=1;i<=10;i++) { printf("%d",i); if(i==5) break; //当循环变量 i=5 时退出循环,执行 for 语句后面的printf() printf("OK"); }
continue 语句
break 语句使得循环语句还没有完全执行完就提前结束,与之相反,continue 语句并不终止当前的循环语句的执行,仅仅是终止当前循环变量 i 所控制的这一次循环,而继续执行该循环语句。continue 语句的实际含义是“忽略 continue 之后的所有循环体语句,回到循环的顶部并开始下一次循环”(见图 2)。其一般格式如下:continue; //一般出现在 if 语句的主体部分

图 2:continue 终止当次循环,返回并开始下一次循环
下面的 for 循环语句执行了全部 10 次循环,但其循环体中 printf() 语句只执行了 5 次,因为,当 i 的值为奇数时,continue 语句使得其后的 printf() 语句没有被执行。
for(i=1;i<=10;i++) { if(i%2==1) continue; //当 i 为奇数时不执行下面的printf(),而继续下一次循环 printf("%d是偶数\n",i); }
知识点总结
- 用 break 可以提前终止 for、while 和 do-while 循环。
- 用 continue 可以强迫循环进入新的循环周期。
- break 和 continue 前通常有 if 语句进行某种关系测试。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。