经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言中break与continue的用法和区别详解
来源:jb51  时间:2021/10/8 17:42:44  对本文有异议

前言

本文将通过简单的实例来详细分析在C语言中break语句和continue语句的用法和区别,欢迎大家批评指正。(部分内容稍有重复,大家可自行选择跳转目录)

一、循环体中两者的作用

1.while循环

我们先看一个循环示例:此程序在屏幕上打印出数字1—10

  1. int main()
  2. {
  3. int i = 1;
  4. while (i <= 10)
  5. {
  6. printf("%d ", i);
  7. i++;
  8. }
  9. return 0;
  10. }
  11.  

运行结果:

(1)break语句 我们在刚才的代码添加两行代码并使用break语句,使其变成以下程序:

  1. int main()
  2. {
  3. int i = 1;
  4. while (i <= 10)
  5. {
  6. if (i == 5)
  7. break;
  8. printf("%d ", i);
  9. i++;
  10. }
  11. return 0;
  12. }

此程序运行的结果如下图:


对此程序的运行结果进行分析:

总结: while 循环中的break是用于永久终止循环

(2)continue语句

还是刚才的代码,我们将其中的break 语句替换为continue语句

  1. int main()
  2. {
  3. int i = 1;
  4. while (i <= 10)
  5. {
  6. if (i == 5)
  7. //break;
  8. continue;
  9. printf("%d ", i);
  10. i++;
  11. }
  12. return 0;
  13. }
  14.  

运行该程序,得到结果:


我们可以看出,该程序并未执行结束,以下是对该程序的分析:


总结:continue 语句在while 循环中的作用是终止本次循环,即continue后面的代码不会执行,程序会跳转至while语句的判断部分,由于此时 i 等于5并且永远满足判断条件小于等于10,因此该循环将进入死循环,一直进行下去。

该示列对continue语句的用法不太直观,因此我们进行修改,将上述代码中的i++ 语句放置while循环里的最前面,并对i 的初值以及循环条件做以修改,以保证改进后的代码依旧可在屏幕上打印数字1—10

以下是改进后代码:

  1. int main()
  2. {
  3. int i = 0;
  4. while (i < 10)
  5. {
  6. i++;
  7. if (i == 5)
  8. //break;
  9. continue;
  10. printf("%d ", i);
  11. }
  12. return 0;
  13. }
  14.  

以下是运行结果:


然后我们在代码中加入continue 语句:

  1. int main()
  2. {
  3. int i = 0;
  4. while (i <10)
  5. {
  6. i++;
  7. if (i == 5)
  8. continue;
  9. printf("%d ", i);
  10. }
  11. return 0;
  12. }

以下是运行结果:

2.for循环

还是刚才的示例,在屏幕上打印数字1—10,我们用for循环实现

  1. int main()
  2. {
  3.  
  4. int i = 0;
  5. for (i = 1; i <= 10; i++)
  6. {
  7. printf("%d ", i);
  8. }
  9.  
  10. return 0;
  11. }
  12.  

程序运行结果:

(1)break语句

代码:

  1. int main()
  2. {
  3.  
  4. int i = 0;
  5. for (i = 1; i <= 10; i++)
  6. {
  7. if (i == 5)
  8. {
  9. break;
  10. }
  11. printf("%d ", i);
  12. }
  13.  
  14. return 0;
  15. }

结果分析:

总结: for循环中的break同while语句一样,是用于永久终止循环。

(2)continue语句

代码:

  1. int main()
  2. {
  3. int i = 0;
  4. for (i = 1; i <= 10; i++)
  5. {
  6. if (i == 5)
  7. {
  8. //break;
  9. continue;
  10. }
  11. printf("%d ", i);
  12. }
  13. return 0;
  14. }

结果分析:

总结: for循环中的continue同while语句一样,是用于跳出本次循环,进行下一次循环。

3.do while循环

示例:输出1—10

  1. int main()
  2. {
  3. int i = 0;
  4. do
  5. {
  6. i++;
  7. printf("%d ", i);
  8. } while (i < 10);
  9. return 0;
  10. }

结果:

(1)break语句

示例:

  1. int main()
  2. {
  3. int i = 0;
  4. do
  5. {
  6. i++;
  7. if (i == 5)
  8. {
  9. break;
  10. //continue;
  11. }
  12. printf("%d ", i);
  13. } while (i < 10);
  14. return 0;
  15. }

结果:

(2)continue语句

示例:

  1. int main()
  2. {
  3. int i = 0;
  4. do
  5. {
  6. i++;
  7. if (i == 5)
  8. {
  9. //break;
  10. continue;
  11. }
  12. printf("%d ", i);
  13. } while (i < 10);
  14. return 0;
  15. }

结果:

二、switch语句

continue语句只用于循环语句中,不能用于switch语句

而break语句可用于switch语句中。当其使用时可使程序跳出switch而执行switch以后的语句。如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。
示例:输入数字1—7,其中1—5输出weekday,6、7输出weekend.

  1. int main()
  2. {
  3.  
  4. int day=0;
  5. scanf("%d", &day);
  6. switch (day)
  7. {
  8. case 1:
  9. case 2:
  10. case 3:
  11. case 4:
  12. case 5:
  13. printf("weekday\n");
  14. break;
  15. case 6:
  16. case 7:
  17. printf("weekend\n");
  18. break;
  19. }
  20. return 0;
  21. }

结果:

总结

本文对C语言中break和continue语句详细做了分析,由于三种循环(while、for、do while)在使用上有些差异,因此在实际应用中要具体判断,同时也感谢大家的观看,以上是本文的全部内容。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号