1
Librerías de Programación en C
Luis Aurelio Medina Medina
196958
Instituto de Ingeniería y Tecnología – Universidad Autónoma de Ciudad Juárez
Ingeniería en Sistemas Computacionales
IEC110796 – Programación Estructurada
Mtro. René Noriega Armendáriz
09/08/2020 a las 12:00 A.M
2
Al momento de estar en un entorno de desarrollo y un lenguaje como “C” primeramente
se notan unos renglones que vienen con “palabras” ya escritas. Cómo por ejemplo “<stdio.h>” o
“<iostream.h>”. Pues a estas “palabras” se les denomina librerías o bibliotecas y son las que
contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer
el teclado, escribir en la pantalla, manejar números, realizar funciones matemáticas, dependiendo
de cada una tienen un soporte en específico a ciertas funcionalidades que ya han sido añadidas en
el lenguaje y se pueden utilizar, esto con el fin de evitar métodos alternos creados por el usuario
que generalmente son más complicados a realizar que la misma función que ya está establecida
dentro de una librería, adicionalmente esto hace que se generé una des optimización en el
programa realizado. Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay
bibliotecas de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos así
pues existen muchas librerías y todas con una función específica.
Así entonces con el tiempo, usuarios que programaban en C fueron compartiendo ideas,
así como las implementaciones, todo esto para poder ver de lo que ahora se denomina las
bibliotecas estándar de C para proporcionar esas funcionalidades de una mejor manera al usuario
sin los problemas que esto conllevaban al inicio de su uso.
A comienzos de los 80 se evidenciaron los problemas de compatibilidad derivados de la
existencia de las múltiples implementaciones del lenguaje. En 1983 el Instituto Nacional
Estadounidense de Estándares (ANSI), creó un comité para establecer una especificación
estándar del lenguaje conocida como ANSI C. Este trabajo culminó con la creación del llamado
estándar C89 en 1989. Una parte del estándar resultante fue un conjunto de bibliotecas de
software denominado 'bibliotecas estándar de ANSI C”.
3
La biblioteca estándar de ANSI C consta de 24 ficheros cabecera que pueden ser
incluidos en un proyecto de programación con una simple directiva. Cada cabecera contiene la
declaración de una o más funciones, tipos de datos y macros.
<iostream.h> Son para las funciones más comunes que vamos a usar son de entrada/salida
de datos. Y las operaciones cómo suma/resta/multiplicaciones/divisiones.
<stdio.h> Es la librería estándar de C, en esencia es el archivo de cabecera que
contiene las definiciones de macros, las constantes, las declaraciones de
funciones y la definición de tipos usados por varias operaciones estándar de
entrada salida.
<iostream.h> Contiene las funciones de ingresar y mostrar datos.
<math.h> Contiene las funciones matemáticas comunes que vamos
<time.h> Contiene las funciones para tratamiento y conversión entre formatos de fecha
y hora.
<conio.h> Sirve para cambiar el fondo de pantalla, dar color al texto, y cuándo termine
de realizar todas las operaciones limpiar la pantalla (getch(), o getche() ),
entre otras.
<string.h> Las cadenas de caracteres, por su forma de constituirse en C, siempre dan
más problemas que los tipos numéricos. Por ello es recomendable utilizar
está librería.
Tabla 1.- Librerías básicas en C.
Este tipo de librerías son las más comunes que se pueden manejar.
4
Contiene la macro assert (aserción), utilizada para detectar
<assert.h> errores lógicos y otros tipos de fallos en la depuración de un
programa.
Conjunto de funciones para manipular números
<complex.h>
complejos (nuevo en C99).
Contiene funciones para clasificar caracteres según sus tipos
o para convertir entre mayúsculas y minúsculas independientemente
<ctype.h>
del conjunto de caracteres (típicamente ASCII o alguna de sus
extensiones).
Para analizar los códigos de error devueltos por las
<errno.h>
funciones de biblioteca.
<fenv.h> Para controlar entornos en coma flotante (nuevo en C99).
Contiene la definición de constantes que especifican ciertas
propiedades de la biblioteca de coma flotante, como la diferencia
<float.h> mínima entre dos números en coma flotante (_EPSOLON), el
número máximo de dígitos de precisión (_DIG), o el rango de
valores que se pueden representar (_MIN, _MAX).
Para operaciones de conversión con precisión entre tipos
<inttypes.h>
enteros (nuevo en C99).
5
Para utilizar los conjuntos de caracteres ISO 646 (nuevo en
<iso646.h>
NA1).
Contiene la definición de constantes que especifican ciertas
<limits.h> propiedades de los tipos enteros, como rango de valores que se
pueden representar (_MIN, _MAX).
Para la función setlocale() y las constantes relacionadas. Se
<locale.h> utiliza para seleccionar el entorno local apropiado (configuración
regional).
Declara las macros setjmp y longjmp para proporcionar
<setjmp.h>
saltos de flujo de control de programa no locales.
Para controlar algunas situaciones excepcionales como la
<signal.h>
división por cero.
Posibilita el acceso a una cantidad variable de argumentos
<stdarg.h>
pasados a una función.
<stdbool.h> Para el tipo booleano (nuevo en C99).
<stdint.h> Para definir varios tipos enteros (nuevo en C99).
<stddef.h> Para definir varios tipos de macros de utilidad.
6
Para realizar ciertas operaciones como conversión de tipos,
generación de números pseudo-aleatorios, gestión de memoria
<stdlib.h>
dinámica, control de procesos, funciones de entorno, de
señalización (??), de ordenación y búsqueda.
Contiene funcionalidades matemáticas de tipo genérico
<tgmath.h>
(type-generic) (nuevo en C99).
Para manipular flujos de datos anchos y varias clases de
<wchar.h> cadenas de caracteres anchos (2 o más bytes por carácter), necesario
para soportar caracteres de diferentes idiomas (nuevo en NA1).
<wctype.h> Para clasificar caracteres anchos (nuevo en NA1).
Tabla 2.- Librerías extendidas en C.
Este tipo de librerías suelen ser para un uso muy en específico durante la elaboración de
un programa muy detallado.
La librería que siento que es más importante es <iostream.h> debido a que está ligada con
la entrada y salida de datos por lo que es de suma importancia en caso de que el programa
requiera de algún dato externo para poder funcionar o requiera arrojar información al usuario, de
esta manera también va ligada con las operaciones aritméticas más usadas, por lo que siempre
debemos tener esta librería ya que se utiliza en todos los programas, creo yo.