各関数の呼出しは、C で用意されている命令文を用いて記述します。基本的には 必要な関数を順番に並べていけばよいのですが、時には条件によって先の方へジャ ンプしたり、ある条件が満たされているうちは元の方へ戻って何度も同じこ とを実行させたりしたい場合があります。こうした場合、かつての言語では、あ る条件が満たされると所定の場所へジャンプするif-goto 文とよばれる 命令を使いましたが、if-goto 文が多くなってくると、プログラムの流れが見 にくくつかみづらくなり、大きなプログラムの開発、特に修正や保守をする際の 大問題となるようになってきました。流れが余りにもこんがらがってくるため、 「スパゲッティプログラム」という言葉が使われたほどです。
C はこうした混乱を避けるために、あらかじめ条件によって異なった処理を行 わせるためのif-then-else 文、同じ処理を繰り返し実行するための while 文、 do-while 文、for 文などを用意しました。こうした文を利用すると、プログラ ムのある領域は条件が満たされた場合に実行される部分、別の領域は満たされな かったときに実行される部分、あるいは、ある領域が繰り返し実行される部分で あると、一目で見えるようになります。
こうした文を用いた書き方を、構造化プログラミング とよび、記述が容易で理解しやすいプロ グラミングをすることが可能になります。構造化プログラミングの概念は C 以 外にも PASCAL でも、開発当初から採り入れられてきましたが、現在では、かつ て構造化されていなかった FORTRAN、COBOL、BASIC などの言語にも採り入れら れ、ほぼすべての手続き型言語が構造化されています。こうした先進的な工夫 が C を普及させた大きな原動力といえましょう。