段在程式中只出现一次，但可能会连续执行多次的程式码。常见的回圈可以分为二种，指定执行次数的回圈（如C语言的for回圈）以及指定继续执行条件（或停止条件）的回圈（如C语言的while回圈）。在一些函数程式语言（例如Haskell和Scheme）中会使用递归或不动点组合子来达到回圈的效果，其中尾部递归是一种特别的递归，很容易转换为迭代。
结构化的非区部控制流程.有些程式语言会提供非区部的控制流程（non-local control flow），会允许流程跳出目前的程式码，进入一段事