Los bucles en C/C++ se usan cuando necesitamos ejecutar repetidamente un bloque de instrucciones.
Durante el estudio del bucle ‘for’ en C o C++ , hemos visto que el número de iteraciones se conoce de antemano, es decir, conocemos el número de veces que se necesita ejecutar el cuerpo del bucle. El ciclo while en C/C++ se usa en situaciones en las que no conocemos el número exacto de iteraciones del ciclo de antemano. La ejecución del bucle finaliza sobre la base de la condición de prueba.
Sintaxis:
while (test_expression) { // statements update_expression; }
Las diversas partes del ciclo while son:
- Expresión de prueba: en esta expresión tenemos que probar la condición. Si la condición se evalúa como verdadera, ejecutaremos el cuerpo del bucle e iremos a actualizar la expresión. De lo contrario, saldremos del bucle while.
Ejemplo:i <= 10
- Expresión de actualización : después de ejecutar el cuerpo del bucle, esta expresión incrementa/disminuye la variable del bucle en algún valor.
Ejemplo:i++;
¿Cómo se ejecuta un ciclo while?
- El control cae en el bucle while.
- El flujo salta a Condición
- Se prueba la condición.
- Si la Condición da verdadero, el flujo entra en el Cuerpo.
- Si Condition arroja falso, el flujo sale del bucle.
- Las declaraciones dentro del cuerpo del bucle se ejecutan.
- Se lleva a cabo la actualización.
- El control vuelve al Paso 2.
- El bucle do-while ha terminado y el flujo se ha ido al exterior.
Diagrama de flujo while loop (para flujo de control):
Ejemplo 1: Este programa intentará imprimir «Hello World» 5 veces.
C
// C program to illustrate while loop #include <stdio.h> int main() { // initialization expression int i = 1; // test expression while (i < 6) { printf("Hello World\n"); // update expression i++; } return 0; }
C++
// C++ program to illustrate while loop #include <iostream> using namespace std; int main() { // initialization expression int i = 1; // test expression while (i < 6) { cout << "Hello World\n"; // update expression i++; } return 0; }
Hello World Hello World Hello World Hello World Hello World
Ejemplo de ejecución en seco 1: El programa se ejecutará de la siguiente manera.
1. Program starts. 2. i is initialized with value 1. 3. Condition is checked. 1 < 6 yields true. 3.a) "Hello World" gets printed 1st time. 3.b) Updation is done. Now i = 2. 4. Condition is checked. 2 < 6 yields true. 4.a) "Hello World" gets printed 2nd time. 4.b) Updation is done. Now i = 3. 5. Condition is checked. 3 < 6 yields true. 5.a) "Hello World" gets printed 3rd time 5.b) Updation is done. Now i = 4. 6. Condition is checked. 4 < 6 yields true. 6.a) "Hello World" gets printed 4th time 6.b) Updation is done. Now i = 5. 7. Condition is checked. 5 < 6 yields true. 7.a) "Hello World" gets printed 5th time 7.b) Updation is done. Now i = 6. 8. Condition is checked. 6 < 6 yields false. 9. Flow goes outside the loop to return 0.
Ejemplo 2:
C
// C program to illustrate while loop #include <stdio.h> int main() { // initialization expression int i = 1; // test expression while (i > -5) { printf("%d\n", i); // update expression i--; } return 0; }
C++
// C++ program to illustrate while loop #include <iostream> using namespace std; int main() { // initialization expression int i = 1; // test expression while (i > -5) { cout << i << "\n"; // update expression i--; } return 0; }
1 0 -1 -2 -3 -4
Artículos relacionados:
- Bucles en C y C++
- C/C++ For bucle con ejemplos
- C/C++ do while bucle con ejemplos
- Diferencia entre ciclo while y do-while en C, C++, Java
- Diferencia entre bucle for y while en C, C++, Java
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA