Post-incremento/decremento
Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 19 de 74.
En la lección anterior, cubrimos los operadores de incremento (++) y decremento (--). Estos operadores tienen dos formas: prefijo y posfijo.
Saber qué forma usar es importante en programas reales; por ejemplo, al realizar el seguimiento de la puntuación de un juego, contar las iteraciones de un bucle o avanzar a través de una lista de elementos.
La forma de prefijo se escribe antes de la variable (p. ej., ++x o --x), y la forma de sufijo se escribe después de la variable (p. ej., x++ o x--).
La diferencia entre las dos formas es sutil pero importante:
- Forma de prefijo: Incrementa/decrementa la variable y luego devuelve el nuevo valor.
- Forma de posfijo: Devuelve el valor actual de la variable y luego la incrementa/decrementa.
Aquí tienes un ejemplo para ilustrar la diferencia:
int x = 5;
int y = x++;
// y = 5, x = 6 (postfijo)
int a = 5;
int b = ++a;
// b = 6, a = 6 (prefijo)En el primer caso, a y se le asigna el valor original de x (5), y luego x se incrementa a 6. En el segundo caso, a se incrementa primero, y luego su nuevo valor (6) se asigna a b.
La misma lógica se aplica al operador de decremento:
int x = 5;
int y = x--;
// y = 5, x = 4 (postfijo)
int a = 5;
int b = --a;
// b = 4, a = 4 (prefijo)Desafío
PrincipianteSe te proporciona un código con las inicializaciones de x, y y z. (¡No borres estas líneas!)
Tu tarea es utilizar los operadores de incremento/decremento para realizar las siguientes operaciones, en este orden:
- Usa el operador de incremento postfijo para asignar el valor actual de
xaay luego incrementax. - Usa el operador de decremento prefijo para decrementar
yy asignar su nuevo valor ab. - Usa el operador de decremento postfijo para asignar el valor actual de
zacy luego decrementarz.
Después de realizar estas operaciones, imprime los valores de a, b, c, x, y y z en la consola con el siguiente 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]Hoja de referencia
Los operadores de incremento (++) y decremento (--) tienen dos formas:
- Forma de prefijo (
++x,--x): Incrementa/decrementa la variable primero, luego devuelve el nuevo valor - Forma de sufijo (
x++,x--): Devuelve el valor actual primero, luego incrementa/decrementa la variable
Ejemplos:
int x = 5;
int y = x++; // y = 5, x = 6 (postfix)
int a = 5;
int b = ++a; // b = 6, a = 6 (prefix)
int x = 5;
int y = x--; // y = 5, x = 4 (postfix)
int a = 5;
int b = --a; // b = 4, a = 4 (prefix)Pruébalo tú mismo
#include <iostream>
int main() {
int x = 10;
int y = 20;
int z = 30;
int a, b, c;
// Escribe tu código a continuación
// No cambies las líneas de abajo
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;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados