一般來說,程式中的敘述式是以他們在程式中的順序一個一個地被執行。 這叫做循序式的執行 ( sequential execution )。 有些 C 敘述式能夠讓程式設計師指定下一個執行的敘述式 ( 非循序式的 )。 這叫做控制權的移轉 ( transfer of control )。

所有的程式均可由三種控制結構寫成,他們是循序結構 ( sequence structure ),選擇結構和重複結構。 其中,循序結構是 C 內建的特性,除非改變程式執行的流程,否則電腦會自動地按照所寫的 C 敘述式的順序,一行一行地執行。

C 語言以敘述式的形式提供了三種選擇結構。 if 選擇敘述式在條件式為真時執行 ( 選擇 ) 某項動作,當條件為偽時則跳過這項動作。 if … else 選擇敘述式在條件式為真時執行 ( 選擇 ) 某項動作,條件為偽時則執行另一項動作。 switch 選擇敘述式會依運算式的不同,選擇執行許多動作中的一項。

if 敘述式也稱為單一選擇敘述式 ( single-selection statement ),因它只選擇或跳過一項動作。 if … else 敘述式也稱為雙重選擇敘述式 ( double-selection statement ),因它會選取兩種不同動作之一。 switch 敘述式稱為多重選擇敘述式 ( multiple-selection statement ),因為它可以在許多不同的動作中選擇。

C 以敘述式的形式提供了三種重複結構,分別是 while ,do … while 和 for 。