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;
}
