2. Programación en C
Definición de una Función
La definición de una función tiene la
estructura:
tipo identificador (argumentos ...)
{
...
cuerpo de la función
...
}
Fuente: José M. Peña
Preparado por: Janitza de Justiniani
3. Programación en C
Uso de una Función
Una función se invoca proporcionando
valores a los argumentos de la llamada.
– Los argumentos se pasan siempre por valor.
– El valor se devuelve por medio de return().
– Las funciones son de tipo void, cuando no
retornan un valor.
– El control del número y tipo de argumentos se
define con la llamada de la función.
Fuente: José M. Peña
Preparado por: Janitza de Justiniani
4. Programación en C
Función de Ejemplo
int factorial(int n )
{
int ret=1;
while (n>1)
ret*=n--;
return(ret);
}
void main()
{printf(“%d!=%dn”,5,factorial(5));
}
Fuente: José M. Peña
Preparado por: Janitza de Justiniani
5. Programación en C
Declaración de Funciones
Para poder hacer uso de una función es
necesario que ésta esté definida o
declarada con antelación.
– Definición de la función: Todo el código de
la función.
– Declaración de la función: Únicamente la
cabecera o prototipo de la función:
int factorial(int n);
int factorial();
Fuente: José M. Peña
Preparado por: Janitza de Justiniani
6. Programación en C
Prototipo de una Función
int factorial(int n); /* Prototipo */
void main()
{
printf(“%d!=%dn”,5,factorial(5));
}
int factorial(int n) /* Definición */
{
...
}
Fuente: José M. Peña
Preparado por: Janitza de Justiniani
8. Construya un programa que calcule el cuadrado de los 10 primeros números
enteros.
#include <stdio.h>
#include <conio.h>
int cuadrado(int x)
{
int r;
r=x*x;
return r;
}
int main()
{
int i,resultado;
for (i=1;i<=5;i++)
{
resultado = cuadrado (i); //Llamar la función, parámetro actual
printf("Cuadrado de %d: %dn",i,resultado);
}
getch();
}
9. Construya una función que realice intercambio de los valores entre 2
variables. Paso por Valor
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int intercambio(int x, int y) //parámetros formales
{
int temp;
temp=x;
x=y;
y=temp;
printf(“ x=%d y=%d temp=%dn“,x,y,temp);
}
int main()
{
int a=1,b=2;
system(“cls”);
printf("a=%d b=%dn",a,b);
intercambio(a,b); // parámetros actuales
getch(); }
10. Diseñe un programa que encuentre el factorial de un número.
#include<stdio.h>
#include<conio.h>
int main()
{
float a, res;
float factorial(int a);
printf ("FactorialnIngrese un numero: ");
scanf ("%f", &a);
res=factorial(a);
printf("nEl factorial de %.0f es: %.0f", a , res);
getch();
}
float factorial(int a)
{
float b, c=1.0;
for(b=1; b<=a; b++) //4!= 1*2*3*4, 5!=1*2*3*4*5; 6!=1*2*3*4*5*6
c=c*b;
return c;
}
11. Programa que permite llamar una función dentro de otra
función.
#include<stdio.h>
#include<conio.h>
int funcion1(int a, int b);
int funcion2(int s, int d);
int main()
{
int a,b;
int resul;
printf(“Introducir dos valores:");
scanf("%d%d", &a,&b);
resul=funcion1(a,b);
printf("%d", resul); getch();
}
12. int funcion1(int a, int b)
{
int resp,z;
z=funcion2(5,6);
printf("El valor de z es:%dn",z);
if(a>b)
resp=a;
else
resp=b;
return(resp);
}
int funcion2(int s, int d)
{
int calc;
calc=s*d;
return(calc); }