Lenguaje C

Un programa C est formado por un conjunto de funciones que al menos contiene la funcin main. Una funcin se declara con el nombre de la funcin precedido del tipo de valor que retorna y una lista de argumentos encerrados entre parntesis. El cuerpo de la funcin est formado por un conjunto de declaraciones y de sentencias comprendidas entre llaves. Veamos un ejemplo de utilizacin de funciones:

#include <stdio.h>

#define VALOR 5
#define FACT 120

int fact_i ( int v )
{
  int r = 1, i = 0;
  while ( i <= v )
  {
    r = r * i;
	i = i + 1;
  }
  return r;
}

int fact_r ( int v )
{
  if ( v == 0 ) return 1;
  else return v * fact_r(v-1);
}

main() {
  int r, valor = VALOR;
  if ( (r = fact_i(valor)) != fact_r(valor) ) printf("Codificacin errnea!!.\n");
  else if ( r == FACT ) printf("Codificacin correcta.\n");
  else printf("Algo falla!!.\n");
}

Se definen dos funciones, fact_i y fact_r, adems de la funcin main. Ambas toman como parmetro un valor entero y devuelven otro entero. La primera calcula el factorial de un nmero de forma iterativa, mientras que la segunda hace lo mismo de forma recursiva.

Todas las lneas que comienzan con el smbolo # indican una directiva del precompilador. Antes de realizar la compilacin en C se llama a un precompilador cuya misin es procesar el texto y realizar ciertas sustituciones textuales. Hemos visto que la directiva #include incluye el texto contenido en un fichero en el fuente que estamos compilando. De forma parecida, #define nombre texto sustituye todas las apariciones de nombre por texto. As, en el fuente, la palabra VALOR se sustituye por el nmero 5.

El valor que debe devolver una funcin se indica con la palabra return. La evaluacin de la expresin debe dar una valor del mismo tipo de dato que el que se ha definido como resultado. La declaracin de una variable puede incluir una inicializacin en la misma declaracin.

Se debe tener muy en cuenta que en C todos los argumentos son pasados 'por valor'. No existe el concepto de paso de parmetros 'por variable' o 'por referencia'. Veamos un ejemplo:

int incr ( int v ) { return v + 1; }

main() {
  int a, b;
  b = 3;
  a = incr(b);
  /* a = 4 mientras que b = 3. No ha cambiado despus de la llamada. */
}

En el ejemplo anterior el valor del parmetro de la funcin incr, aunque se modifique dentro de la funcin, no cambia el valor de la variable b de la funcin main. Todo el texto comprendido entre los caracteres /* y */ son comentarios al programa y son ignorados por el compilador. En un fuente C los comentarios no se pueden anidar.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.