程序中对一组指令（或一定步骤）的重复。它既可以被用作通用的术语（与“重复”同义），也可以用来描述一种特定形式的具有可变状态的重复。在第一种意义下，递归是"迭代"的一个例子，但是通常使用一种"递归式的表达"。比如用0!=1，n!=n*(n-1)!来表示阶乘。而"迭代"通常不是这样写的。而在第二种（更严格的）意义下，迭代描述了在指令式编程语言中使用的编程风格。与之形成对比的是递归，它更偏向于声明式的风格。这里是一个依赖于破坏性赋值的迭代的例子，以指令式的虚拟码写成：在这个程序片段中，变量i的值会