知识卡片

循环控制的三要素与前/后测试循环

专业/工作 · 1289.e

内容

一个正确的循环结构必须包含三个协同工作的部分:初始化(建立起点状态)、修改(每次循环推进状态,使其逐步靠近终止条件)、测试(检查是否达到终止条件)。三者中任何一个设计有误都会导致死循环——例如从 1 开始每次加 2、却要等到值等于 6 才停止,永远不会满足条件。循环还分两种:while 结构在循环体执行前测试条件(前测试循环),如果条件一开始就不满足,循环体可能一次都不执行;repeat-until 结构在循环体执行后才测试条件(后测试循环),因此循环体保证至少执行一次。发散:循环控制里最容易出错的从来不是循环体本身要做的事,而是这三个控制部件之间的配合——写代码时先确认”起点在哪、每次怎么往前走、什么时候算到头”这三件事,比先想清楚循环体逻辑更能预防死循环和差一错误(off-by-one)。

参考来源

《计算机科学概论》第5章《算法》