Normalerweise werden die Anweisungen einer C-Funktion in der Reihenfolge, in der sie im Text erscheinen abgearbeitet. Kontrollstrukturen sind Sprachkonstrukte, die einen anderen Verlauf des Programms beschreiben. Man unterscheidet dabei zwischen Verzweigungen, also Sprüngen zu einer Programmstelle weiter vorne im Text, und Schleifen, also dem (evtl. mehrfach wiederholten) Sprung im Text rückwärts. Alle Kontrollstrukturen richten ihr Verhalten nach einem, von runden Klammern eingeschlossenen, kontrollierendem Ausdruck, dessen Wert bestimmt, welcher Zweig genommen wird, oder ob die Schleife ein weiteres mal durchlaufen wird.