Operatoren und Ausdrücke in C++

In dieser Lektion werden die Operatoren in C++ behandelt. Ziel ist, arithmetische, logische und Zuweisungs-Operatoren korrekt zu verwenden und Ausdruckswerte zu verstehen.

1. Arithmetische Operatoren

Arithmetische Operatoren dienen zur Berechnung von Zahlenwerten.
int a = 10;
int b = 3;

int sum = a + b;
int diff = a - b;
int prod = a * b;
int quot = a / b;    // ganzzahlige Division
int rem = a % b;     // Rest

std::cout << "sum = " << sum << ", rem = " << rem << std::endl;

2. Zuweisungsoperatoren

Zuweisungsoperatoren speichern Werte in Variablen. Neben = gibt es Kurzformen:
int x = 5;
x += 3; // x = x + 3
x *= 2; // x = x * 2
std::cout << "x = " << x << std::endl;

3. Inkrement und Dekrement

++ erhöht, -- verringert um 1. Es gibt Präfix- und Postfix-Formen:
int i = 5;
std::cout << ++i << std::endl; // Präfix: zuerst erhöhen, dann ausgeben
std::cout << i++ << std::endl; // Postfix: zuerst ausgeben, dann erhöhen
std::cout << i << std::endl;   // aktueller Wert

4. Vergleichsoperatoren

Vergleichsoperatoren liefern true oder false.
int a = 5, b = 7;
bool result = (a < b);
std::cout << "a < b? " << result << std::endl;

5. Logische Operatoren

Logische Operatoren verbinden boolesche Ausdrücke.
bool a = true;
bool b = false;

std::cout << (a && b) << std::endl; // false
std::cout << (a || b) << std::endl; // true
std::cout << (!a) << std::endl;     // false

6. Bitweise Operatoren

Operatoren, die auf einzelnen Bits wirken.
unsigned char x = 5;   // 00000101
unsigned char y = 3;       // 00000011
std::cout << (x & y) << std::endl; // 1 (00000001)
std::cout << (x | y) << std::endl; // 7 (00000111)

7. Ausdrücke

Ein Ausdruck ist jede Kombination von Operatoren, Operanden und Funktionsaufrufen, die zu einem Wert ausgewertet wird.
int a = 5, b = 2, c = 3;
int result = a + b * c; // Multiplikation vor Addition
std::cout << "Ergebnis: " << result << std::endl;

8. Reihenfolge der Auswertung

Operatorpräzedenz regelt, welcher Operator zuerst ausgeführt wird. Klammern () können zur Steuerung der Reihenfolge verwendet werden.
int x = 2 + 3 * 4;   // 14
int y = (2 + 3) * 4;   // 20

9. Zusammenfassung