• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • Conoce los Días Naranjas de PcComponentes: descuentos de hasta un 40% en tecnología. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

[Introducción al lenguaje de programación C] Bucle Do While (Capítulo IX)

Neur0na2

Timing Attack!
Registrado
13 Feb 2016
Mensajes
115
Puntos
0
Terminaremos los bucles en este capítulo viendo el bucle do while. El bucle do while, es un bucle que se ejecuta al menos una vez. En inglés do significa hacer y while mientras, por lo que sabiendo que significan al ver el código ya nos podemos hacer una idea de la instrucción que realizan.

Veamos un ejemplo:

Código:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[])
{
    int numero_aleatorio;
    
    do
        numero_aleatorio = rand();
    while(numero_aleatorio != 12);
    
    getch();
    return 0;
}

Desmenuzamos las partes que nos interesan:

Código:
#include <stdio.h>
#include <stdlib.h>

Añadimos la directiva stdlib.h, que es la encargada de proporcionarnos la función rand(), la veremos más abajo.

Código:
do
    numero_aleatorio = rand();
while(numero_aleatorio != 12);

Os he puesto un ejemplo muy ilustrativo. A la variable numero_aleatorio le asignamos el valor de la función rand(), que nos genera un número pseudo-aleatorio. Se le conoce con ese nombre porque para un ordenador no existe nada aleatorio, ya que todo se genera mediante unos determinados cálculos, de manera que parezca que ha sido hallado con suerte. Por lo tanto, mientras dicha variable no tenga el valor 12, el bucle seguirá ejecutándose.

Recordad como siempre, que si englobamos más de una sentencia el bucle iría entre llaves. Para los que no tengáis muy claro como quedaría, os lo dejo a continuación:

Código:
do
{
   numero_aleatorio = rand();
} while(numero_aleatorio != 12);

Veamos como quedaría con un ejemplo visto en los anteriores bucles:

Código:
#include <stdio.h>

int main(int argc, const char * argv[])
{
    int contador = 0;
    
    do
    {
        printf("%d", contador);
        contador++;
    } while(contador < 11);
    
    printf("\n");
    
    getch();
    return 0;
}

Ya tenéis el mismo ejemplo usando todos los bucles, por lo que se os abre un camino lleno de posibilidades.

En el siguiente capítulo empezaremos con los vectores, para posteriormente pasar a las estructuras.

Un saludo :eek:k:

Capítulo anterior
Capítulo siguiente
 
Última edición:
Cuantas alegrías me ha dado este bucle... Primero lo haces, y despues compruebas si tienes que volver a hacerlo...
 
Cuantas alegrías me ha dado este bucle... Primero lo haces, y despues compruebas si tienes que volver a hacerlo...

La verdad es que cuando aprendes a dominar los bucles cualquiera de ellos te parece genial. Aunque estoy de acuerdo que este bucle es algo especial.
 
Arriba