
Jetzt lernen wir, wie C Vergleiche anstellt: Ist x größer als y? Sind zwei Werte gleich? Mit diesen Operatoren baust du später alle Entscheidungen und Bedingungen. Das ist das Herzstück der Logik! 🧠
⚖️ Vergleichsoperatoren
Vergleichsoperatoren prüfen eine Bedingung und liefern 1 (wahr) oder 0 (falsch) zurück – in C gibt es keinen eigenen „bool"-Typ (erst ab C99 optional):
| Operator | Bedeutung | Beispiel | Ergebnis |
|---|---|---|---|
| == | Gleich | 5 == 5 | 1 (wahr) |
| != | Ungleich | 5 != 3 | 1 (wahr) |
| < | Kleiner als | 3 < 5 | 1 (wahr) |
| > | Größer als | 5 > 9 | 0 (falsch) |
| <= | Kleiner oder gleich | 5 <= 5 | 1 (wahr) |
| >= | Größer oder gleich | 3 >= 7 | 0 (falsch) |
⚠️ == vs. = – der häufigste Fehler in C!
= ist die Zuweisung: x = 5; → speichert 5 in x.
== ist der Vergleich: x == 5 → prüft ob x gleich 5 ist.
Schreibst du if (x = 5) statt if (x == 5), ist das ein schwer zu findender Bug!
🔗 Logische Operatoren
Mit logischen Operatoren kannst du mehrere Bedingungen verknüpfen:
&& – UND (AND)
Wahr, wenn beide Bedingungen wahr sind.
alter >= 18 && alter <= 65
→ Wahr wenn Alter zwischen 18 und 65
|| – ODER (OR)
Wahr, wenn mindestens eine Bedingung wahr ist.
note == 1 || note == 2
→ Wahr wenn Note 1 oder 2
! – NICHT (NOT)
Dreht den Wahrheitswert um: !0 = 1 (wahr), !1 = 0 (falsch).
!(alter < 18) ist dasselbe wie alter >= 18
📋 Wahrheitstabellen
A && B (UND)
| A | B | A && B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
A || B (ODER)
| A | B | A || B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
💻 Beispiel
#include <stdio.h> int main() { int x = 7, y = 12; printf("x == y: %d ", x == y); // 0 printf("x != y: %d ", x != y); // 1 printf("x < y: %d ", x < y); // 1 printf("x>5&&y<20: %d ", x>5 && y<20); // 1 return 0; }
x != y: 1
x < y: 1
x>5&&y<20: 1
✏️ Übungen
Wahrheitswerte bestimmen
Gegeben: int a = 4, b = 8, c = 4; – Welchen Wert (0 oder 1) haben diese Ausdrücke?
a == c→ _______a != b→ _______b > a && b > c→ _______a == 4 || b == 4→ _______!(a < b)→ _______
Bedingungen formulieren
Schreibe die C-Bedingung für folgende Aussagen (Variable: alter):
„Alter liegt zwischen 16 und 18 (einschließlich):"
„Alter ist nicht 17:"
„Alter ist unter 6 oder über 65:"
alter >= 16 && alter <= 18Wahrheitstafel ausgeben
Schreibe ein Programm, das zwei int-Variablen a und b einliest und alle Vergleiche ausgibt (==, !=, <, >, <=, >=).
5 und 5 → alles 0 außer == und <= und >=. Dann 3 und 7 – was ändert sich?Logische Operatoren live testen
Fülle die Bedingungen aus und führe den Code aus. Ändere die Werte von x und y und beobachte, wie sich AND (&&), OR (||) und NOT (!) verhalten: