Kontrollfluss
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:
| Schleife | Verwendung |
|---|---|
for | wenn die Anzahl der Wiederholungen bekannt ist |
while | solange eine Bedingung gilt |
do while | mindestens 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
breakinswitch - 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