C/C++ while bucle con ejemplos

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:

  1. 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
  2. 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?

  1. El control cae en el bucle while.
  2. El flujo salta a Condición
  3. Se prueba la condición.
    1. Si la Condición da verdadero, el flujo entra en el Cuerpo.
    2. Si Condition arroja falso, el flujo sale del bucle.
  4. Las declaraciones dentro del cuerpo del bucle se ejecutan.
  5. Se lleva a cabo la actualización.
  6. El control vuelve al Paso 2.
  7. 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;
}
Producción:

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;
}
Producción:

1
0
-1
-2
-3
-4

Artículos relacionados:

  1. Bucles en C y C++
  2. C/C++ For bucle con ejemplos
  3. C/C++ do while bucle con ejemplos
  4. Diferencia entre ciclo while y do-while en C, C++, Java
  5. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *