控制流程 控制流程也稱為流程控制是電腦運算領域的用語意指在程式執行時個別的指令或是陳述子程序執行英语Execution computing或求值的順序不論是在宣告式程式語言或是函數程式語言中都有類似的概念 在宣告式的程式語言中流程控制指令是指會改變程式執行順序的指令可能是執行不同位置的指令或是在二段或多段程式中選擇一個執行 不同的程式語言所提供的流程控制指令也會隨之不同但一般可以分為以下四種 繼續執行位在不同位置的一段指令無條件分支指令 若特定條件成立時執行一段指令例如C語言的switch指令是一種有條件分支指令 執行一段指令若干次直到特定條件成立為止例如C語言的for指令仍然可視為一種有條件分支指令 執行位在不同位置的一段指令但完成後會繼續執行原來要執行的指令包括子程序协程coroutine及续体continuation 停止程式不執行任何指令無條件的終止 中斷以及Unix系統中的信号等較低階的機制也可以造成類似子程序的效果不過通常這類機制會用來回應外部的事件或是輸入程序自修改因為其對程式碼的影響也會影響控制流程但多半不會有明顯的流程控制指令 在机器语言或汇编语言中流程控制是藉由修改程式計數器數值來達到一些中央處理器只支援條件分支branch或是無條件分支有時會稱為jump