Anúncio
3.6 funciones de biblioteca
3.6 funciones de biblioteca
3.6 funciones de biblioteca
Próximos SlideShares
Estructura básica de un programa en C++Estructura básica de un programa en C++
Carregando em ... 3
1 de 3
Anúncio

Mais conteúdo relacionado

Anúncio
Anúncio

3.6 funciones de biblioteca

  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 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
  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 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
  3. 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
Anúncio