ESP

Kontrollfluss

Bedingungen, Verzweigungen, Schleifen, sichere Eingabeprüfung und typische Kontrollstrukturen in C.

Kontrollfluss

Kontrollfluss bedeutet: Das Programm entscheidet, welche Anweisungen ausgeführt werden und wie oft sie ausgeführt werden.

Ohne Kontrollfluss würde ein Programm nur starr von oben nach unten laufen.

Bedingungen mit if

Die wichtigste Verzweigung ist if.

if (alter >= 18) {
    printf("Volljährig\n");
}

Die Anweisung im Block wird nur ausgeführt, wenn die Bedingung wahr ist.

if, else und else if

Mit else wird der Alternativfall beschrieben.

if (punkte >= 90) {
    printf("Sehr gut\n");
} else if (punkte >= 75) {
    printf("Gut\n");
} else {
    printf("Weiter üben\n");
}

Wichtig ist, Bedingungen in einer sinnvollen Reihenfolge zu prüfen.

switch

switch eignet sich, wenn ein Wert gegen mehrere feste Fälle geprüft wird.

switch (auswahl) {
case 1:
    printf("Start\n");
    break;
case 2:
    printf("Status\n");
    break;
default:
    printf("Ungültige Auswahl\n");
    break;
}

Das break verhindert, dass das Programm ungewollt in den nächsten Fall weiterläuft.

Schleifen

Schleifen wiederholen Anweisungen.

Typische Schleifenarten:

SchleifeVerwendung
forwenn die Anzahl der Wiederholungen bekannt ist
whilesolange eine Bedingung gilt
do whilemindestens einmal ausführen, dann prüfen

Beispiel:

for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}

Eingaben prüfen

Bei Benutzereingaben ist wichtig, ob das Einlesen überhaupt erfolgreich war.

int zahl;

if (scanf_s("%d", &zahl) != 1) {
    printf("Ungültige Eingabe\n");
}

Eine sichere Eingabeprüfung verhindert, dass Programme mit ungültigen oder unvollständigen Werten weiterarbeiten.

Endlosschleifen bewusst einsetzen

Manche Programme laufen absichtlich in einer Schleife, zum Beispiel ein Menü.

while (1) {
    showMenu();
}

Dabei sollte es immer eine klare Möglichkeit geben, das Programm zu beenden oder einen Zustand sauber zu verlassen.

Typische Fehler

Häufige Probleme beim Kontrollfluss:

  • fehlendes break in switch
  • Endlosschleife ohne Abbruchbedingung
  • nicht geprüfte Eingaben
  • Bedingungen in falscher Reihenfolge
  • Verwechslung von = und ==
  • unklare verschachtelte Blöcke

Merksatz

Kontrollfluss ist die Logikspur eines Programms. Wenn diese Spur unklar ist, werden Fehler schwer sichtbar.

Zuletzt aktualisiert: 6. Juni 2026