|
|
| Contenidos > 1.3.2 Mi primer programa en lenguaje C |
|
Mi
primer programa en lenguaje C
Ejemplo:
Se quiere escribir un programa que muestre por pantalla un
mensaje de saludo:
Obsérvese
que, el
saludo se visualiza justo en la esquina superior izquierda de la
pantalla. Más adelante se estudiará
cómo se puede
mostrar en otro lugar de la pantalla.
En lenguaje C, el código
fuente de dicho programa puede ser:
#include
<stdio.h>
int
main()
{
printf( "Hola mundo"
);
return 0;
} |
Todas las funciones de la biblioteca estándar de lenguaje C son subprogramas
que ya están compilados, es decir, junto a
cualquier compilador
de lenguaje C se acompañan los códigos
objeto de todas las funciones de su biblioteca
estándar, pero no sus códigos fuente. Por tanto,
aunque no sea posible modificar sus códigos fuente,
sí se puede hacer uso de dichas funciones en cualquier
programa. Por ejemplo, se puede llamar a la función printf para que muestre por
pantalla el saludo "Hola
mundo".
printf( "Hola
mundo" );
Dentro de los paréntesis "()"
de la función printf, se debe escribir,
entre comillas dobles ("), el mensaje o
cadena de caracteres que se desea mostrar por pantalla.
Obsérvese que, después del carácter cerrar paréntesis ")" se ha escrito un
punto y coma (;), esto implica que la
llamada a la función printf es considerada como
una instrucción de expresión.
Del código fuente preprocesado de un programa, el compilador
generará un código objeto que se debe unir
(enlazar) con los códigos objeto de las funciones de la
biblioteca estándar del lenguaje C que se llamen desde dicho programa.
Por ejemplo, el código objeto de nuestro primer programa se
debe enlazar con el código objeto del subprograma printf.
El enlazador
sabe dónde encontrar el código
objeto de las funciones de la biblioteca estándar de C que
utilice un programa. Sin embargo, para poder utilizar una
función (sea de la biblioteca estándar de C o no)
en un programa, la función debe ser declarada previamente,
al igual que se tienen que declarar las variables
y las contantes
que
usa un programa.
Para que el compilador conozca la declaración de la
función printf, hay que utilizar la
directiva
del preprocesador #include:
#include
<stdio.h>
En este caso, la directiva #include indica, al preprocesador,
que debe incluir, antes de la compilación, en
el código fuente del programa, el contenido del
archivo <stdio.h> (stdio, Standard Input/Output).
En dicho archivo están escritas las declaraciones de todas
las funciones de entrada
y salida estándar de la biblioteca
estándar de C, como printf. Si el compilador no
sabe quien es printf, no podrá
generar el código objeto del programa.
Las funciones de la biblioteca estándar de C
están clasificadas en base a su funcionalidad, y sus
declaraciones se agrupan en archivos con extensión (.h), los
cuales son llamados archivos
de cabecera. Además de stdio.h, algunos de los
archivos de cabecera más utilizados en lenguaje C son: math.h, string.h y stdlib.h. En ellos
están escritas, respectivamente, las declaraciones de las
funciones matemáticas, funciones de cadena y funciones de
utilidad de la biblioteca estándar de C.
Después de #include, el nombre del
archivo de cabecera se puede escribir entre los caracteres menor y mayor (<stdio.h>), o entre comillas
dobles ("stdio.h"). Cuando se escriba
entre comillas dobles, el preprocesador buscará dicho
archivo en el directorio actual de trabajo, y de no
encontrarlo ahí, entonces lo buscará en el
directorio especificado por el compilador. En el caso de escribirse
entre los caracteres menor
y mayor,
el proceso de búsqueda será al revés.
Además de la directiva del preprocesador #include, existen otras,
pero, ninguna de ellas es una palabra reservada del lenguaje C.
El código objeto generado por el compilador de C
tendrá "huecos" (espacios) en donde más tarde el
enlazador escribirá el código objeto
correspondiente a las llamadas de las funciones ya compiladas
(como printf) y, así,
generar el archivo ejecutable.
Toda función retorna un valor. En nuestro primer programa se
ha escrito:
return
0;
Esto quiere decir que la función main devuelve el valor 0.
Precediendo
a main se ha escrito la
palabra reservada int, indicando
así, que la función retornará un valor
de tipo int (entero).
int
main()
En general, la instrucción return suele ser
la última del bloque de instrucciónes de la
función main. Al retornar el
valor 0,
indica (informa al sistema
operativo) que el programa
finalizó correctamente, es decir, sin producirse
ningún error
en su ejecución. Cuando la
función main devuelva un
valor distinto de cero, esto siginificará que se ha
producido algún error en la ejecución del
programa, o que ha ocurrido algo fuera de lo normal.
La instrucción return es una de
las instrucciones de control que existen en lenguaje C. Por tanto, es una
palabra reservada. Después del valor de retorno (que es una
expresión) se debe escribir un punto y coma (;). La sintaxis de la
instrucción return es:
Por el momento, se ha visto que la sintaxis "básica" de un
programa escrito en lenguaje C es:
[
<directivas_del_preprocesador> ]
int main()
{
<bloque_de_instrucciones>
}
|
Los caracteres abrir
corchete ([) y cerrar corchete (]) se utilizan para
indicar que lo que contienen es opcional.
Ahora es una buena ocasión para poner en práctica
lo aprendido en el apartado 1.2
Fases de la
puesta a punto de un programa. Para ello, puede consultar las
Guías
de uso de algunos compiladores de C/C++.
|
|
|
|
|