if / else ·
switch ·
for ·
while ·
do-while ·
break / continue / goto
Kontrollstrukturen steuern den Programmablauf in C – sie entscheiden, welche Codeblöcke unter welchen Bedingungen ausgeführt werden und wie oft Schleifen durchlaufen werden.
if prüft eine Bedingung und führt den entsprechenden Block aus. else if und else erweitern die Fallunterscheidung. In C wird jede Bedingung in runde Klammern gesetzt.
| Operator | Bedeutung |
|---|---|
| == | Gleich |
| != | Ungleich |
| > | Größer als |
| < | Kleiner als |
| >= | Größer oder gleich |
| <= | Kleiner oder gleich |
| && | Logisches UND |
| || | Logisches ODER |
| ! | Logisches NICHT |
true interpretiert. if (x) ist äquivalent zu if (x != 0).
switch ermöglicht eine mehrfache Fallunterscheidung basierend auf einem ganzzahligen Ausdruck. Jeder case wird mit einem break beendet, sonst "fällt" die Ausführung durch.
break am Ende jedes case-Blocks! Ohne break wird die Ausführung im nächsten case fortgesetzt (sog. "Durchfall").
for ist die zählergesteuerte Schleife in C. Sie besteht aus Initialisierung, Bedingung und Inkrement – perfekt für Iterationen mit bekanntem Zähler.
for-Schleife deklarieren: for (int i = 0; ...). In C89 muss sie vorher deklariert werden.
while führt den Codeblock aus, solange die Bedingung true ist. Die Bedingung wird vor jedem Durchlauf geprüft – bei false wird die Schleife übersprungen.
Ctrl+C können Sie diese abbrechen.
do-while führt den Codeblock mindestens einmal aus, bevor die Bedingung geprüft wird. Ideal für Menüs oder Eingabevalidierungen.
do-while-Schleife wird oft für Menüs oder Eingabevalidierungen verwendet, bei denen der Benutzer mindestens eine Eingabe tätigen soll.
break beendet die aktuelle Schleife oder den switch-Block. continue springt zum nächsten Schleifendurchlauf. goto springt zu einem Label – in C möglich, aber selten verwendet.
goto wird in C oft als schlechter Stil angesehen und sollte nur in Ausnahmefällen (z.B. für Fehlerbehandlung) verwendet werden. Verwenden Sie stattdessen strukturierte Kontrollstrukturen.
if
switch
for
while
do-while
break
if (x > 0) { printf("Positiv"); } ·
for (int i = 0; i < 5; i++) { ... } ·
while (x < 10) { x++; }