Post-Inkrement/Dekrement
Teil des Abschnitts Grundlagen der C++-Journey von Coddy. Lektion 19 von 74.
In der vorherigen Lektion haben wir die Inkrement- (++) und Dekrementoperatoren (--) behandelt. Diese Operatoren haben zwei Formen: Präfix und Postfix.
Die Präfixform wird vor der Variable geschrieben (z. B. ++x oder --x), und die Postfixform wird nach der Variable geschrieben (z. B. x++ oder x--).
Zu wissen, welche Form du verwenden solltest, ist in der Praxis wichtig. In einem Spiel könntest du beispielsweise den Punktestand eines Spielers nach jedem Treffer mit score++ verfolgen oder --lives verwenden, um ein verlorenes Leben sofort widerzuspiegeln, bevor du prüfst, ob das Spiel vorbei ist. In Schleifen kann die Wahl zwischen Präfix und Postfix beeinflussen, welcher Wert in einem Ausdruck vor oder nach der Aktualisierung verwendet wird.
Der Unterschied zwischen den beiden Formen ist subtil, aber wichtig:
- Präfixform: Erhöht/verringert die Variable und gibt dann den neuen Wert zurück.
- Postfixform: Gibt den aktuellen Wert der Variable zurück und erhöht/verringert sie dann.
Hier ist ein Beispiel, um den Unterschied zu veranschaulichen:
int x = 5;
int y = x++;
// y = 5, x = 6 (postfix: y erhält den ursprünglichen Wert, dann wird x inkrementiert)
int a = 5;
int b = ++a;
// b = 6, a = 6 (prefix: a wird zuerst inkrementiert, dann erhält b den neuen Wert)Im ersten Fall wird y der ursprüngliche Wert von x (5) zugewiesen, und anschließend wird x auf 6 erhöht. Im zweiten Fall wird a zuerst erhöht, und anschließend wird sein neuer Wert (6) b zugewiesen.
Dieselbe Logik gilt für den Dekrementoperator:
int x = 5;
int y = x--;
// y = 5, x = 4 (postfix: y erhält den ursprünglichen Wert, dann wird x dekrementiert)
int a = 5;
int b = --a;
// b = 4, a = 4 (prefix: a wird zuerst dekrementiert, dann erhält b den neuen Wert)Aufgabe
AnfängerDir ist ein Code mit Initialisierungen von x, y und z gegeben. (Lösche diese Zeilen nicht!)
Deine Aufgabe ist es, die Inkrement-/Dekrementoperatoren zu verwenden, um die folgenden Operationen in dieser Reihenfolge auszuführen:
- Verwende den Postfix-Inkrementoperator, um den aktuellen Wert von
xazuzuweisen, und erhöhe anschließendx. - Verwende den Präfix-Dekrementoperator, um
yzu verringern, und weise seinen neuen Wertbzu. - Verwende den Postfix-Dekrementoperator, um den aktuellen Wert von
zczuzuweisen, und verringere anschließendz.
Gib nach der Ausführung dieser Operationen die Werte von a, b, c, x, y und z in der folgenden Form in der Konsole aus:
a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]Probier es selbst
#include <iostream>
int main() {
int x = 10;
int y = 20;
int z = 30;
int a, b, c;
// Gib deinen Code unten ein
// Ändere die Zeilen unten nicht
std::cout << "a: " << a << std::endl;
std::cout << "b: " << b << std::endl;
std::cout << "c: " << c << std::endl;
std::cout << "x: " << x << std::endl;
std::cout << "y: " << y << std::endl;
std::cout << "z: " << z << std::endl;
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Eingabe/Ausgabe Grundlagen
cout-Anweisungcin-AnweisungString-EingabeWiederholung - Bis 120Wiederholung - Wahr oder Falsch3Variablen Teil 2
TypdeklarationNamenskonventionenWiederholung – Variablen initialisierenType Casting Teil 1Type Casting Teil 26Entscheidungsfindung
If-AnweisungIf - ElseSwitch-AnweisungBedingter OperatorWiederholung - If ElseVerschachtelte If - ElseÜbe selbstständig: Online-C++-Compiler