break与continue详解

break与continue详解在循环执行的过程中 如果发生某些状况的时候 需要提前终止循环 这是非常常见的现象

大家好,欢迎来到IT知识分享网。

前言:break和continue的作用

        在循环执行的过程中,如果发生某些状况的时候,需要提前终止循环,这是非常常见的现象。C语言提供了breakcontinue两个关键字,就是应用到循环中的。

  • break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环(一层),继续往后执行。(goto语句可跳出多层循环break与continue详解)
  • continue的作用是跳过本次循环continue后面的代码。

总:break和continue在for循环,while循环和dowhile循环中的区别

  1. break       break在所有循环中作用几乎都一样,都用于永久终止循环,但只跳出break外的第一层循环 。
  2. continue    continue在while循环和do while循环中的作用几乎一样,循环调整的位置不同,会产生不同的效果,有可能造成死循环;在for循环中,由于循环调整的位置固定,continue的效果是一样的。

下面进行一一举例说明:

一.while循环中的break和continue

1.break举例

#include<stdio.h> int main() { int i = 1; while (i <= 10) { if (i == 5) break;//当i=5后,就执行break,循环就终止了 printf("%d ", i); i = i + 1; } return 0; }

运行结果: 

break与continue详解

打印了1 2 3 4后,当i等于5时,循环在break的地方终于,不在打印,不再循环。

所以break的作用就是永久终止循环,只有break被执行,break外的第一层循环就终止了。 

2.continue举例

        continue是继续的意思,在循环中的作用就是跳过本次循环continue后面的代码,继续进行下一次循环的判断。

上面的代码,如果把break换成continue会是什么结果呢?

#include<stdio.h> int main() { int i = 1; while (i <= 10) { if (i == 5) continue; //当i=5后,就执行continue,直接跳过continued代码,去循环的判断的地方 //因为这里跳过了i=i+;所以i一直等于5,程序陷入死循环 printf("%d ", i); i++; } return 0; }

运行结果:程序陷入死循环 

break与continue详解

        但不是while循环中的所有continue都会造成死循环。接下来,我们调换一下i++(循环的调整)的位置,就会得到不同的效果:

#include<stdio.h> int main() { int i = 1; while (i <= 10) { i++;//i进入循环后加1,等于2,跳过1,打印2 if (i == 5) continue;//当i等于5时,跳过后面的代码,进入判断条件,后加1,i=6 printf("%d ", i);//当打印10后,进入判断语句,为真,继续循环,打印11 } return 0; }

运行结果:

break与continue详解

        到这里我们就能分析出来,continue可以帮助我们跳过某一次continue后边的代码,直接到循环的判断部分,进行下一次循环的判断,如果循环的调整是在continue后边的话,可能会造成死循环。 

(循环详解:后期会出)

二.for循环中break和continue

1.break举例

        和while循环中的break一样,for循环中的break也用于彻底终止循环。

#include<stdio.h> int main() { int i = 1; for (i = 1; i <= 10; i++) { if (i == 5) break; printf("%d ", i); } return 0; }

运行结果: 

break与continue详解

2.continue举例

        同样,把上述代码中的break替换成continue

#include<stdio.h> int main() { int i = 1; for (i = 1; i <= 10; i++) { if (i == 5) continue;//这里continue跳过后边的打印,来到i++的调整部分 printf("%d ", i); } return 0; }

运行结果: 

break与continue详解

这就相当于while循环continue的第二个例子

练习: 程序的输出结果是?

#include <stdio.h> int main() { int a = 0, b = 0; for (a = 1, b = 1; a <= 100; a++) { if (b >= 20) break; if (b % 3 == 1) { b = b + 3; continue; } b = b-5; } printf("%d\n", a); return 0; } 

 答案:8

三.do while语句中的break和continue

        do while语句中的break和continue的作用和while循环中的几乎一模一样。

1.break举例

#include<stdio.h> int main() { int i = 1; do { if (i == 5) break; printf("%d ", i); i = i + 1; } while (i <= 10); return 0; }

 运行结果:

break与continue详解

2.continue举例 

#include<stdio.h> int main() { int i = 1; do { if (i == 5) continue; printf("%d ", i); i = i + 1; } while (i <= 10); return 0; }

 运行结果:(死循环)

break与continue详解

                欢迎斧正!!! 

期待break与continue详解break与continue详解

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128230.html

(0)
上一篇 2025-09-02 13:26
下一篇 2025-09-02 13:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信