C++ Operatoren erklärt: Typen, Beispiele und Beispielprogramme
Was sind Operatoren?
In C++ ist ein Operator ein Symbol, das eine Operation auf einem oder mehreren Operanden ausführt. Operatoren können arithmetisch, logisch, relational, bitweise oder Zuweisungsoperatoren sein.
Beispiel:
a = x + y;
Hier sind x und y Operanden, + der Additionsoperator. Der Compiler addiert x und y und speichert das Ergebnis in a.
In diesem Tutorial lernen Sie:
- Was Operatoren sind
- Operator‑Typen in C++
- Arithmetische Operatoren
- Relationale Operatoren
- Logische Operatoren
- Bitweise Operatoren
- Zuweisungsoperatoren
- Weitere Operatoren (sizeof, Komma, bedingt, Priorität)
Operator‑Typen in C++
C++ definiert sechs Hauptkategorien:
- Arithmetische Operatoren
- Relationale Operatoren
- Logische Operatoren
- Bitweise Operatoren
- Zuweisungsoperatoren
- Sonstige Operatoren
Arithmetische Operatoren
Diese Operatoren führen mathematische Berechnungen durch.
| Operator | Beschreibung |
|---|---|
| + | Addiert zwei Operanden. |
| - | Subtrahiert den zweiten Operanden vom ersten. |
| * | Multipliziert zwei Operanden. |
| / | Dividiert Zähler durch Nenner. |
| % | Liefert den Rest einer Division. |
| ++ | Inkrementiert eine Ganzzahl um eins. |
| -- | Dekrementiert eine Ganzzahl um eins. |
Beispielprogramm:
#include <iostream>
using namespace std;
int main() {
int a = 11, b = 5, c;
cout << "a + b ist: " << a+b << endl;
cout << "a - b ist: " << a-b << endl;
cout << "a * b ist: " << a*b << endl;
cout << "a / b ist: " << a/b << endl;
cout << "a % b ist: " << a%b << endl;
cout << "a++ ist: " << a++ << endl;
cout << "a-- ist: " << a-- << endl;
return 0;
}
Ausgabe:

Code‑Erklärung wird der Kürze halber weggelassen.
Relationale Operatoren
Diese Operatoren vergleichen Operanden und geben ein boolesches Ergebnis zurück.
| Operator | Beschreibung |
|---|---|
| == | Prüft Gleichheit. |
| != | Prüft Ungleichheit. |
| > | Größer als. |
| < | Kleiner als. |
| >= | Größer oder gleich. |
| <= | Kleiner oder gleich. |
Beispielprogramm:
#include <iostream>
using namespace std;
int main() {
int a = 11, b = 5;
cout << "a=11, b=5" << endl;
if (a == b) cout << "a == b ist true" << endl;
else cout << "a == b ist false" << endl;
if (a < b) cout << "a < b ist true" << endl;
else cout << "a < b ist false" << endl;
if (a > b) cout << "a > b ist true" << endl;
else cout << "a > b ist false" << endl;
return 0;
}
Ausgabe:

Logische Operatoren
Logische Operatoren verknüpfen boolesche Ausdrücke.
| Operator | Beschreibung |
|---|---|
| && | Logisches UND – true, wenn beide Operanden ungleich null sind. |
| || | Logisches ODER – true, wenn mindestens ein Operand ungleich null ist. |
| ! | Logisches NICHT – kehrt den booleschen Wert um. |
Beispielprogramm:
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 2, c = 6, d = 4;
if (a == b && c > d) cout << "a gleich b UND c größer d\n";
else cout << "UND‑Operation ergab false\n";
if (a == b || c > d) cout << "a gleich b ODER c größer d\n";
else cout << "Weder a gleich b noch c größer d\n";
if (!b) cout << "b ist null\n";
else cout << "b ist nicht null";
return 0;
}
Ausgabe:

