Kontrollstrukturen

In dieser Lektion werden die Kontrollstrukturen in C behandelt: bedingte Anweisungen, Schleifen und Sprunganweisungen. Ziel ist es, den Programmfluss präzise zu steuern.

1. Bedingte Anweisungen: if / else

Die if-Anweisung erlaubt das Ausführen von Code nur, wenn eine Bedingung erfüllt ist.
int a = 5;
if(a > 0) {
    printf("a ist positiv\n");
} else {
    printf("a ist null oder negativ\n");
}

2. Switch-Anweisung

Mit switch kann eine Variable gegen mehrere Werte geprüft werden.
int tag = 3;
switch(tag) {
    case 1:
        printf("Montag\n"); break;
    case 2:
        printf("Dienstag\n"); break;
    case 3:
        printf("Mittwoch\n"); break;
    default:
        printf("Ungültiger Tag\n");
}
break beendet den aktuellen case, sonst fallen die Anweisungen durch (fall-through).

3. Schleifen: while

Die while-Schleife wiederholt einen Block, solange die Bedingung wahr ist.
int i = 0;
while(i < 5) {
    printf("%d\n", i);
    i++;
}

4. Schleifen: do / while

do / while führt den Block mindestens einmal aus und prüft die Bedingung danach.
int i = 0;
do {
    printf("%d\n", i);
    i++;
} while(i < 5);

5. Schleifen: for

for ist geeignet, wenn Anzahl der Durchläufe bekannt ist.
for(int i = 0; i < 5; i++) {
    printf("%d\n", i);
}

6. Verschachtelte Schleifen

Schleifen können ineinander geschachtelt werden, z.B. für Matrizen oder kombinatorische Probleme.
for(int i = 1; i <= 3; i++) {
    for(int j = 1; j <= 3; j++) {
        printf("%d,%d\n", i, j);
    }
}

7. Sprunganweisungen: break / continue

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

8. Gültigkeitsbereich und Lebensdauer

Lokale Variablen in Schleifen oder if-Blöcken existieren nur innerhalb des Blocks.
if(1) {
    int x = 10;
    printf("%d\n", x);
}
// x ist hier nicht definiert

9. Zusammenfassung