Ejemplo de lenguaje C - Primeros diez números naturales
Si en lenguaje C se quiere escribir un programa que muestre por pantalla los primeros diez números naturales:
Solución 1: utilizando la función printf
Para resolver el problema planteado, se puede escribir:
/* Programa: Primeros diez números naturales (Solución 1) */
#include <conio.h>
#include <stdio.h>
int main()
{
printf( "\n 1 2 3 4 5 6 7 8 9 10" );
getch(); /* Pausa */
return 0;
}
El programa funciona bien, pero, ¿y si se quisiera mostrar por pantalla los primeros mil números naturales, o los primeros diez mil?
Solución 2: utilizando una variable
Otra posibilidad es utilizar una variable:
/* Programa: Primeros diez números naturales (Solución 2) */
#include <conio.h>
#include <stdio.h>
int main()
{
int numero;
numero = 1;
printf( "\n %d ", numero ); /* Escribe el 1 */
numero++;
printf( "%d ", numero ); /* Escribe el 2 */
numero++;
printf( "%d ", numero ); /* Escribe el 3 */
numero++;
printf( "%d ", numero ); /* Escribe el 4 */
numero++;
printf( "%d ", numero ); /* Escribe el 5 */
numero++;
printf( "%d ", numero ); /* Escribe el 6 */
numero++;
printf( "%d ", numero ); /* Escribe el 7 */
numero++;
printf( "%d ", numero ); /* Escribe el 8 */
numero++;
printf( "%d ", numero ); /* Escribe el 9 */
numero++;
printf( "%d", numero ); /* Escribe el 10 */
getch(); /* Pausa */
return 0;
}
En el código fuente del programa se repiten, una y otra vez, las instrucciones:
numero++;
printf( "%d ", numero );
- El operador incremento (++) se ha utilizado para incrementar en una unidad el valor de la variable numero.
- En vez de numero++, se puede escribir numero = numero + 1.
A continuación, vamos a ver que una instrucción repetitiva (como es while) permite ejecutar un bloque de instrucciones repetidamente, escribiéndolas una sola vez en el programa, reduciendo de este modo el código del mismo.
Solución 3: utilizando una instrucción while
En el siguiente programa se utiliza una variable contador en un bucle while:
/* Programa: Primeros diez números naturales (Solución 3) */
#include <conio.h>
#include <stdio.h>
int main()
{
int contador;
printf( "\n " );
contador = 1; /* Inicialización del contador */
while ( contador <= 10 ) /* Condición */
{
printf( "%d ", contador ); /* Salida */
contador++; /* Incremento del contador */
}
getch(); /* Pausa */
return 0;
}
En el código fuente, se ha utilizado una instrucción repetitiva mientras (while), cuya sintaxis es:
while ( <expresión_lógica> )
{
<bloque_de_instrucciones>
}
Cuando el bloque de instrucciones solo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.
Para que se ejecute el bloque de instrucciones de un bucle while, la expresión lógica (condición) tiene que ser verdadera:
- Por tanto, en este programa, mientras que el valor de la variable contador sea menor o igual que 10, se mostrará por pantalla el valor de dicha variable y se incrementará en 1 su valor.
- Cuando el valor de contador sea 11, la condición será falsa y, en consecuencia, el bloque de instrucciones de la instrucción while dejará de ejecutarse.
A las instrucciones repetitivas se las conoce como bucles, ciclos o lazos.