C es un lenguaje de programación de procedimientos que fue diseñado por el informático estadounidense Dennis Ritchie. El lenguaje, que apareció por primera vez en 1972, fue desarrollado por Ritchie en asociación con Bell Labs. A pesar de tener cerca de 50 años, el lenguaje de programación C no ha perdido su relevancia en la escena moderna del desarrollo de software informático. Todavía se usa en áreas críticas de tiempo y velocidad, como el desarrollo de SO y firmware (por nombrar algunos).
Varios de los lenguajes más nuevos como C++, Java, PHP y más están basados en C. Y esa es la razón por la cual se recomienda a los estudiantes que dominen C para tener un buen dominio de cualquiera de los lenguajes más nuevos basados en C. Así que manteniendo teniendo en cuenta esta importancia, iniciaremos una serie de tutoriales donde discutiremos los conceptos básicos del lenguaje de programación C.
Tenga en cuenta que usaremos Linux para todos nuestros ejemplos y explicaciones. Específicamente, usaremos Ubuntu 18.04 LTS.
Programa C básico
Para empezar, echemos un vistazo a un programa C simple.
#include <stdio.h>
int main (void)
{
printf("\n Hello World \n");
return 0;
}
Entonces puede ver que el programa comienza con un #. En el lenguaje de programación C, cualquier línea que comience con # es procesada por el preprocesador en la primera etapa de compilación del programa. No entraremos en los detalles de las etapas de compilación, pero por el momento, tenga en cuenta que lo primero que sucederá durante la compilación de este programa es que la línea que comienza con # será reemplazada por lo que haya en el archivo de encabezado stdio.h.
Luego viene la siguiente línea:'int main (void)'. Esto es básicamente el comienzo de una función llamada 'main' que devuelve un valor entero (int) y no acepta nada (void). Vale la pena mencionar aquí que cada programa en C que verá consta de una o más funciones. La función 'principal' es aquella en la que se inicia la ejecución una vez que se ejecuta el programa. Mientras que todas las demás funciones se llaman desde main u otras funciones (lo que significa que usted tiene control sobre su secuencia de llamadas), main se llama como la primera función desde dentro del sistema.
Continuando, verá un corchete ( { ). Básicamente, esto define el alcance inicial de una función. Por supuesto, hacia el final, verá un corchete inverso ( } ), que define el final del alcance de la función. Todas las instrucciones dentro de estos corchetes se tratan como parte o cuerpo de la función.
Aquí, hay dos líneas de código en el cuerpo de la función 'principal'. El primero es 'printf("\n Hello World \n");'. Printf es una función de biblioteca del sistema que imprime cadenas formateadas en STDOUT. Por ahora, solo tenga en cuenta que imprime todo lo que proporcione entre comillas dobles (" "), excepto las secuencias de escape (como '\n', que se traduce como una nueva línea). La segunda línea del cuerpo es 'return 0'. Básicamente marca el final de la función 'principal' y envía '0' como resultado a la función que llamó 'principal'.
Entonces, en general, deberíamos esperar que este programa imprima 'Hello World' en la salida.
Compilar y ejecutar programa C
Ahora que hemos entendido un programa C simple, sigamos adelante y ejecútelo. Entonces, el primer paso sería guardar el código en un archivo llamado, por ejemplo, hello-world.c. Puede usar el editor de Vim para hacer esto. Una vez que guarde el código en hello-world.c, asegúrese de tener la herramienta gcc instalada en su sistema Linux. Si no, puede descargar e instalar (al menos en Ubuntu) usando el siguiente comando:
sudo apt install gcc
Gcc es básicamente un compilador GNU para el lenguaje de programación C. Una vez que esté allí en su sistema, simplemente utilícelo de la siguiente manera para compilar el programa hello-world.c:
gcc -Wall hello-world.c -o hello
Aquí, -Wall es una opción de comando gcc que habilita una gran cantidad de advertencias de tiempo de compilación que, de otro modo, el compilador no lanzaría. La otra opción que ve es -o, que se usa para especificar un nombre de archivo de salida. Entonces, en este caso, queremos que el archivo de salida se llame 'hola'.
A medida que ejecuta el comando mencionado anteriormente, verá que se generará un archivo llamado 'hola'. Es un archivo ejecutable. puede ejecutarlo de la siguiente manera:
./hello
Por ejemplo, cuando ejecuté este comando, se produjo el siguiente resultado:
Como puede ver, se produjo 'hola mundo' en la salida.
Conclusión
En este artículo, aprendimos los conceptos básicos del lenguaje de programación C usando un programa de demostración. Ahora que sabemos cómo escribir, compilar y ejecutar un programa en C, entraremos en otros aspectos en el próximo artículo. Manténganse al tanto.
Parte 2 - Preprocesadores C