BESTE WEBSITE FÜR WEBENTWICKLER
C Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C Boolesche Werte


Boolesche Werte

Sehr oft benötigen Sie beim Programmieren einen Datentyp, der nur einen von zwei Werten haben kann, z:

  • YES / NO
  • ON / OFF
  • TRUE / FALSE

Zu diesem Zweck verfügt C über einen Datentyp bool, der als booleans bekannt ist.

Boolesche Werte stellen Werte dar, die entweder sind true oder false.


Boolesche Variablen

In C ist der Typ bool kein integrierter Datentyp int oder char.

Es wurde in C99 eingeführt und Sie müssen die folgende Header-Datei importieren, um es verwenden zu können:

#include <stdbool.h>

Eine boolesche Variable wird mit dem Schlüsselwort bool deklariert und kann nur die Werte annehmen true oder false:

bool isProgrammingFun = true;
bool isFishTasty = false;

Bevor Sie versuchen, die booleschen Variablen zu drucken, sollten Sie wissen, dass boolesche Werte als Ganzzahlen zurückgegeben werden:

  • 1 (oder jede andere Zahl, die nicht 0 ist) darstellt true
  • 0 repräsentiert false

Daher müssen Sie den Formatbezeichner %d verwenden, um einen booleschen Wert zu drucken:

Beispiel

// Erstellen Sie boolesche Variablen
bool isProgrammingFun = true;
bool isFishTasty = false;

// Gibt boolesche Werte zurück
printf("%d", isProgrammingFun);   // Gibt 1 zurück (true)
printf("%d", isFishTasty);        // Gibt 0 zurück (false)
Try it Yourself »

Es ist jedoch üblicher, einen booleschen Wert durch Vergleichen von Werten und Variablen zurückzugeben.


Werte und Variablen vergleichen

Der Vergleich von Werten ist beim Programmieren nützlich, da er uns hilft, Antworten zu finden und Entscheidungen zu treffen.

Sie können beispielsweise einen Vergleichsoperator verwenden, etwa größer als (>)-Operator, um zwei Werte zu vergleichen:

Beispiel

printf("%d", 10 > 9);  // Gibt 1 (wahr) zurück, da 10 größer als 9 ist
Try it Yourself »

Aus dem obigen Beispiel können Sie ersehen, dass der Rückgabewert ein boolescher Wert ist (1).

Sie können auch zwei Variablen vergleichen:

Beispiel

int x = 10;
int y = 9;
printf("%d", x > y);
Try it Yourself »

Im folgenden Beispiel verwenden wir den Operator gleich (==), um verschiedene Werte zu vergleichen:

Beispiel

printf("%d", 10 == 10); // Gibt 1 (true) zurück, da 10 gleich 10 ist
printf("%d", 10 == 15); // Gibt 0 (false) zurück, da 10 nicht gleich 15 ist
printf("%d", 5 == 55);  // Gibt 0 (false) zurück, da 5 nicht gleich 55 ist
Try it Yourself »

Sie sind nicht darauf beschränkt, nur Zahlen zu vergleichen. Sie können auch boolesche Variablen oder sogar spezielle Strukturen wie Arrays vergleichen (über die Sie in einem späteren Kapitel mehr erfahren werden):

Beispiel

bool isHamburgerTasty = true;
bool isPizzaTasty = true;

// Finden Sie heraus, ob sowohl Hamburger als auch Pizza lecker sind
printf("%d", isHamburgerTasty == isPizzaTasty);
Try it Yourself »

Denken Sie daran, die Header-Datei <stdbool.h> einzuschließen, wenn Sie mit bool-Variablen arbeiten.


Beispiel aus dem wirklichen Leben

Stellen wir uns ein Beispiel aus dem „realen Leben“ vor, bei dem wir herausfinden müssen, ob eine Person alt genug ist, um zu wählen.

Im folgenden Beispiel verwenden wir den Vergleichsoperator >=, um herauszufinden, ob das Alter (25) ist größer ODER gleich der Wahlaltersgrenze, die auf festgelegt ist 18:

Beispiel

int myAge = 25;
int votingAge = 18;

printf("%d", myAge >= votingAge); // Gibt 1 (wahr) zurück, was bedeutet, dass 25-Jährige wählen dürfen!
Try it Yourself »

Cool, oder? Ein noch besserer Ansatz (da wir gerade in Fahrt sind) wäre, den obigen Code in eine if...else-Anweisung zu packen, damit wir verschiedene Aktionen ausführen können abhängig vom Ergebnis:

Beispiel

Ausgabe „Alt genug zum Wählen!“ wenn myAge größer oder gleich 18 ist. Andernfalls wird „Nicht alt genug zum Wählen“ ausgegeben:

int myAge = 25;
int votingAge = 18;

if (myAge >= votingAge) {
  printf("Alt genug, um zu wählen!");
} else {
  printf("Nicht alt genug, um zu wählen.");
}
Try it Yourself »

Boolesche Werte sind die Grundlage für alle Vergleiche und Bedingungen.

Mehr über Bedingungen (if...else) erfahren Sie im nächsten Kapitel.