Programmieren in C
Programmsteuerung
Im Kapitel C Grundlagen wurden die
Grundlagen der Programmiersprache C vorgestellt.
Dazu gehörten der Aufbau eines Programms, die Funktion
main(), die Verwendung von Variablen und Datentypen sowie
erste Ein- und Ausgaben.
In diesem Kapitel gehen wir einen entscheidenden Schritt weiter: Wir betrachten die eigentliche
Programmsteuerung.
Ein Programm besteht nicht nur aus einer linearen Abfolge von Anweisungen, sondern muss in der Lage
sein:
-
Abläufe zu wiederholen (z. B. mit Schleifen wie
for,whileoderdo-while) -
Entscheidungen zu treffen (z. B. durch bedingte Anweisungen wie
ifoderswitch)
Diese Kontrollstrukturen sind die zentralen Werkzeuge, um komplexe Probleme in C zu lösen. Sie erlauben es, den Programmfluss gezielt zu steuern, statt Anweisungen starr und einmalig auszuführen.
Das Kapitel vermittelt deshalb:
- die Syntax und Funktionsweise von Schleifen und Bedingungen,
- die Anwendung dieser Strukturen anhand einfacher Programmieraufgaben,
- den Zusammenhang zwischen Kontrollstrukturen und logischem Denken bei der Problemlösung.
Damit wird die Grundlage geschaffen, um Programme nicht nur korrekt, sondern auch dynamisch, flexibel und strukturiert zu entwickeln.
Bedingte Verzweigungen mit if
Programme sollen nicht nur Anweisungen nacheinander abarbeiten, sondern auch Entscheidungen treffen
können.
In C geschieht das mit der if-Anweisung.
Sie prüft eine Bedingung (logischer Ausdruck) und entscheidet, ob ein Anweisungsblock ausgeführt wird
oder nicht.
Syntax:
if(Bedingung) {
// Anweisungen
}
Bedingung: ein logischer Ausdruck (liefert 0 = falsch oder ≠0 = wahr).
|
| Anweisungen: Die Anweisungen werden ausgeführt, wenn die Bedingung wahr ist. |
Beispiel für eine einfache if Bedingung:
#include <stdio.h> int main() { int zahl = 10; if (zahl > 5) { printf("Die Zahl ist größer als 5.\n"); } return 0; }
Bedingte Verzweigungen mit if else
Mit else kann ein alternativer Anweisungsblock ausgeführt werden, falls die Bedingung nicht erfüllt ist.
Syntax:
if(Bedingung) {
// Anweisungen true
}
else {
// Anweisungen false
}
Bedingung: ein logischer Ausdruck (liefert 0 = falsch oder ≠0 = wahr).
|
| Anweisungen true: Die Anweisungen werden ausgeführt, wenn die Bedingung wahr ist. |
| Anweisungen false: Die Anweisungen werden ausgeführt, wenn die Bedingung falsch ist. |
Beispiel für if else:
int alter = 16; if (alter >= 18) { printf("Volljährig.\n"); } else { printf("Noch nicht volljährig.\n"); }
Mehrfache Verzweigungen mit else if
Mit else if lassen sich mehrere Alternativen prüfen.
Beispiel für Mehrfachverzweigungen:
int note = 2; if (note == 1) { printf("Sehr gut\n"); } else if (note == 2) { printf("Gut\n"); } else if (note == 3) { printf("Befriedigend\n"); } else { printf("Ausreichend oder schlechter\n"); }
Verschachtelte if-Anweisungen
if-Anweisungen können innerhalb anderer if- oder else-Blöcke stehen → verschachtelte Verzweigungen.
Beispiel für verschachtelte Verzweigungen:
int zahl = 12; if (zahl > 0) { if (zahl % 2 == 0) { printf("Positive gerade Zahl\n"); } else { printf("Positive ungerade Zahl\n"); } } else { printf("Zahl ist nicht positiv\n"); }
Bedingungen logisch kombinieren
Mit logischen Operatoren können mehrere Bedingungen logisch verknüpft werden:
-
&&(UND) → beide Bedingungen müssen wahr sein -
||(ODER) → mindestens eine Bedingung muss wahr sein -
!(NICHT) → kehrt den Wahrheitswert um
Beispiel für logische Verknüpfung von Bedingungen:
int alter = 20; char ausweis = 'J'; if (alter >= 18 && ausweis == 'J') { printf("Zutritt erlaubt.\n"); } else { printf("Kein Zutritt.\n"); }