CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs OPERADORES Y EXPRESIONES
3.6. Funciones de Biblioteca
Objetivos
1. Conocer algunas funciones de biblioteca de C.
El lenguaje C se acompaña de un cierto número de funciones de biblioteca que reali-
zan varias operaciones y cálculos de uso frecuente. Estas funciones de biblioteca no son
parte del lenguaje en sí, pero las incluyen todas las implementaciones del lenguaje. Algu-
nas funciones devuelven un dato en su llamada; otras indican cuándo una determinada
condición es verdadera o falsa, devolviendo un valor de 1 o 0, respectivamente; y otras
efectúan operaciones especificas sobre los datos y no devuelven nada.
Por ejemplo, hay funciones de biblioteca que efectúan las operaciones estándar de
entrada/salida (leer y escribir caracteres, leer y escribir números, abrir y cerrar archivos,
etc.), funciones que realizan operaciones sobre caracteres (convertir minúsculas en ma-
yúsculas, determinar si un carácter es una letra mayúscula, etc.), funciones que realizan
operaciones en cadenas de caracteres (copiar una cadena de caracteres en otra, compa-
rar dos cadenas, concatenar dos cadenas, etc.), y funciones que realizan diversos cálculos
matemáticos (evaluación de funciones trigonométricas, logarítmica y exponencial, cálculo
de valores absolutos, raíces cuadradas, etc.).
Un conjunto de funciones de biblioteca típico incluirá un gran número de funciones
comunes para la mayoría de los compiladores de C, tales como las mostradas en la Tabla
3.1. En esta tabla, la columna «tipo» se refiere al tipo de datos del resultado que devuelve
la función.
Función Tipo Propósito
abs(i) int Devolver el valor absoluto de i.
ceil(d) double
Redondear por exceso al entero más próximo
(el entero más pequeño que sea mayor o igual a d).
log(d) double Devolver el logaritmo natural de d.
pow(d1, d2) double Devolver di elevado a la potencia d2.
sqrt(d) double devolver la raíz cuadrada de d.
toascii(c) int Convertir el valor del argumento a ASCII.
tolower(c) int Convertir una letra a minúscula.
toupper(c) int Convertir una letra a mayúscula.
Cuadro 3.1: Algunas funciones de biblioteca de uso común
Nota: Tipo se refiere al tipo de datos del resultado devuelto por la función.
c indica argumento de tipo carácter.
i indica argumento de tipo entero.
d indica argumento de doble precisión.
u indica argumento entero sin signo.
Pedro Ramírez <pedroramirez22@gmail.com> 1
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs OPERADORES Y EXPRESIONES
Se accede a una función de biblioteca escribiendo simplemente el nombre de la función,
seguido de una lista de argumentos que representan información que se le pasa a la
función. Los argumentos se deben encontrar encerrados entre paréntesis y separados por
comas. Pueden ser constantes, nombres de variables o expresiones más complicadas. Los
paréntesis deben estar presentes, aunque no haya argumentos.
Una función que devuelve un dato puede aparecer en cualquier sitio dentro de una
expresión, en lugar de una constante o un identificador (una variable o un elemento de
una formación). Se puede acceder a una función que efectúa operaciones sobre datos pero
que no devuelve ningún valor simplemente escribiendo el nombre de la función, ya que
este tipo de referencia a una función constituye una instrucción de expresión.
Para utilizar una función de biblioteca puede ser necesario incluir cierta información
dentro de la parte principal del programa. Por ejemplo, las declaraciones de funciones
y definiciones de constantes simbólicas suelen necesitarse cuando se utilizan funciones
de biblioteca. Esta información suele encontrarse almacenada en ciertos archivos que se
proporcionan con el compilador. Por tanto, la información requerida se puede obtener
simplemente accediendo a estos archivos. Esto se lleva a cabo mediante la instrucción del
preprocesador #include, que es
#include<nombre_archivo>
en donde nombre_archivo representa el nombre de un determinado archivo.
Los nombres de estos archivos especiales son específicos de cada implementación de
C, aunque hay ciertos nombres de archivos comúnmente usados, como stdio.h y math.h.
El sufijo «h» generalmente designa un archivo de «cabecera», que indica que se debe
incluir al comienzo del programa.
EJEMPLO 3.1 Conversión de un carácter de minúscula a mayúscula. El si-
guiente es un programa completo en C que lee una letra minúscula, la transforma en
mayúscula y la escribe.
/* leer una minúscula y escribir la mayúscula correspondiente */
#include<stdio.h>
#include<ctype.h>
main ()
{
int minusc, mayusc;
minusc = getchar();
mayusc = toupper(minusc);
putchar(mayusc);
}
Nótese también las instrucciones del preprocesador #include <stdio.h> y #include
<ctype. h>, que aparecen al comienzo del programa. Estas instrucciones hacen que se
inserten los contenidos de los archivos stdio.h y ctype.h en el programa al comienzo
del proceso de compilación.
Pedro Ramírez <pedroramirez22@gmail.com> 2
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs OPERADORES Y EXPRESIONES
Cuestiones de Repaso
1. Describir, en términos generales, las clases de operaciones y cálculos realizados por
las funciones de biblioteca de C.
2. ¿Cómo se accede a las funciones de biblioteca? ¿Cómo se pasa información a una
función de biblioteca desde el punto de acceso?
3. ¿Qué es un argumento? ¿Cómo se escriben los argumentos? ¿Cómo se escribe una
llamada a una función de biblioteca si no tiene argumentos?
Problemas
1. Cada una de las siguientes expresiones utiliza una función de biblioteca. Identificar
el propósito de cada expresión.
a) abs(i − 2 ∗ j)
b) fabs(x + y)
c) isprint(c)
d) isdigit(c)
e) toupper(d)
f ) ceil(x)
g) exp(x)
h) log(x)
i) toascii(10 ∗ j)
j) tolower(65)
k) sin(x − y)
Pedro Ramírez <pedroramirez22@gmail.com> 3