跳转到内容

编程基础/循环

来自维基教科书,开放的书籍,开放的世界

for 循环是一种用于指定迭代的控制流语句,它允许代码重复执行。for 循环有两个部分:指定迭代的头部,以及每个迭代执行一次的循环体。头部通常声明一个显式的循环计数器或循环变量,它允许循环体知道正在执行哪个迭代。for 循环通常用于在进入循环之前已知迭代次数的情况。for 循环可以被认为是 while 循环的简写,它递增并测试循环变量。[1][1]

循环前测试简介

[编辑 | 编辑源代码]

在迭代(或重复)类控制结构中,有两种常用的循环前测试。他们是:while 和 for。本模块涵盖:for。

理解迭代概述 - for

[编辑 | 编辑源代码]

在许多编程语言中,for 循环专门用于计数;也就是说,在计数增加或减少时重复循环操作。有一个起始值和一个停止值。控制循环的问题是一个测试表达式,它将起始值与停止值进行比较。这个表达式是一个布尔表达式,通常使用小于(向上计数)或大于(向下计数)的关系运算符。术语循环来自使用流程图时出现的循环运动。for 循环的基本形式(向上计数)如下

for
    initialization of the starting value
    starting value is less than the stopping value
    some statements or action
    some statements or action
    some statements or action
    increment the starting value

通过理解像计数循环一样工作的 while 循环,可能最好地理解 for 循环。让我们考虑;

initialization of the starting value 
while the starting value is less than the stopping value
    some statements or action
    some statements or action
    some statements or action
    increment the starting value

在 for 控制结构中,一个正常工作的循环有四个属性。他们是

  • 初始化标志 - 完成一次
  • 测试表达式
  • 操作或操作
  • 标志更新

标志的初始化在技术上不是 while 控制结构的一部分,但通常是 for 控制结构的一部分。英文表达是,“对于 x 等于 1;x 小于 3;执行以下操作;递增 x;循环回测试表达式”。这是对真值进行操作。当测试表达式为假时,您将停止循环,并继续执行程序中的下一项。请注意,因为这是一个循环前测试,所以操作可能不会发生。它被称为循环前测试,因为测试是在操作之前进行的。它有时也被称为预测试循环,这意味着测试是在操作和更新之前(或拉丁语中的 before)进行的。

一个例子

[编辑 | 编辑源代码]
For counter = 0, counter < 5, counter += 1
    Output "I love ice cream!"

循环前测试的四个属性(记住 for 循环是循环前测试的一个例子)都存在。

  • 将标志初始化为 0。
  • 测试是标志变量中的值与常数值 5 的小于关系比较。
  • 操作部分包含 1 行输出。
  • 使用递增运算符更新标志。

使用缩进对齐循环操作是行业标准做法。

无限循环

[编辑 | 编辑源代码]

在这一点上,值得一提的是,良好的编程总是提供一种方法来确保循环问题最终会变成假,以便循环停止执行,程序继续执行下一行代码。但是,如果这种情况没有发生,那么程序就处于无限循环中,并且不会停止,直到程序被外部终止或计算机重新启动。考虑以下代码

For counter = 0, counter < 5
    Output "I love ice cream!"

程序员在初始化步骤中为标志分配了一个值,这是正确的。但是,他们忘记更新标志(更新步骤丢失了)。每次询问测试表达式时,它始终为真。因此,这是一个无限循环,因为程序员没有提供退出循环的方法(他忘记更新标志)。

关键术语

[编辑 | 编辑源代码]
for 循环
一个循环前迭代控制结构,通常用于计数。
无限循环
一个永远运行的循环,因为没有给出停止值。

参考文献

[编辑 | 编辑源代码]
华夏公益教科书