Funciones en el Lenguaje C

¿Qué son? ¿Para qué sirven?

  • Son un grupo de sentencias bajo el mismo nombre que realizan una tarea especifica.
  • Facilitan la resolución de problemas usando el principio de "Divide and conquer"

Diferencias entre Programas y funciones

  • Los programas son usados por un usuario externo.
  • Las funciones son usadas por el programador.

Declaracion de Funciones

La forma de declarar una función es:

TipoDeRetorno nombreFuncion(lista parametros);

/*Ejemplos*/

int Potencia(int base, int exponente);

float farenheitACelsius(double celsius);

Implementación de Funciones

int potencia(int base, int exponente){

//TODO 

}


float farenheit(double celsius){

//TODO

}

Retorno de Funciones

  • Si la función debe generar un valor, se retornara utilizando la sentencia return dentro del cuerpo de la función.

La forma de usarla es: 

return (variable o expresión);

  • Esto quiere decir que la función debe terminar, retornando el valor calculado.
  • Hay funciones que no retornan datos, en este caso, se puede usar return, pero sin mencionar una expresión.

Uso de funciones

Se puede retornar de 2 maneras:

  • Almacenar el valor de retorno en una variable.
  • Utilizar el valor de retorno en una expresión.

Uso de Funciones(2)

/*Ejemplo 1*/

void main(){
int potencia;
//TODO
potencia = potencia(a,b);
//TODO

}


/*Ejemplo 2*/
void main(){
//TODO
printf("La temperatura en Celsius es %f ", farenheitACelsius(n));
//TODO
}

La sentencia return y las funciones de tipo void



  • Todas las funciones, excepto aquellas de tipo void, devuelven un valor.
  • Se especifica explícitamente en la sentencia return.
  • Mientras una función no se declare como void, puede ser usada como operando en cualquier expresión válida de C.



La sentencia return y las funciones de tipo void (2)

 

  • Si una función devuelve un entero, no es necesario declararla de tipo int, pues para el lenguaje todas las funciones devuelven un entero (a menos que se indique lo contrario).
  •  Cuando un función no devuelve un valor entero, se debe especificar el tipo de resultado que entrega antes de llamar a la función.

 

Ejemplos

 

/*Funcion de tipo*/

double Cuadrado(double n)
{
    return n*n;
}
/*Funcion void*/

void esPar(int numero){ 
   int resto = numero % 2; 

if ((resto==0) && (numero!=0)) { 
        printf("Es un numero par\n"); 
   }
    else{ 
            printf("No es un numero par\n");
   }
}  

Ejercicio #0

Hacer una función devuelva la suma de 2 números enteros.

Ejercicio #1

Hacer la función Potencia (implementada por ustedes mismos).

lucas.evans.carpio@gmail.com

Ejercicio #2

Hacer una función que calcule el cambio de la temperatura de Farenheit a Celsius.

Funciones en el Lenguaje C

By Lucas Carpio

Funciones en el Lenguaje C

  • 944