Informatica

Solo disponible en BuenasTareas
  • Páginas : 6 (1328 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de febrero de 2010
Leer documento completo
Vista previa del texto
FUNCIONES


En Lenguaje C, existen dos tipos de funciones principales:

• Las funciones definidas por el usuario (Las que el usuario programa)
• Las funciones propias del lenguaje (Las funciones que se encuentran en la librería y que son usadas por el usuario, Por ejemplo: scanf(), printf(), sqrt(), etc.)

Definición de Función definida por el Usuario:

Las funciones son porciones decódigo que devuelven un valor. Permiten descomponer el programa en módulos que se llaman entre ellos. En C no existe diferencia entre funciones y procedimientos: a todas las subrutinas se las llama funciones.

La definición de una función especifica lo siguiente:
• nombre de la función
• número de argumentos que lleva y tipo de cada uno de ellos
• tipo de datos que devuelve
• Cuerpo de lafunción (el código que ejecuta)

Sintaxis:
tipo nombre ( arg1, arg2, ... )
{
... cuerpo ...
}

Cada argumento se especifica como en una declaración de variable. El cuerpo de la función debería contener una sentencia donde se devuelve el resultado de la función, que se hace de esta forma:

return expresión;

La función devolverá el resultado de la expresión.

Ejemplo de funciónFunción que devuelve la suma de dos enteros.

int suma ( int a, int b )
{
return a+b;
}

Llamadas a función

Para llamar a una función, se escribe su nombre y entre paréntesis los valores que se deseen dar a los argumentos:

función ( expr1, expr2, ... )

Cada expresión se evalúa y su resultado se pasa como argumento a la función. Las expresiones han de tener el mismo tipodel argumento correspondiente, o al menos un tipo compatible.

x = suma ( 1, a+5 );



No es necesario recoger en una variable el valor devuelto por la función. (Por ejemplo, printf y scanf son funciones que devuelven un entero).

Funciones sin argumentos

Se declaran con void entre paréntesis (sólo en C).

int fecha (void)
{ ... }

Se las llama así:

dato = fecha();es decir, siempre hay que escribir los paréntesis aunque no haya argumentos. En C++ se declaran sólo con los paréntesis, sin el void.

Procedimientos

En C no se distingue entre procedimientos y funciones. Un procedimiento sería una función que no devuelve ningún valor, lo que se define de esta forma:

void función ( arg1, arg2, ... )
{ ... }

A estas funciones se las suele llamarfunciones void. No es obligatorio que una función void contenga sentencias return, puesto que no devuelve nada. No obstante, si se desea salir prematuramente de una función void, se puede usar return;:

void rutina ()
{
...
...
}

Argumentos de entrada/salida o paso por valor

Una función en C no puede alterar las variables pasadas como parámetros. Los parámetros se pasan porvalor.

#include

/* función inútil */

void incrementa ( int variable )
{
variable ++;
}

main()
{

int x = 33;
incrementa (x);

/* x no resulta afectada, sigue valiendo 33 */

printf ( "la variable x vale ahora %d\n", x );

}

Para conseguir alterar una variable pasada como parámetro, hay que recurrir a los punteros.

Prototipos de una Función:

Las funcionesen lenguaje C, pueden ser escritas arriba del main() o debajo del main()

a) Cuando las funciones son escritas arriba del main, no necesitan prototipos.
b) Cuando las funciones son escritas debajo del main, SI necesitan prototipos (Este es el caso que nosotros vamos a trabajar)

Un prototipo es escribir el encabezado de la función después de declarar las librerias del programa. Por ejemplo:#include

Int suma(int a, int b) ;  Prototipo

Void main()
{
….
X = suma (3 , 2 );
….
}

Int suma (int a, int b)
{
Int c;
C=a+b;
Return c;
}

Funciones Propias del Lenguaje:

Lenguaje C tiene funciones ya hechas, para facilitar la programación. Usted como buen estudiante, debe investigar las principales funciones de Lenguaje C, aquí se le darán sólo las más...
tracking img