循环辅助:continue和break

continue语句

示例

while

while循环中,continue 语句重新执行循环测试表达式

do…while

do…while 循环,continue 语句重新执行循环测试表达式

for

对于 for 循环,continue 语句执行后的下一个行为是对更新表达式求值,然后是对循环测试表达式求值。

用法

跳过循环剩余部分

while (scanf("%f", &score) == 1)
{
if (score < MIN || score > MAX)
{
printf("%0.1f is an invalid value.Try again: ",score);
continue; // 跳转至while循环的测试条件
}
printf("Accepting %0.1f:\n", score);
}

  在本例中,continue 语句让程序跳过后面的循环。程序开始下一轮循环,准备读取下一个输入值。这种情况下,使用continue的好处是减少主语句组中的一级缩进。当语句很长或嵌套较多时,紧凑简洁的格式提高了代码的可读性。

  有两种方法可以避免使用continue,一是省略continue,把剩余部分放在一个else块中。如:

if (score < 0 || score > 100)
/* printf()语句 */
else
{
/* 语句*/
}

  另一种是改变if条件为if (score >= 0 && score <= 100)。

用作占位符

while (getchar() != '\n')
;

一般情况下单独一个分号可能不会被注意,如果使用continue可读性更高。

while (getchar() != '\n')
continue;

注意

  • 在do…while中是跳到while执行条件判断,而不是跳到do执行循环。
  • 如果continue语句在嵌套循环内,则只会影响包含该语句的内层循环。
  • 如果用了continue没有简化代码反而让代码更复杂,就不要使用continue。
  • continue只能用于循环中,而不能直接用于switch语句,若switch语句在循环中,continue可以使用,continue让程序跳出循环的剩余部分,包括switch语句的其他部分。

break语句

示例

用法

  • break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  • 它可用于终止 switch 语句中的一个 case。
while ((ch = getchar()) != '#')
{
switch (ch)
{
case 'a': a_ct++;
break;
case 'e': e_ct++;
break;
default: break;
} // switch结束
} // while循环结束
printf("number of vowels: A E I O U\n");

break让程序离开switch语句,跳至switch语句后面的下一条语句。否则switch将会按匹配的顺序将剩下的switch执行完。

注意

  • 如果break语句位于嵌套循环内,它只会影响包含它的当前循环。也就是说如果你要跳出外层循环,还需要一个break。
int p, q;
scanf("%d", &p);
while (p > 0)
{
printf("%d\n", p);
scanf("%d", &q);
while (q > 0)
{
printf("%d\n", p*q);
if (q > 100)
break; // 跳出内层循环
scanf("%d", &q);
}
if (q > 100)
break; // 跳出外层循环
scanf("%d", &p);
}
("%d\n", p*q);
if (q > 100)
break; // 跳出内层循环
scanf("%d", &q);
}
if (q > 100)
break; // 跳出外层循环
scanf("%d", &p);
}
  • 和continue一样,如果用了break代码反而更复杂,就不要使用break。

循环辅助:continue和break相关推荐

  1. 循环辅助continue、break

    c语言中的循环中常常会遇到break.continue这种循环辅助,今天我来梳理一下这两者作用 1.break:退出当前循环!且break只用于循环 在嵌套循环中,break会让程序跳出包括它的当前的 ...

  2. continue语句只用于循环语句中_循环里continue,break,return的作用,你知道吗?

    循环里continue,break,return的作用,你知道吗?​mp.weixin.qq.com 前言 循环里Continue,Break,Return经常会用到,也是很容易出错的一个坑,今天特地 ...

  3. 如何在jquery each循环使用continue或者break中断循环?

    问题描述 jquery each中不能直接使用continue或break 解决方案 要实现break和continue的功能的话,要使用其它的方式 break--用return false; con ...

  4. Shell脚本循环语句及exit、continue和break用法

    目录 一.for循环语句 二.while循环语句结构 三.until 循环语句结构 四.exit.continue和break 一.for循环语句 用法: 读取不同的变量值,用来逐个执行同一组命令 f ...

  5. python跳出循环关键字_Python跳出for循环continue与break的区别

    在for和while循环语句中,当循环条件满足时,就会一直循环,如果想中途退出循环,该怎么办?如果想停止本次循环,而不终止整个循环,该怎么办?如果我想写个不执行任何操作的语句,该怎么写? Python ...

  6. 1.14 循环辅助语句

    break语句 continue语句 return语句 break语句 用于从循环体内跳出循环体,即提前结束一层循环 break只能用在循环语句和switch语句中 [数据函数库 #include & ...

  7. c语言for语句中break作用,C语言 循环辅助语句 break 和 continue

    break 和 continue 是 C 语言中的循环辅助语句 break 语句 跳出当前循环体. 程序在中途跳出循环.执行 break 语句程序会直接跳出循环. 例子:如下代码判断一个数是不是素数. ...

  8. 8.6 循环辅助:continue和break

    C语言学习栏目目录 目录 1 continue语句 2 break语句 源码 一般而言,程序进入循环后,在下一次循环测试之前会执行完循环体中的所有语句.continue 和break语句可以根据循环体 ...

  9. C语言循环辅助:continue和break

    一.continue语句 三种循环都可以使用continue语句. 执行continue语句时,会跳过本次迭代的剩余部分,并开始下一轮迭代器. 如果continue语句在嵌套循环内,则只会影响包含该语 ...

最新文章

  1. 使用Python,OpenCV进行涂鸦(绘制文字、线、圆、矩形、椭圆、多边形轮廓、多边形填充、箭头~)
  2. kubernetes关键特性和概述
  3. 用C++写一个没人用的ECS
  4. Python3 数字运算
  5. python在for循环中不能删除正在循环的列表(问题已解决)
  6. GDI+中常见的几个问题(6)
  7. Mybatis中出现java.sql.SQLException: 无效的列类型: 1111
  8. hibernate 错误 could not determine type for
  9. 鄂尔多斯打造西部云计算基地
  10. C# 滑块长度确认 Scrollbar滑块长度问题 水平垂直滚动条滑块高度宽度问题
  11. 三. SECS/GEM封装库RapidSecs开发手记-SECS/GEM基础知识-1
  12. DVWA 跨站请求伪造(CSRF)
  13. 什么是网点?印刷网点与CMYK色彩,彩色渐变色印刷原理。
  14. 编译器和编辑器的区别
  15. arduino智能浇花系统_智能自浇花系统
  16. C++小数该用什么数据类型
  17. Ayla艾拉物联基于AWS构建IoT艾拉云
  18. 实验管理系统springboot+vue+element ui项目开发
  19. Android检查网络
  20. Windows新建域时本地administrator账户密码不符合要求解决办法

热门文章

  1. 不是所有的努力都会有结果,但是你若不努力,谁能替你坚强??
  2. 存储过程中的异常处理
  3. 【word】和【excel】小技巧总结
  4. 什么是XSL?(XSL概述)
  5. 罗德里格斯公式 理解、推导
  6. Google Play In-app Billing
  7. 如何把PDF中一些页面拆分成每一页单独的文件
  8. The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试
  9. Android 语音遥控器的整体分析-主机端语音解码的添加
  10. 利用DSF深度优先搜索来解容器倒水问题