Estructura básica de
un programa en C


En general, un programa en C consta de las siguientes partes:

Cualquier programa debe poseer una función, llamada main, que es la función que toma el control cuando se corre el programa.

El primer programa

El ejemplo siguiente muestra un programa completo en C, que imprime un texto en pantalla.

/* Mi primer programa en Lenguage C */
#include <stdio.h>

void main()
{
  printf("Hola mundo");
}

Puntos a notar:

  1. Comentarios: Los comentarios en C comienzan con la secuencia '/*' y termina con la secuencia '*/'. Todo lo que se encuentre entre estas dos secuencias es omitido por el compilador. Algunos compiladores (no todos) soportan el anidamiento de comentarios (comentarios dentro de comentarios), pero por no ser una facilidad común, no se aconseja su utilización. El uso de comentarios en un programa es fundamental para su entendimiento. Una proporción 50%-50% (código-comentario) no es exagerada.
  2. Directivas al preprocesador: La etapa de compilación se realiza en dos fases, una en la que un preprocesador atiende todas las directivas que contiene el código fuente y recien despues la etapa de traducción a código objeto. Todas las directivas al proprocesador comienzan con el caracter '#', en particular la directiva #include instruye al preprocesador para que inserte el contenido del archivo que se pasa como argumento a la directiva para su posterior compilación.
  3. Definición de funciones: Todas las funciones se definen colocando primero el tipo de retorno (void significa que la función no retorna nada como resultado de su ejecución. Por defecto si no se coloca tipo de retorno, se asume que la función retorna un valor entero); al tipo de retorno le sigue el nombre (la función main posee un significado especial, ya que es la función que toma el control cuando se ejecuta el programa); le siguen los argumentos separados com comas y encerrados entre paréntesis (aunque la función no reciba argumentos); y por último el cuerpo de la función encerrado entre llaves.
  4. El llamado a funciones se realiza colocando su nombre seguida por los argumentos encerrados entre parentesis. En el caso de que la función retorne algo como resultado, se puede utilizar en el lado derecho de una asignación.
  5. Todas las sentencias terminan en el caracter ';'

El cuerpo de la función main en nuestro caso, consta únicamente de la invocación de la función printf con un "string" constante como argumento.

La acción de la función printf (cuyo código se encuentra en las bibliotecas estándar del lenguaje) es la de imprimir en el dispositivo estándar de salida (en general el monitor).