C++ Bucle for

C++ 循环Bucles en C++

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

C++ 中的 for 循环

Ejemplo

Ejemplo

#include <iostream> using namespace std; int main () { // ejecución del bucle for for( int a = 10; a < 20; a = a + 1 ) { cout << "El valor de a:" << a << endl; } return 0; }

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:

int my_array[5] = {1, 2, 3, 4, 5}; // multiplicar cada elemento del array por 2 for (int &x : my_array) { x *= 2; cout << x << endl; } // el tipo auto también es del nuevo estándar C++11, se utiliza para obtener automáticamente el tipo de la variable for (auto &x : my_array) { x *= 2; cout << x << endl; }

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

#include<iostream> #include<string> #include<cctype> using namespace std; int main() { string str("some string"); // sentencia range for for(auto &c : str) { c = toupper(c); } cout << str << endl; return 0; }

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 STRING

C++ 循环Bucles en C++

Otras extensiones