制御構造(せいぎょこうぞう)は、コンピュータ・プログラミング言語、特に手続き型プログラミング[1]や命令型プログラミング[2]において、ループや飛び越しなどといった、手続き(プロシージャ)中の実行順を順次実行から変化させたり、サブルーチン呼出しやその戻り、などといった制御を行う「文 」などの構造(言語の構成要素)である[3]。 制御構造の種類は言語によって様々だが、典型的には以下のようなものがある(用語「ブロック」については、ブロック の記事を参照)。 無条件に実行箇所を移動する(無条件の分岐命令、ジャンプ) 何らかの条件の成立・不成立に従い、ブロックの実行・不実行を選択する(条件付き分岐命令、選択) ブロックを繰り返し実行する(ループ) ジャンプの一種だが、その続きに戻れるもの(サブルーチン呼出、コルーチン) 継続(特にcall/cc) プログラムの停止(理論的には重要だが(停止性問題を