8 de Junio de 2024 - ed. hace: 5 meses, 2 semanas
Introducción al lenguaje de programación C, segunda parte. El contenido de este post es una traducción al idioma español de la pagina w3schools.com/c la cual solo se encuentra disponible en inglés
Una función es un bloque de código que solo se ejecuta cuando es llamado.
Se le pueden pasar datos, llamados parametros.
Las funciones son usadas para realizar ciertas acciones, y son importantes para reutilizar código: Define el código una vez, usalo muchas veces
main()
printf()
scanf()
Función que no retorna nada (void)
void mi_funcion(){
// código a ejecutar
}
mi_funcion();
código
void mi_funcion(){
printf("Acabo de ser ejecutada!");
}
int main(){
mi_funcion();
mi_funcion();
mi_funcion();
return 0;
}
tipo_de_retorno nombre_de_funcion(parametro_1, parametro_2, parametro_3) {
// Código a ejecutar
}
La siguiente función recibe una cadena de texto nombre
como parametro.
Cuando la función es llamada, se pasa un "nombre", que es usado dentro de la
función para imprimir "Hola" y el nombre de cada persona
#include <stdio.h>
void mi_funcion(char nombre[]){
printf("Hola %s\n", nombre);
}
void main(){
mi_funcion("Pepe");
mi_funcion("Juanita");
mi_funcion("Rosamel");
}
Salida
Hola Pepe
Hola Juanita
Hola Rosamel
#include <stdio.h>
void mi_funcion(char nombre[], int edad){
printf("Hola %s, tienes %i años de edad\n", nombre, edad);
}
void main(){
mi_funcion("Pepe", 16);
mi_funcion("Juanita", 35);
mi_funcion("Rosamel", 46);
}
Hola Pepe, tienes 16 años de edad
Hola Juanita, tienes 35 años de edad
Hola Rosamel, tienes 46 años de edad
#include <stdio.h>
void mi_funcion(int numeros[5]){
for (int i=0; i<5; i++) {
printf("%d\n", numeros[i]);
}
}
void main(){
int mis_numeros[5] = {10, 20, 30, 40, 50};
mi_funcion(mis_numeros);
}
10
20
30
40
50
Si se quiere que una función retorne un valor, se puede usar tipos de datos
(como int
float
, etc) en vez de void
, y usar return
dentro de la función
int mi_funcion(int x, int y) {
return x + y;
}
int main() {
printf("El resultado es: %d", mi_funcion(5, 3));
return 0;
}
Salida
8
Almacenando la salida en una variable
int mi_funcion(int x, int y) {
return x + y;
}
void main() {
int resultado = mi_funcion(5, 3);
printf("El resultado es: %d", resultado);
}
Salida
8
#include <stdio.h>
float a_celcius(float fahrenheit){
return (5.0/9.0) * (fahrenheit - 32.0);
}
void main(){
float f_valor = 98.8;
float resultado = a_celcius(f_valor);
printf("%.2f° Fahrenheit ", f_valor);
printf("equivalen a %.2f° Celcius\n", resultado);
}
98.80° Fahrenheit equivalen a 37.11° Celcius
Recursión es la técnica de hacer que una función se llame a sí misma. Esta técnica provee una manera de romper problemas complejos en problemas más simples, que son mas faciles de resolver.
La recursión puede se un poco complicada de comprender. La mejor forma de entender como funciona es experimentando con ella.
int sun(int k);
int main(){
int result = sum(10);
printf("%d", result);
return 0;
}
int sum(int k){
if(k>0){
return k + sum(k-1);
} else {
return 0;
}
}
Cuando la función sum()
es llamada, esta agrega el parámetro k
la la suma
de todos los números menores que k
y retorna el resultado. Cuando k
vale
0
, la función solo retorna 0
.
Cuando este programa se ejecuta, realiza los siguientes pasos:
10 + sum(9)
10 + (9 + sum(8))
10 + (9 + (8 + sum(7)))
10 + (9 + (8 + (7 + sum(6))))
10 + (9 + (8 + (7 + (6 + sum(5)))))
10 + (9 + (8 + (7 + (6 + (5 + sum(4))))))
10 + (9 + (8 + (7 + (6 + (5 + (4 + sum(3)))))))
10 + (9 + (8 + (7 + (6 + (5 + (4 + (3 + sum(2))))))))
10 + (9 + (8 + (7 + (6 + (5 + (4 + (3 + (2 + sum(1)))))))))
10 + (9 + (8 + (7 + (6 + (5 + (4 + (3 + (2 + (1 + sum(0))))))))))
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0
#include <math.h>
printf("%f", sqrt(16));
ceil()
hacia arribafloor()
hacia abajoround()
hacia el entero mas cercanoprintf("%f", ceil(1.4));
printf("%f", floor(1.4));
printf("%f", round(1.4));
printf("%f", round(1.5));
printf("%f", pow(4,3));
Función | Descripción |
---|---|
abs(x) |
Devuelve el valor absoluto de x |
acos(x) |
Devuelve el arcocoseno de x |
asin(x) |
Devuelve el arcoseno de x |
atan(x) |
Devuelve el arco tangente de x |
cbrt(x) |
Devuelve la raíz cúbica de x |
cos(x) |
Devuelve el coseno de x |
exp(x) |
Devuelve el valor de $E^x$ |
sin(x) |
Devuelve el seno de x (x en radianes) |
tan(x) |
Devuelve la tangente de un ángulo x |