1. MauricioMuñoz Bravo
Grupo: 201
Estructura de lenguaje de programación C.
Este programa no hace nada, pero contiene la parte más importante de cualquier
programa C y además, es el más pequeño que se puede escribir y que se compila
correctamente. En él se define la función main, que es la que ejecuta el sistema
operativo al llamar a un programa C. El nombre de una función C siempre va
seguida de paréntesis, tanto si tiene argumentos como si no. La definición de la
función está formada por un bloque de sentencias, que está encerrado entre
llaves {}.
Un programa algo más complicado, pero que hace algo, es el siguiente:
#include <stdio.h>
main()
{
/* Este es mi primer programa en C*/
printf("Bienvenido a la programación en lenguaje Cn");
return 0;
}
Con él visualizamos el mensaje Bienvenido a la programación en lenguaje C en el
terminal.
La primera línea indica que se tengan en cuenta las funciones y tipos definidos en
la biblioteca stdio (standard input/output). Estas definiciones se encuentran en el
fichero de encabezado (header) stdio.h.
En la función main se incluye una primera sentencia que llama a la función printf.
Ésta toma como argumento (encerrado entre paréntesis) una cadena de
caracteres limitados por dobles comillas " " y la imprime en la salida habitual, que
generalmente es el terminal en el que trabajamos. El símbolo n indica un cambio
de línea.
La segunda sentencia, return 0, termina el programa y devuelve un valor (cero) al
sistema operativo (por lo general es cero si la ejecución fue correcta y se usan
valores distintos de cero para indicar diversos errores que pudieron ocurrir). Si
bien no es obligatorio terminar el programa con un return, es conveniente indicarle
a quien lo haya invocado, sea el Sistema Operativo o algún otro programa, si la
finalización ha tenido éxito o no. De cualquier manera, en este caso, si sacamos
2. MauricioMuñoz Bravo
Grupo: 201
esa sentencia el programa, éste funcionará exactamente igual, pero al ser
compilado, el compilador nos advertirá de la falta de retorno.
La inclusión de comentarios en un programa es una saludable práctica, como lo
reconocerá cualquiera que haya tratado de leer un listado hecho por otro
programador o por sí mismo, varios meses atrás. Para el compilador, los
comentarios son inexistentes, por lo que no generan líneas de código, permitiendo
abundar en ellos tanto como se desee. En el lenguaje C se toma como comentario
todo carácter entre los símbolos: /* */.
Cada sentencia de programa queda finalizada por el terminador ";", que indica al
compilador el fin de la misma. Esto es necesario ya que sentencias complejas
pueden llegar a tener más de un renglón, y habrá que avisar al compilador donde
termina. Es perfectamente lícito escribir cualquier sentencia abarcando los
renglones que la misma necesite; por ejemplo podría ser:
printf("Bienvenido a la programación
en lenguaje Cn");
Un programa en C es simplemente un fichero de caracteres que contiene un
conjunto de instrucciones que un programa especial, el compilador o traductor,
se encarga de transformar en un código que la computadora puede ejecutar
(código objeto). En general, un programa suele estar compuesto de tres partes:
el encabezamiento, que especifica las declaraciones globales de los datos
y sus tipos, que vamos a manejar a lo largo del programa;
la función principal, que se suele llamar main, y define la estructura del
programa.
las funciones o subrutinas auxiliares, que realizan las operaciones
necesarias; son llamadas por la rutina principal, la función main. Se suelen
colocar después de esta función.
Encabezamiento
main( )
{
variables locales
sentencias
}
f1( )
{
variables locales
sentencias
}
...
...
3. MauricioMuñoz Bravo
Grupo: 201
...
fn( )
{
variables locales
sentencias
Cuando la envergadura del programa es grande se suele fragmentar el
programa en varias partes, incluyendo cada parte en un fichero separado. El
lenguaje C define el método que debemos seguir para separar las diferentes
partes del programa. Normalmente colocaremos en cada fichero todas las
subrutinas y funciones que se encarguen de una tarea del programa. Por tanto,
un programa C puede estar formado por diferentes módulos o fuentes. Es
conveniente mantener los fuentes de un tamaño no muy grande, para que la
compilación sea rápida. También, al dividirse un programa en partes, se puede
facilitar la legibilidad del programa y su estructuración. Los diferentes fuentes
son compilados de forma separada -únicamente los fuentes que han sido
modificados desde la última compilación-, y después enlazados o combinados
entre ellos y con las bibliotecas necesarias para formar el programa en su
versión ejecutable, mediante un programa denominado enlazador (linker).
Los comandos necesarios para compilar, enlazar los diferentes módulos y
ejecutar un programa dependen del sistema operativo, y debemos dirigirnos a
los manuales correspondientes para conocer la sintaxis exacta. Como forma
más común podemos dar la siguiente:
Compilar: cc prog
cc modulo1, modulo2
enlazar: link prog, modulo1, modulo2
ejecutar: prog