|
|
|
|
|
|
CarlosPes.com
> Curso
de Lenguaje C
> Mi primer Programa en Lenguaje C |
|
Mi primer Programa en
Lenguaje C
|
|
|
|
|
¿Cómo
escribir un programa en 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 constantes 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>
} |
|
|
Ahora
es una buena ocasión para poner en práctica lo
aprendido en el apartado Fases de la Puesta a punto de un
Programa.
Para ello, puede consultar las Guías
de Uso de algunos
compiladores de C/C++. |
|
|
|
|
|
|
|
|