Inicio | Artículos | Cursos Online | Libros | Diccionario | Mapa Web | Enlazar | Contactar | Acerca de


C/C++/C# HTML Java JavaScript Linux PHP Python Swift
CURSO/TUTORIAL DE LENGUAJE C
Introducción
Introducción
Fases de la Puesta a Punto de un Programa en C
Estructura de un Programa
Tipos de Instrucciones
Mi primer Programa
Elementos Básicos
Tipos de Datos
Identificadores
Variables
Constantes
Operadores y Expresiones
Funciones printf y scanf
Comentarios
La Función fflush
Tipos de Errores
Instrucciones de Control
Instrucciones Alternativas
Instrucciones Repetitivas
Instrucciones De Salto
CarlosPes.comCurso de Lenguaje C > Instrucción do while en Lenguaje C

Instrucción do while en Lenguaje C

¿Para qué sirve la instrucción repetitiva hacer mientras (do while) en C?

En lenguaje C, para escribir una instrucción do while (repetitiva hacer mientras) se utiliza la sintaxis:
do
{
   <bloque_de_instrucciones>
} while ( <expresión_lógica> );
Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.

Además, como se puede apreciar, la instrucción repetitiva
do while, también hace uso de una condición.

En un
bucle do while, primero se ejecuta el bloque de instrucciones y, después, se evalúa la condición. En el caso de que ésta sea verdadera, se vuelve a ejecutar el bloque de instrucciones. Y así sucesivamente, hasta que, la condición sea falsa.

Por consiguiente, cuando el
flujo de un programa llega a un bucle do while, existen dos posibilidades:
  1. Se ejecuta el bloque de instrucciones y, después, si la condición se evalúa a falsa, el bloque de instrucciones no se vuelve a ejecutar, de manera que, el bucle do while finaliza, habiendo realizado una sola iteración.
  2. Se ejecuta el bloque de instrucciones y, a continuación, si la condición se evalúa a verdadera, el bloque de instrucciones se vuelve a ejecutar. Y así sucesivamente, hasta que la condición sea falsa.
El <bloque_de_instrucciones> de un bucle do while puede ejecutarse una o más veces (iteraciones). También hay que prevenir que el bucle no sea infinito.

En resumen, una instrucción repetitiva
do while permite ejecutar repetidamente (una o más veces) un bloque de instrucciones, mientras que, una determinada condición sea verdadera.

Ejemplo 1: De modo que, utilizando un bucle do while, el problema del ejemplo 1 del apartado anterior, Instrucción while en C, se puede resolver con el código:
#include <stdio.h>

int main()
{
   int contador;

   printf( "\n   " );

   contador = 1; /* Inicialización del contador */
   do
   {
      printf( "%d ", contador );   /* Salida */
      contador++;                 /* Incremento */
   } while ( contador <= 10 );     /* Condición */

   return 0;
}
Como ya se ha dicho, el bucle do while puede iterar una o más veces, por tanto, cuando un bloque de instrucciones debe iterar al menos una vez, generalmente, es mejor utilizar un bucle do while que un bucle while, como por ejemplo, en el siguiente problema.

Ejemplo 2: Se quiere escribir un programa que:

1º) Pida por teclado un número (dato entero).
2º) Pregunte al usuario si desea introducir otro o no.
3º) Repita los pasos 1º y 2º, mientras que, el usuario no responda 'n' de (no).
4º) Muestre por pantalla la suma de los números introducidos por el usuario.

En pantalla:

   Introduzca un numero entero: 7

   ¿Desea introducir otro (s/n)?: s

   Introduzca un numero entero: 16

   ¿Desea introducir otro (s/n)?: s

   Introduzca un numero entero: -3

   ¿Desea introducir otro (s/n)?: n

   La suma de los numeros introducidos es: 20
El código propuesto es:
#include <stdio.h>

int main()
{
   char seguir;
   int acumulador, numero;

   /* En acumulador se va a guardar la suma de
      los números introducidos por el usuario. */

   acumulador = 0;
   do
   {
      printf( "\n   Introduzca un numero entero: " );
      scanf( "%d", &numero);

      acumulador += numero;

      printf( "\n   Desea introducir otro numero (s/n)?: " );
      fflush( stdin );
      scanf( "%c", &seguir);
   } while ( seguir != 'n' );

   /* Mientras que el usuario desee introducir
      más números, el bucle iterará. */

   printf( "\n   La suma de los numeros introducidos es: %d",
           acumulador );

   return 0;
}
Artículos Interesantes
Artículos de Desarrollo Web
Artículos de Informática
Artículos de Programación
Artículos de SEO
Cursos/Tutoriales de Informática
Curso/Tutorial de Algoritmos
Curso/Tutorial de Informática Básica
Curso/Tutorial de Ingeniería del Software
Curso/Tutorial de Lenguaje C
Curso/Tutorial de Marketing en Internet
Curso/Tutorial de Turbo Pascal
Curso/Tutorial de Representación de los Datos
Curso/Tutorial para Webmasters
Curso/Tutorial Web 2.0
Curso de SEO
Libros de Carlos Pes
36 Pasos Básicos para Desarrollar un Sitio Web
Empezar de Cero a Programar en Lenguaje C
Fundamentos del SEO
Libros Recomendados
Libros de Analítica Web
Libros de Desarrollo Web
Libros de Java
Libros de Lenguaje C
Libros de Marketing Online
Libros de Pascal (Turbo Pascal)
Libros de SEO
Libros de Visual Basic
Recursos de Informática
Diccionario de Informática
Ejercicios de Programación
Guías de uso de Software
Sintaxis de Lenguajes de Programación
Biografías
Entrevistas
Frases y Citas
Recursos Educativos
Presentaciones Educativas
Videos Educativos
Enlaces Web
Acerca de Carlos Pes
Bibliotecas
Colaboradores
Contactar
Enlazar
Librerías
Perfiles en Internet
Mapa Web
Blog de Carlos Pes Blog de Carlos Pes
© CarlosPes.com | Privacidad | Condiciones