PDF de programación - Funciones en C

Imágen de pdf Funciones en C

Funciones en Cgráfica de visualizaciones

Actualizado el 15 de Noviembre del 2020 (Publicado el 15 de Diciembre del 2017)
1.679 visualizaciones desde el 15 de Diciembre del 2017
1,3 MB
30 paginas
Creado hace 18a (28/03/2006)
Funciones en C

03

En esta unidad aprenderás a:

Comprender el desarrollo
de un programa utilizando
funciones

Establecer la diferencia entre
la definición y declaración
de una función

Conocer y utilizar el paso
de valores entre funciones
y la devolución de valores
de una función

Establecer la diferencia entre
el paso de argumentos
por valor y por referencia

Conocer la clasificación
de las variables de acuerdo
a su ámbito y clase
de almacenamiento

3. Funciones en C
3.1 Introducción

3.1 Introducción

En la unidad 2 hemos visto que una función es un fragmento de código que realiza una
tarea bien definida. Por ejemplo, la función printfimprime por la salida estándar los
argumentos que le pasamos. Al igual que esta función, existen otras funciones que rea-
lizan diversas tareas ya definidas en el estándar ANSI C y que pueden ser utilizadas por
el programador. Este tipo de funciones predefinidas son denominadas funciones de
biblioteca. Sin embargo, cada programador puede definir sus propias funciones de
acuerdo a sus necesidades. Las funciones que define el programador son conocidas como
funciones de usuario.

La utilización de funciones nos permite dividir un programa extenso en pequeños seg-
mentos que realizan tareas concretas. Probablemente, dentro de un mismo programa se
realicen las mismas tareas varias veces, lo que se facilita mediante la utilización de fun-
ciones. Sin embargo, es probable que ciertas funciones no sean reutilizables, pero al
usarlas se mejora la legibilidad del programa.

La filosofía en la que se base el diseño de C es el empleo de funciones. Por esta razón,
un programa en C contiene al menos una función, la función main. Esta función es par-
ticular dado que la ejecución del programa se inicia con las instrucciones contenidas en
su interior. Una vez iniciada la ejecución del programa, desde la función mainse puede
llamar a otras funciones y, posiblemente, desde estas funciones a otras. Otra particula-
ridad de la función maines que se llama directamente desde el sistema operativo y no
desde ninguna otra función. De esta manera, un programa en C sólo puede contener una
función main.

Con el propósito de permitir un manejo eficiente de los datos, las funciones en C no se
pueden anidar. En otras palabras, una función no se puede declarar dentro de otra fun-
ción, por lo que todas las funciones son globales o externas, lo que hace que puedan
llamarse desde cualquier parte de un programa.

Se puede acceder (llamar) a una determinada función desde cualquier parte de un pro-
grama. Cuando se llama a una función, se ejecutan las instrucciones que constituyen
dicha función. Una vez que se ejecutan las instrucciones de la función, se devuelve el
control del programa a la siguiente instrucción (si existe) inmediatamente después de
la que provocó la llamada a la función.

Cuando se accede a una función desde un determinado punto del programa, se le puede
pasar información mediante unos identificadores especiales conocidos como argumen-
tos (también denominados parámetros). Una vez que la función procesa esta informa-
ción, devuelve un valor mediante la instrucción return.

La estructura general de una función en C es la siguiente:

tipo_de_retorno nombre_de_la_función (lista_de_parámetros)
{

cuerpo_de_la_función
return expresión

}

71

3. Funciones en C
3.1 Introducción

Donde:

• tipo_de_retorno: es el tipo del valor devuelto por la función, o, en caso de que la

función no devuelva valor alguno, la palabra reservada void.

• nombre_de_la_función: es el nombre o identificador asignado a la función.
• lista_de_parámetros: es la lista de declaración de los parámetros que son pasados
a la función. Éstos se separan por comas. Debemos tener en cuenta que pueden
existir funciones que no utilicen parámetros.

• cuerpo_de_la_función: está compuesto por un conjunto de sentencias que llevan

a cabo la tarea específica para la cual ha sido creada la función.

• return expresión: mediante la palabra reservada return, se devuelve el valor de la

función, en este caso representado por expresión.

Vamos a suponer que queremos crear un programa para calcular el precio de un producto
basándose en el precio base del mismo y el impuesto aplicable. A continuación mostra-
mos el código fuente de dicho programa:

#include <stdio.h>

float precio(float base, float impuesto); /* declaración */

main()
{

}

float importe = 2.5;
float tasa = 0.07;

printf("El precio a pagar es: %.2f\n", precio(importe, tasa));
return 0;

float precio(float base, float impuesto) /* definición */
{

float calculo;
calculo = base + (base * impuesto);
return calculo;

}

El ejemplo anterior se compone de dos funciones, la función requerida mainy la fun-
ción creada por el usuario precio,que calcula el precio de un producto tomando como
parámetros su precio base y el impuesto aplicable. La función preciocalcula el precio
de un producto sumándole el impuesto correspondiente al precio base y devuelve el
valor calculado mediante la sentencia return.

