while y do while son ambas sentencias de bucle en el lenguaje C; su principal diferencia radica en el orden en que se ejecuta el cuerpo del bucle.

El bucle while primero verifica la condición del bucle, y solo ejecuta el cuerpo del bucle cuando la condición es verdadera. Por lo tanto, si la condición es falsa desde el principio, el cuerpo del bucle nunca se ejecutará. Y si la condición es siempre verdadera, el bucle se ejecutará indefinidamente.

while: Me debes dinero, voy caminando por la calle, hay una persona delante; primero me fijo bien si esa persona eres tú, si no lo es, no le pego.

do while: Me debes dinero, voy caminando por la calle, hay una persona delante; no me importa si esa persona eres tú, primero le pego, luego hablamos.

A continuación se muestra un programa de ejemplo con un bucle while:

Ejemplo

#include <stdio.h>

int main() {
    int i = 0;
    while (i < 5) {
        printf("i = %d\n", i);
        i++;
    }
    return 0;
}

El resultado de salida es:

i = 0
i = 1
i = 2
i = 3
i = 4

La principal diferencia entre el bucle do while y el bucle while radica en el orden en que ejecutan el cuerpo del bucle. El bucle do while primero ejecuta el cuerpo del bucle y luego verifica la condición del bucle. Por lo tanto, incluso si la condición es falsa desde el principio, el cuerpo del bucle se ejecutará al menos una vez.

A continuación se muestra un programa de ejemplo con un bucle do while:

Ejemplo

#include <stdio.h>

int main() {
    int i = 0;
    do {
        printf("i = %d\n", i);
        i++;
    } while (i < 5);
    return 0;
}

El resultado de salida es:

i = 0
i = 1
i = 2
i = 3
i = 4

Se puede ver que incluso si el valor inicial de i es 0, el bucle do while aún ejecutó el cuerpo del bucle 5 veces, porque primero ejecutan el cuerpo del bucle y luego verifican la condición del bucle.

En resumen, el bucle while es adecuado para verificar la condición antes del bucle, mientras que el bucle do while es adecuado para ejecutar el cuerpo del bucle al menos una vez, sin importar si la condición se cumple o no.

Artículos de referencia: