cpp / beginner
Snippet
Boolesche Logik mit logischen Operatoren
Logische Operatoren ermöglichen es Ihnen, mehrere boolesche Bedingungen zu kombinieren. && (UND) gibt nur dann true zurück, wenn ALLE Bedingungen wahr sind. || (ODER) gibt true zurück, wenn IRGENDEINE Bedingung wahr ist. ! (NICHT) kehrt einen booleschen Wert um. Diese Operatoren folgen Vorrangregeln, wobei ! zuerst ausgewertet wird, dann &&, dann ||.
snippet.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>int main() {int age = 25;bool hasLicense = true;bool isDrunk = false;// Logical AND - both must be truebool canDrive = hasLicense && !isDrunk;std::cout << "Can drive: " << (canDrive ? "Yes" : "No") << std::endl;// Logical OR - at least one must be truebool canEnter = (age >= 18) || (hasLicense);std::cout << "Can enter: " << (canEnter ? "Yes" : "No") << std::endl;// Logical NOT - inverts the boolean valuestd::cout << "Is drunk: " << (!isDrunk ? "No" : "Yes") << std::endl;// Combining operators with different precedencebool result = (age > 18 && hasLicense) || (age < 16);std::cout << "Complex condition: " << (result ? "True" : "False") << std::endl;return 0;}
Erklärung
1
bool canDrive = hasLicense && !isDrunk;
UND prüft beide Bedingungen, NICHT kehrt isDrunk um um zu prüfen ob nüchtern
2
bool canEnter = (age >= 18) || (hasLicense);
ODER gibt true zurück wenn Alter >= 18 ODER Person einen Führerschein hat
3
std::cout << (!isDrunk ? "No" : "Yes")
NICHT-Operator kehrt isDrunk von false zu true in der Ausgabe um
4
bool result = (age > 18 && hasLicense) || (age < 16);
Klammern kontrollieren die Auswertungsreihenfolge - UND-Gruppe wird zuerst geprüft