Es hora de comenzar con lo más interesante, la programación. Antes de meternos en ello haremos nuestro primer programa y daremos una definición que nos será útil.
2.1- Definiciones.
Función: Algoritmo escrito en un lenguaje de programación que realiza una tarea (o función) específica.
2.2- Nuestro primer programa
Compilar muchas veces es distinto en Windows que en Linux, principalmente porque no se ponen de acuerdo y nos obligan (casi siempre) a usar software distinto para cada uno de estos sistemas operativos. Por eso explicaré cómo hacerlo con un compilador para Windows y a su vez con uno para Linux. Este es el código que usaremos:
#include <stdio.h>
/*Esto es un comentario*/
int main (void){
printf ("Este es mi primer programa");
return (0);
}
2.2.1- Compilando en Windows.
Aquí es tan fácil como abrir nuestro compilador habitual, copiar el código en el procesador de código de este y darle al botón de compilar. Espero que nadie se allá perdido
…
2.2.2- Compilado en Linux.
Ahora entramos en una zona un poco más revoltosa, no porque sea difícil, sino porque hay muchos pasos. Primero abrimos un procesador de texto que nos permita guardar archivos sin formato, copiamos el código y lo guardamos con el nombre que queramos y la extension .c (por ejemplo, primprog.c), luego vamos al intérprete de comandos (shell) y, suponiendo que tenemos instalado el gcc, vamos a la carpeta donde está para escribir: gcc -o [nombre del archivo (sin extensión)] [nombre del archivo más la extensión], lo hacemos así para que el ejecutable que genere tenga el mismo nombre que el código fuente, pero en el primer apartado puedes poner lo que quieras.
Al final nos debe quedar algo así (en ambos casos):
Si nos da un fogonazo de MS-DOS al ejecutar el programa, simplemente ve al cmd y ejecutarlo desde allí para ver la salida.
2.3- Estructura de un programa
Bien, ahora que hemos hecho nuestro primer programa, veamos qué características básicas debe tener todo programa que escribamos, para eso nos valeremos del código anterior.
#include <stdio.h>
Con esto le decimos a nuestro compilador que vamos a usar las funciones ya definidas que vienen en la biblioteca stdio, no desesperen, esto lo veremos con profundidad más adelante en este capítulo.
/*Esto es un comentario*/
Para quien no lo haya entendido, esto es un comentario. También lo veremos mejor más adelante.
int main (void){
Aquí decimos que comienza la función principal del programa, que vendría a ser como la puerta de entrada de una casa y es la que se ejecuta primero en todo después de compilarlo. En definitiva, es el proceso principal del programa.
printf (“Este es mi primer programa”);
En esta ocasión llamamos a la función printf (que imprime un texto en pantalla) con la cadena “Este es mi primer programa” para que imprima.
return (0);
}
Bien, muchos programadores experimentados se preguntarán para que retorno el valor 0 en un programa tan insignificante, antes de responder voy a explicar algunas cosas. Aquí lo que hacemos es concluir enviando el valor cero al sistema operativo, es decir diciéndole que acabamos el programa sin ningún percance, si no lo hubiese hecho este creería que las instrucciones que vienen después (que no nos interesa saber cuales son) son válidas, si usamos windows esto como mucho provoca el cierre de la ventana, pero si estamos programando en MS-DOS (no tiene nada de malo, yo me vicie mucho tiempo con MS-DOS ¬¬), nos saldrán un montón de errores y se nos colgará la máquina, por eso esta ahí esa función.
Habrán notado que el desarrollo del programa se puso entre { y }, es porque todo bloque de código va escrito en entre estos dos signos.
De esta pequeña biblia podemos sacar en limpio:
a) Un programa en C comienza incluyendo las bibliotecas que va a usar.
b) Un programa en C puede tener comentarios.
c) La función principal es el alma de un programa en C y la que describe todo su proceso principal.
d) Los bloque de código (conjunto de instrucciones) van entre { y }.
2.4- Los comentarios.
Los comentarios no son más que aclaraciones que escribimos en el código y las cuales, además, no se van a compilas. Sirven para dos motivos fundamentales. Uno, que otro entienda lo que queremos hacer con el programa (en ocasiones un código en un lenguaje que dominamos nos puede parecer a chino). Dos, orientarte tú mismo en tus propios códigos para hacer depuraciones de este o actualizarlo. Si eres como yo cuando empecé (en mis tiempos mozos
), esto te parecerá una tontería ¿para qué gastar tiempo en algo que no sirve a la ejecución del programa?, yo aprendí por las malas, espero que tú no. Cuando llevas quinientas (o más) líneas de código, compilas y el programa te da un error como regalo, buscarlo y solucionarlo en ese tochazo son comentarios es una tortura que debería envidiar la Inquisición.
Un comentarios debe ser claro y proporcionar información sencilla, concreta y directa. En nuestro programa, el comentario no cumple ni una de estas funciones, pero si lo modificamos sólo con leerlos los comentarios que escribiésemos sabríamos qué hace y cómo, pero eso lo harán ustedes en los ejercicios.
Un consejo, no esperes a haber terminado de escribir el código para ponerle comentarios, en uno de 20 líneas es irrelevante, pero hay que tener mucha fuerza de voluntad para revisar 1000 dos veces, una para escribirlo y otra para agregarle los comentarios, así que hazlo mientras programas.
Ahora, ¿cómo se escriben los comentarios?, simple entre /* y */. Todo lo que haya entre ellos dos no se ejecutará. No importa si el comentario ocupa más de una línea o si ponemos funciones dentro de él. Así que no quiero que me vengan con errores que consisten en haber escrito código del programa en un comentario, tengan en cuenta que una vez lo abren (escriben /*), este se extiende hasta que lo cerremos (escribamos */).
2.5- Bibliotecas
C usa bibliotecas. Estas son colecciones de funciones que nos sirven para utilizar código predefinido (como mostrar textos en pantalla, abrir archivos, emitir sonido…) que nos facilitan nuestro trabajo. Para poder usar estas funciones debemos llamar a la biblioteca como hicimos en nuestro programa. A medida que vaya avanzando y utilizando más y más funciones (como la ya probada printf) iré poniendo las bibliotecas a las que pertenecen, y al final daré las bibliotecas estándar. Quizá si me emociono (cosa muy probable) enseñe a leerlas y a crear nuestras propias bibliotecas.
Para usar una, sólo debemos poner al principio “#include” y entre los signos < y > el archivo de cabecera, que posee el mismo nombre que la biblioteca que vallamos a usar más la extensión .h, por ejemplo:
#include <alloc.h>
2.6 Ejercicios
1- Modifica el primer programa que hicimos agregando comentarios suficientes a fin de que no se haga necesario leer el código fuente para entender el programa.
EL RETO
Cada capítulo pondré un ejercicio que supondría un “reto” para quien no ha dado nunca programación, en un principio serán fáciles pero con el paso de los temas se irán complicando. Eso sí, se pueden resolver con un poco de lógica, no hace falta ser un genio para solucionarlos.
El reto: Modifica el código fuente para que en vez de decir: “Este es mi primer programa” diga: “He modificado mi primer programa”.
