capypad
0 Tage Serie
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
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 true
bool canDrive = hasLicense && !isDrunk;
std::cout << "Can drive: " << (canDrive ? "Yes" : "No") << std::endl;
 
// Logical OR - at least one must be true
bool canEnter = (age >= 18) || (hasLicense);
std::cout << "Can enter: " << (canEnter ? "Yes" : "No") << std::endl;
 
// Logical NOT - inverts the boolean value
std::cout << "Is drunk: " << (!isDrunk ? "No" : "Yes") << std::endl;
 
// Combining operators with different precedence
bool 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