Ejemplo de lenguaje C - Suma de números introducidos
Si en lenguaje C 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.
De forma que, por pantalla se vea, por ejemplo:

Solución: utilizando una instrucción do...while
Para resolver este problema, vamos a utilizar una instrucción repetitiva hacer...mientras (do...while), cuya sintaxis es:
do
{
<bloque_de_instrucciones>
} while ( <expresión_lógica> );
- En un bucle do...while, primero se ejecuta el bloque de instrucciones y, después, se evalúa la condición (<expresión_lógica>). En el caso de que esta sea verdadera, se vuelve a ejecutar el bloque de instrucciones. Y así sucesivamente, hasta que, la condición sea falsa.
- Cuando el bloque de instrucciones solo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.
/* Programa: Suma de números introducidos */
#include <conio.h>
#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 n%cmero entero: ", 163 );
scanf( "%d", &numero );
acumulador += numero;
printf( "\n %cDesea introducir otro n%cmero (s/n)?: ", 168, 163 );
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 n%cmeros introducidos es: %d", 163, acumulador );
getch(); /* Pausa */
return 0;
}
- En la solución propuesta, cuando el programa pregunta al usuario si desea introducir otro número, el bucle do...while iterará, mientras que, seguir sea distinto de 'n' ( seguir != 'n' ). De manera que, cualquier otro carácter que no sea 'n' provocará que el bucle itere de nuevo.
- En el programa se ha utilizado un acumulador. En programación, se llama acumulador a una variable cuyo valor se incrementa o decrementa en un valor que no tiene por qué ser fijo (en cada iteración de un bucle). Un acumulador suele utilizarse para acumular resultados producidos en las iteraciones de un bucle.
- Obsérvese que, se ha utilizado el operador suma y asignación (+=) en la expresión acumulador += numero, que es equivalente a escribir acumulador = acumulador + numero.
- Por otro lado, véase que, para que el programa funcione correctamente, antes de leer un carácter con scanf se ha limpiado (vaciado) el buffer del teclado (Standard Input, stdin) con la función fflush.