Post-incremento/Post-decremento
Fa parte della sezione Fondamenti del percorso C++ di Coddy. Lezione 19 di 74.
Nella lezione precedente abbiamo trattato gli operatori di incremento (++) e decremento (--). Questi operatori hanno due forme: prefissa e postfissa.
La forma prefissa si scrive prima della variabile (ad es., ++x o --x), mentre la forma postfissa si scrive dopo la variabile (ad es., x++ o x--).
Sapere quale forma usare è importante nella pratica. Per esempio, in un gioco potresti tenere traccia del punteggio di un giocatore con score++ dopo ogni colpo, oppure usare --lives per riflettere immediatamente una vita persa prima di verificare se la partita è finita. Nei cicli, la scelta tra prefisso e postfisso può influire sul valore usato in un'espressione prima o dopo l'aggiornamento.
La differenza tra le due forme è sottile ma importante:
- Forma prefissa: incrementa/decrementa la variabile e poi restituisce il nuovo valore.
- Forma postfissa: restituisce il valore corrente della variabile e poi la incrementa/decrementa.
Ecco un esempio per illustrare la differenza:
int x = 5;
int y = x++;
// y = 5, x = 6 (postfisso: y riceve il valore originale, poi x viene incrementato)
int a = 5;
int b = ++a;
// b = 6, a = 6 (prefisso: prima viene incrementato a, poi b riceve il nuovo valore)Nel primo caso, a y viene assegnato il valore originale di x (5), quindi x viene incrementato a 6. Nel secondo caso, a viene incrementato per primo, quindi il suo nuovo valore (6) viene assegnato a b.
La stessa logica si applica all'operatore di decremento:
int x = 5;
int y = x--;
// y = 5, x = 4 (postfisso: y riceve il valore originale, poi x viene decrementato)
int a = 5;
int b = --a;
// b = 4, a = 4 (prefisso: a viene decrementato prima, poi b riceve il nuovo valore)Sfida
PrincipianteTi viene fornito del codice con le inizializzazioni di x, y e z. (Non eliminare queste righe!)
Il tuo compito è usare gli operatori di incremento/decremento per eseguire le seguenti operazioni, in quest'ordine:
- Usa l'operatore di incremento postfisso per assegnare il valore corrente di
xaae poi incrementarex. - Usa l'operatore di decremento prefisso per decrementare
ye assegnare il suo nuovo valore ab. - Usa l'operatore di decremento postfisso per assegnare il valore corrente di
zace poi decrementarez.
Dopo aver eseguito queste operazioni, stampa i valori di a, b, c, x, y e z nella console nel seguente formato:
a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]Provalo tu
#include <iostream>
int main() {
int x = 10;
int y = 20;
int z = 30;
int a, b, c;
// Type your code below
// Don't change the lines below
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;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoPost-incremento/Post-decrementoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Fondamenti di input/output
Istruzione coutIstruzione cinInserimento di stringheRipasso - Fino a 120Ripasso - Vero o falso3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione di tipo Parte 1Conversione di tipo Parte 26Decisioni
Istruzione ifIf-elseIstruzione switchOperatore condizionaleRiepilogo - If-elseIf-else annidatiEsercitati da solo: Compilatore C++ online