Por otra parte, en la función maindeclaramos dos variables de tipo floatque contie-
nen el precio base del producto y el impuesto aplicable. La siguiente sentencia dentro
de la función maines la llamada a la función de biblioteca printf,que recibe como pará-
metro una llamada a la función precio,que devuelve un valor de tipo float. De esta
manera, la función printfimprime por la salida estándar el valor devuelto por la fun-
ción precio. Es importante tener en cuenta que las variables importey tasa(argumen-
tos) dentro de la función maintienen una correspondencia con las variables basee
impuesto(parámetros) dentro de la función preciorespectivamente.

72

3. Funciones en C
3.2 Declaración de funciones

En el ejemplo anterior, justo antes de la función main, hemos declarado la función pre-
cio. La intención es que la función mainsea capaz de reconocerla. Sin embargo, la defi-
nición de dicha función aparece después de la función main. Las definiciones de fun-
ción pueden aparecer en cualquier orden dentro de uno o más ficheros fuentes. Más
adelante, en esta unidad, veremos en detalle la declaración y definición de funciones.
Por otra parte, hemos añadido la sentencia return 0al final de la función main, puesto
que se trata de una función como otra cualquiera y puede devolver un valor a quien le
ha llamado, en este caso el entorno en el que se ejecuta el programa. Generalmente, el
valor 0implica un fin de ejecución normal, mientras que otro valor diferente implica un
final de ejecución inusual o erróneo.

3.2 Declaración de funciones

Antes de empezar a utilizar una función debemos declararla. La declaración de una fun-
ción se conoce también como prototipo de la función. En el prototipo de una función
se tienen que especificar los parámetros de la función, así como el tipo de dato que
devuelve.

Los prototipos de las funciones que se utilizan en un programa se incluyen generalmente
en la cabecera del programa y presentan la siguiente sintaxis:

tipo_de_retorno nombre_de_la_función(lista_de_parámetros);

En el prototipo de una función no se especifican las sentencias que forman parte de la
misma, sino sus características. Por ejemplo:

int cubo(int numero);

En este caso se declara la función cuboque recibe como parámetro una variable de tipo
entero (numero)y devuelve un valor del mismo tipo. En ningún momento estamos espe-
cificando qué se va a hacer con la variable numero, sólo declaramos las características
de la función cubo.

Cabe señalar que el nombre de los parámetros es opcional y se utiliza para mejorar la
comprensión del código fuente. De esta manera, el prototipo de la función cubopodría
expresarse de la siguiente manera:

int cubo(int);

Los prototipos de las funciones son utilizados por el compilador para verificar que se
accede a la función de la manera adecuada con respecto al número y tipo de parámetros,
y al tipo de valor de retorno de la misma. Veamos algunos ejemplos de prototipos de
funciones:

int potencia(int base, int exponente);
double area_rectangulo (float base, float altura);
int mayor(int, int);
struct direccion entrada(void);

73

3. Funciones en C
3.3 Definición de funciones

Las funciones de biblioteca se declaran en lo que se conocen como ficheros de cabe-
cera o ficheros .h (del inglés headers, cabeceras). Cuando deseamos utilizar alguna de
las funciones de biblioteca, debemos especificar el fichero .h en que se encuentra decla-
rada la función, al inicio de nuestro programa. Por ejemplo, si deseamos utilizar la fun-
ción printfen nuestro programa, debemos incluir el fichero stdio.h que contiene el pro-
totipo de esta función.

3.3 Definición de funciones

Tras declarar una función, el siguiente paso es implementarla. Generalmente, este paso
se conoce como definición. Es precisamente en la definición de una función donde se
especifican las instrucciones que forman parte de la misma y que se utilizan para llevar
a cabo la tarea específica de la función. La definición de una función consta de dos par-
tes, el encabezado y el cuerpo de la función. En el encabezado de la función, al igual
que en el prototipo de la misma, se tienen que especificar los parámetros de la función,
si los utiliza y el tipo de datos que devuelve, mientras que el cuerpo se compone de las
instrucciones necesarias para realizar la tarea para la cual se crea la función. La sinta-
xis de la definición de una función es la siguiente:

tipo_de_retorno nombre_de_la_función(lista_de_parámetros)
{

sentencias;

}

El tipo_de_retornorepresenta el tipo de dato del valor que devuelve la función. Este
tipo debe ser uno de los tipos simples de C, un puntero a un tipo de C o bien un tipo
struct. De forma predeterminada, se considera que toda función devuelve un tipo entero
(int). En otras palabras, si en la declaración o en la definición de una función no se
especifica el tipo_de_retorno, el compilador asume que devuelve un valor de tipo int.
El nombre_de_la_funciónrepresenta el nombre q
  • Links de descarga
http://lwp-l.com/pdf7875

Comentarios de: Funciones en C (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad