馃搶 Lista de Librer铆as Est谩ndar en C

1. <stdio.h> - Entrada y salida est谩ndar

馃搶 Maneja funciones para leer y escribir datos en la consola y en archivos.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
printf() Imprime en pantalla printf("Hola Mundo\n");
scanf() Lee entrada del usuario scanf("%d", &num);
fopen() Abre archivos FILE *archivo = fopen("datos.txt", "r");
fclose() Cierra archivos fclose(archivo);
fgets() Lee l铆nea de texto de un archivo fgets(buffer, 100, archivo);

馃敼 C贸mo usarla:

#include <stdio.h>

int main() {
    printf("Hola, bienvenido a C.\n");
    return 0;
}

 

2. <stdlib.h> - Utilidades generales

馃搶 Proporciona funciones para gesti贸n de memoria, conversi贸n de tipos y control del programa.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
malloc() Reserva memoria int *p = (int*) malloc(sizeof(int));
free() Libera memoria free(p);
exit() Finaliza el programa exit(0);
atoi() Convierte cadena a entero int num = atoi("123");

馃敼 C贸mo usarla:

#include <stdlib.h>

int main() {
    int *p = (int*) malloc(sizeof(int));
    if (p == NULL) {
        exit(1);
    }
    free(p);
    return 0;
}

 

3. <math.h> - Funciones matem谩ticas

馃搶 Contiene funciones para c谩lculos matem谩ticos.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
sqrt(x) Ra铆z cuadrada double r = sqrt(25.0);
pow(x, y) Potencia double p = pow(2, 3);
log(x) Logaritmo natural double l = log(10);
sin(x), cos(x), tan(x) Funciones trigonom茅tricas double s = sin(M_PI / 2);

馃敼 C贸mo usarla (No olvidar -lm al compilar):

#include <math.h>
#include <stdio.h>

int main() {
    printf("Ra铆z cuadrada de 16: %.2f\n", sqrt(16));
    return 0;
}

 

4. <string.h> - Manipulaci贸n de cadenas

馃搶 Ayuda a trabajar con strings en C.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
strlen() Longitud de cadena int len = strlen("Hola");
strcpy() Copia cadenas strcpy(destino, origen);
strcat() Concatena cadenas strcat(s1, s2);
strcmp() Compara cadenas strcmp("Hola", "Mundo");

馃敼 C贸mo usarla:

#include <string.h>
#include <stdio.h>

int main() {
    char mensaje[20] = "Hola ";
    strcat(mensaje, "Mundo");
    printf("%s\n", mensaje);
    return 0;
}

 

5. <time.h> - Manejo del tiempo

馃搶 Permite trabajar con fechas y tiempos.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
time() Obtiene el tiempo actual time_t t = time(NULL);
localtime() Convierte tiempo en formato legible struct tm *tm_info = localtime(&t);
strftime() Formatea fecha y hora strftime(buffer, 80, "%Y-%m-%d", tm_info);

馃敼 C贸mo usarla:

#include <time.h>
#include <stdio.h>

int main() {
    time_t t;
    time(&t);
    printf("Fecha y Hora: %s", ctime(&t));
    return 0;
} 

 

6. <ctype.h> - Caracteres y tipos

馃搶 Funciones para trabajar con caracteres.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
isalpha() Verifica si es una letra isalpha('A');
isdigit() Verifica si es un n煤mero isdigit('5');
toupper() Convierte a may煤scula toupper('a');
tolower() Convierte a min煤scula tolower('A');

馃敼 C贸mo usarla:

#include <ctype.h>
#include <stdio.h>

int main() {
    char letra = 'a';
    printf("May煤scula: %c\n", toupper(letra));
    return 0;
} 

 

7. <assert.h> - Aserciones y depuraci贸n

馃搶 Permite verificar condiciones en tiempo de ejecuci贸n.

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
assert(exp) Termina el programa si exp es falsa assert(1 == 1);

馃敼 C贸mo usarla:

#include <assert.h>

int main() {
    int x = 5;
    assert(x > 0);  // No hay error
    assert(x < 0);  // Falla aqu铆
    return 0;
} 

 

8. <limits.h> - L铆mites de tipos de datos

馃搶 Contiene constantes que definen los valores m铆nimos y m谩ximos de los tipos de datos en C.

馃敼 Constantes principales:

Constante Descripci贸n Ejemplo
CHAR_BIT Bits por car谩cter printf("Bits por char: %d\n", CHAR_BIT);
INT_MAX Valor m谩ximo de un int printf("M谩ximo int: %d\n", INT_MAX);
INT_MIN Valor m铆nimo de un int printf("M铆nimo int: %d\n", INT_MIN);
LONG_MAX Valor m谩ximo de long printf("M谩ximo long: %ld\n", LONG_MAX);

馃敼 C贸mo usarla:

#include <limits.h>
#include <stdio.h>

int main() {
    printf("El rango de un int es %d a %d\n", INT_MIN, INT_MAX);
    return 0;
} 

 

9. <errno.h> - Manejo de errores

馃搶 Define c贸digos de error usados en operaciones de entrada/salida y memoria.

馃敼 Constantes principales:

Constante Descripci贸n Ejemplo
errno Variable global de error if (fopen("no_existe.txt", "r") == NULL) perror("Error");
EDOM Error de dominio matem谩tico if (sqrt(-1) < 0) printf("Error de dominio matem谩tico.\n");
ERANGE Error de rango if (pow(10, 1000) > 0) printf("Error de rango.\n");

馃敼 C贸mo usarla:

#include <stdio.h>
#include <errno.h>

int main() {
    FILE *archivo = fopen("archivo_que_no_existe.txt", "r");
    if (archivo == NULL) {
        perror("Error al abrir archivo");
    }
    return 0;
}

 

10. <stdbool.h> - Booleanos en C

馃搶 Define los valores true y false en C (antes se usaban 0 y 1).

馃敼 Constantes principales:

Constante Descripci贸n Ejemplo
bool Tipo de dato booleano bool esCierto = true;
true Representa verdadero (1) if (true) printf("Verdadero\n");
false Representa falso (0) if (!false) printf("Falso\n");

馃敼 C贸mo usarla:

#include <stdbool.h>
#include <stdio.h>

int main() {
    bool esValido = true;
    if (esValido) {
        printf("La condici贸n es verdadera.\n");
    }
    return 0;
} 

 

11. <signal.h> - Manejo de se帽ales

馃搶 Proporciona funciones para manejar se帽ales del sistema (interrupciones como Ctrl+C).

馃敼 Funciones principales:

Funci贸n Descripci贸n Ejemplo
signal() Captura se帽ales signal(SIGINT, manejar_signal);
raise() Env铆a una se帽al al proceso raise(SIGTERM);

馃敼 C贸mo usarla:

#include <signal.h>
#include <stdio.h>

void manejar_signal(int signo) {
    printf("¡Se recibi贸 la se帽al %d!\n", signo);
}

int main() {
    signal(SIGINT, manejar_signal);  // Captura Ctrl+C
    while (1);
    return 0;
} 

 

12. <stddef.h> - Tipos de datos est谩ndar

馃搶 Define tipos de datos b谩sicos para punteros y offsets.

馃敼 Constantes principales:

Tipo Descripci贸n Ejemplo
size_t Tama帽o de objetos en bytes size_t tam = sizeof(int);
ptrdiff_t Diferencia entre dos punteros ptrdiff_t diff = p2 - p1;

馃敼 C贸mo usarla:

#include <stddef.h>
#include <stdio.h>

int main() {
    printf("Size de un int: %zu bytes\n", sizeof(int));
    return 0;
} 

 

13. <stdint.h> - Tipos enteros espec铆ficos

馃搶 Define tipos de datos de tama帽o fijo (int8_t, uint32_t, etc.).

馃敼 Tipos principales:

Tipo Descripci贸n Ejemplo
int8_t Entero de 8 bits int8_t a = 127;
uint16_t Entero sin signo de 16 bits uint16_t b = 65535;

馃敼 C贸mo usarla:

#include <stdint.h>
#include <stdio.h>

int main() {
    int8_t peque帽o = 127;
    printf("Valor: %d\n", peque帽o);
    return 0;
}

 

 

 

 

 

 

 

 

 

Destacado

Bootloader Avanzado en Ensamblador

Bootloader Avanzado en Ensamblador Caracter铆sticas del Bootloader Se carga en la direcci贸n 0x7C00 (BIOS). ...