Bitweise Operatoren
Bitweise Operatoren arbeiten auf einzelnen Bits ganzzahliger Werte.
| Operator | Beschreibung |
|---|---|
| & | Bitweises UND – 1 nur wenn beide Bits 1 sind. |
| | | Bitweises ODER – 1 wenn mindestens ein Bit 1 ist. |
| ^ | Bitweises XOR – 1 wenn Bits unterschiedlich sind. |
| << | Links‑Shift – schiebt Bits nach links, füllt mit 0 auf. |
| >> | Rechts‑Shift – schiebt Bits nach rechts, verwirft untere Bits. |
| ~ | Bitweises NICHT – invertiert alle Bits. |
Beispielprogramm:
#include <iostream>
using namespace std;
int main() {
unsigned int p = 60; // 0011 1100
unsigned int q = 13; // 0000 1101
int z = 0;
z = p & q; cout << "p&q ist: " << z << endl; // 12
z = p | q; cout << "p|q ist: " << z << endl; // 61
z = p ^ q; cout << "p^q ist: " << z << endl; // 49
z = ~p; cout << "~p ist: " << z << endl; // -61
z = p << 2; cout << "p<<2 ist: " << z << endl; // 240
z = p >> 2; cout << "p>>2 ist: " << z << endl; // 15
return 0;
}
Ausgabe:

Zuweisungsoperatoren
Diese Operatoren weisen Werte zu, oft kombiniert mit einer arithmetischen Operation.
| Operator | Beschreibung |
|---|---|
| = | Einfache Zuweisung. |
| += | Addiert und weist zu. |
| -= | Subtrahiert und weist zu. |
| *= | Multipliziert und weist zu. |
| /= | Dividiert und weist zu. |
Beispielprogramm:
#include <iostream>
using namespace std;
int main() {
int x = 5;
cout << "Startwert von x: " << x << "\n";
x += 5; cout << "x += 5 ergibt: " << x << "\n";
x -= 5; cout << "x -= 5 ergibt: " << x << "\n";
x *= 5; cout << "x *= 5 ergibt: " << x << "\n";
x /= 5; cout << "x /= 5 ergibt: " << x << "\n";
return 0;
}
Ausgabe:

Weitere Operatoren
sizeof‑Operator
Liefert die Größe in Bytes eines Typs oder Objekts.
Beispiel:
#include <iostream>
using namespace std;
int main() {
cout << "Größe von int: " << sizeof(int) << "\n";
cout << "Größe von char: " << sizeof(char) << "\n";
cout << "Größe von float: " << sizeof(float) << "\n";
cout << "Größe von double: " << sizeof(double) << "\n";
return 0;
}
Ausgabe:

Komma‑Operator
Führt eine Folge von Ausdrücken aus und liefert den Wert des letzten.
Beispiel:
#include <iostream>
using namespace std;
int main() {
int x, y;
y = 100;
x = (y++, y + 10, 99 + y);
cout << x;
return 0;
}
Ausgabe:

Bedingter Operator (Ternärer Operator)
Evaluiert eine Bedingung und gibt einen von zwei Ausdrücken zurück.
Syntax: bedingung ? ausdruck1 : ausdruck2
Beispiel:
#include <iostream>
using namespace std;
int main() {
int a = 1, b;
b = (a < 10) ? 2 : 5;
cout << "Wert von b: " << b << endl;
return 0;
}
Ausgabe:

Operator‑Priorität
Bei mehreren Operatoren in einem Ausdruck bestimmen Prioritätsregeln die Auswertungsreihenfolge. Von höchster zu niedrigster Priorität:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=
Zusammenfassung
- Operatoren sind die Bausteine für Berechnungen und Logik in C++.
- Arithmetische Operatoren behandeln Grundrechenarten.
- Relationale Operatoren ermöglichen Vergleiche.
- Logische Operatoren unterstützen boolesche Logik.
- Bitweise Operatoren manipulieren einzelne Bits.
- Zuweisungsoperatoren speichern Werte, oft kombiniert mit Arithmetik.
- Der
sizeof‑Operator offenbart den Speicherbedarf von Typen. - Der Komma‑Operator sequenziert Ausdrücke.
- Der bedingte Operator bietet kompakte Inline‑Entscheidungen.
C Sprache
- Biochips: Definition, Typen und Anwendungen in der modernen Biotechnologie
- C# Operatoren – Umfassender Leitfaden zu Operatoren in C#
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- C++ switch‑case meistern: Syntax, Einsatz und Praxisbeispiele
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
- C++ Structs erklärt mit praktischem Beispiel
- std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
- C++ Struct vs. Class: Wichtige Unterschiede, Syntax und beste Anwendungsfälle
- C# Abstrakte Klassen: Praktisches Tutorial mit Code-Beispielen