Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Funciones de C

Funciones de C

Luis Fajardo

May 04, 2023
Tweet

More Decks by Luis Fajardo

Other Decks in Programming

Transcript

  1. Funciones de C Una función es un bloque de código

    que ejecuta una acción... Liceo Militar de Honduras | Luis E. Fajardo
  2. Para que sirve una función? Para ejecutar una operación específica

    de un programa. Para simplificar algunas tareas y procedimientos del programa. Para tener mejor legibilidada y comprensión del programa (claridad y limpieza). Para reducir la complejidad de desarrollo de un programa. Permite dividir un problema en subproblemas (divide y vencerás). Cada función cumple un propósito único e identificable en el programa. Liceo Militar de Honduras | Luis E. Fajardo
  3. Ventajas del uso de funciones Aportan claridad al programa al

    dividir el programa en tareas específicas que aportan solución al problema global (escalabilidad). Evita repetición de líneas de código y procedimientos en distintas partes del programa (reutilización de código). El uso de funciones facilita la detección de errores (depuración del programa). Liceo Militar de Honduras | Luis E. Fajardo
  4. Las funciones cumplen con estos requisitos... Deben identificarse con un

    tipo de dato específico (int, char, char*, double, float, etc.). Pueden recibir argumentos, también pueden haber funciones que no reciban argumentos. Cada argumento debe tener un tipo de dato asociado. Pueden contener cualquier cantidad de instrucciones (líneas de código). Pueden llamar a otras funciones dentro de sí mismas. Pueden devolver un resultado o simplemente ejecutar una acción que no requiera devolución de resultados al programa. Liceo Militar de Honduras | Luis E. Fajardo
  5. Principales tareas de una función Las funciones en general deben

    cumplir con las siguientes tareas: aceptar valores (argumentos). realizar cálculos o procedimientos. entregar resultados al programa (de forma ímplicita o explícita). Liceo Militar de Honduras | Luis E. Fajardo
  6. Las funciones en C Las formas básicas de función en

    C pueden estar compuestas de la siguiente manera: Tienen un tipo de dato asociado. Los tipos de datos más comunes con los que se identifica una función son: int , double , char , char* , void . Tienen un nombre que las identifica con respecto a las demás funciones y variables del programa. Pueden tener cero o más argumentos. Cada argumento debe tener un tipo de dato asociado. Pueden devolver un valor o una serie de valores al programa, como también pueden haber funciones que no devuelven nada. Liceo Militar de Honduras | Luis E. Fajardo
  7. Las funciones en C Las funciones siempre son invocadas desde

    otras funciones, si una función no se invoca desde ninguna otra función del programa solo estará ocupando espacio en el archivo de código fuente. La función main() no puede ser invocada por ninguna función, ya que el compilador se encarga de buscar a esta en el código fuente y utilizarla como punto de entrada al programa. La función main() se considera de acceso restringido dentro del código fuente (solo el compilador tiene el permiso de acceso a la función). Liceo Militar de Honduras | Luis E. Fajardo
  8. Sintaxis de una función de C <tipo dato> <nombre funcion>(

    <argumentos...> ) { return <valor> } tipo dato: el tipo de dato define la naturaleza del valor que devolverá la función (entero, decimal, caracter, etc). nombre funcion: es el nombre que identifica a la función con respecto a las demás funciones y variables del programa. argumentos: son valores que recibe la función que son utilizados durante la ejecución de la misma. return: sirve como punto de salida de la función. Una función puede tener varios puntos de salida. valor: es el dato que devuelve la función. Liceo Militar de Honduras | Luis E. Fajardo
  9. Sintaxis de una función de C Cuando una función es

    creada se le suele llamar argumentos a la lista de variables que esta puede contener entre los paréntesis. int funcion(arg1, arg2, arg3) { declaraciones... } La lista de variables entre paréntesis (arg1, arg2, arg3) se les llama argumentos. Liceo Militar de Honduras | Luis E. Fajardo
  10. Sintaxis de una función de C Cuando una función es

    invocada desde otra función se le suele llamar parámetros a la lista de valores que esta puede contener entre los paréntesis. int main(int argc, char *argv[]) { int result = funcion(23, 12, 44); } La lista de valores entre paréntesis (23, 12, 44) se les llama parámetros. Liceo Militar de Honduras | Luis E. Fajardo
  11. Funciones que retornan un valor int suma(int valor1, int valor2)

    { int resultado = valor1 + valor2; return resultado; } Si a la función no se le especifica un punto de salida (palabra reservada return ) se genera un error en tiempo de compilación. Liceo Militar de Honduras | Luis E. Fajardo
  12. Llamadas a funciones que retornan valores #include <stdio.h> int main(int

    argc, char const *argv[]) { int resultado = suma(34, 16); printf("suma: %d\n", resultado); return 0; } Liceo Militar de Honduras | Luis E. Fajardo
  13. Funciones que no retornan valores void imprimirSuma(int valor1, int valor2)

    { printf("valor 1: %d\n", valor1); printf("valor 2: %d\n", valor2); printf("suma: %d\n", valor1 + valor2); } las funciones que no retornan valores se identifican con la palabra reservada void . Liceo Militar de Honduras | Luis E. Fajardo
  14. Llamadas a funciones que no retornan valores #include <stdio.h> int

    main(int argc, char const *argv[]) { // llamada a funcion que no retorna valores imprimirSuma(34, 16); return 0; } Liceo Militar de Honduras | Luis E. Fajardo
  15. Funciones sin argumentos int multiplicar() { int valor1 = 5;

    int valor2 = 25; int resultado = valor1 * valor2; return resultado; } void imprimir() { char* nombre = "Jhon"; char* apellido = "Doe"; printf("Nombre completo: %s %s\n", nombre, apellido); } Liceo Militar de Honduras | Luis E. Fajardo
  16. Llamadas a funciones sin argumentos #include <stdio.h> int main(int argc,

    char const *argv[]) { // llamada a funciones sin argumentos int resultado = multiplicar(); printf("multiplicacion: %d\n", resultado); imprimir(); return 0; } Liceo Militar de Honduras | Luis E. Fajardo
  17. Posibles errores de compilación al trabajar con funciones el nombre

    de la función ya se encuentra definido en otra parte del programa. Liceo Militar de Honduras | Luis E. Fajardo
  18. Posibles errores de compilación al trabajar con funciones el nombre

    de la función ya se encuentra definido en otra parte del programa. int multiplicar() { int valor1 = 5; int valor2 = 25; int resultado = valor1 * valor2; return resultado; } int main(int argc, char const *argv[]) { int multiplicar = 5 * 8; printf("multiplicacion: %d\n", multiplicar()); imprimir(); return 0; } Liceo Militar de Honduras | Luis E. Fajardo
  19. Posibles errores de compilación al trabajar con funciones el tipo

    de dato retornado no coincide con el tipo de dato definido en la función. Liceo Militar de Honduras | Luis E. Fajardo
  20. Posibles errores de compilación al trabajar con funciones el tipo

    de dato retornado no coincide con el tipo de dato definido en la función. double convertirTemperatura(double fahrenheit) { double celsius = (fahrenheit - 32) * 5 / 9; return "celsius"; } Liceo Militar de Honduras | Luis E. Fajardo
  21. Posibles errores de compilación al trabajar con funciones el tipo

    de dato retornado no coincide con el tipo de dato definido en la función. void imprimirSuma(int valor1, int valor2) { printf("valor 1: %d\n", valor1); printf("valor 2: %d\n", valor2); return valor1 + valor2; } Liceo Militar de Honduras | Luis E. Fajardo