C++ Bucle for
forEl bucle le permite escribir una estructura de control repetitiva que se ejecuta un número específico de veces.
Sintaxis
En C++forLa sintaxis del bucle:
for ( init; condition; increment )
{
statement(s);
}
A continuación se muestra el flujo de control del bucle for:
- initSe ejecuta primero, y solo una vez. Este paso le permite declarar e inicializar cualquier variable de control del bucle. También puede no escribir ninguna sentencia aquí, siempre que aparezca un punto y coma.
- A continuación, se evalúacondition. Si es verdadero, se ejecuta el cuerpo del bucle. Si es falso, no se ejecuta el cuerpo del bucle, y el flujo de control salta a la siguiente sentencia inmediatamente después del bucle for.
- Después de ejecutar el cuerpo del bucle for, el flujo de control vuelve a laincrementsentencia. Esta sentencia le permite actualizar la variable de control del bucle. Esta sentencia puede dejarse en blanco, siempre que aparezca un punto y coma después de la condición.
- La condición se evalúa nuevamente. Si es verdadera, el bucle se ejecuta, y este proceso se repite continuamente (cuerpo del bucle, luego incremento del valor del paso, y luego reevaluación de la condición). Cuando la condición se vuelve falsa, el bucle for termina.
Diagrama de flujo
Ejemplo
Ejemplo
Cuando el código anterior se compila y ejecuta, produce los siguientes resultados:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
Bucle for basado en rangos (C++11)
La sentencia for permite una iteración simple de rango:
La primera parte de la sentencia for anterior define la variable utilizada para la iteración de rango, al igual que las variables declaradas en un bucle for normal, su ámbito se limita solo al rango del bucle. Y el segundo bloque después de ":" representa el rango que se va a iterar.
Ejemplo
El programa anterior utiliza la sentencia Range for para iterar sobre una cadena, convierte todos los caracteres a mayúsculas, y el resultado de salida es:
SOME STRINGOtras extensiones
Bucles en C++