Librerias en Lenguaje C
Librerias en Lenguaje C
Librerias en Lenguaje C
multiplicacin, etc).
En la siguiente tabla se muestran los operadores de los que disponemos en C y su funcin asociada.
Los operadores relacionales son smbolos que se usan para comparar dos valores. Si el resultado de la comparacin es correcto la expresin considerada
es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo bsico bolean, en
cambio, 8<4 (ocho menor que cuatro) es falsa, false. En la primera columna de la tabla, se dan los smbolos de los operadores relacionales, en la segunda, el
nombre de dichos operadores, y a continuacin su significado mediante un ejemplo.
Como operadores lgicos designamos a aquellos operadores que nos permiten ``conectar'' un par de propiedades (al igual que en lgica):
Numero = 2701;
if ( EsPrimo(numero) && (numero > 1000) ){
/* Ejecutaremos este cdigo si numero */
/* es primo y nmero es mayor que 100 */
Los operadores lgicos de los que disponemos en C son los siguientes:
Al igual que con la igualdad hay que tener especial cuidado con los operadores && y , ya que si ponemos solamente un & o un , nos estamos refiriendo a
un ``and'' o un ``or'' a nivel de bit, por lo que el cdigo puede que no haga lo que queremos (o que algunas veces lo haga y otras veces no).
LIBRERIAS EN LENGUAJE C
Otras librerias que no tienen funciones asociadas. Pero tienen macros constantes y/o estructuras.
#include <assert.h>
#include <errno.h>
#include <float.h>
#include <limits.h>
#include <stdarg.h>
#include <stddef.h>
RESUMEN DE LIBRERIAS
assert.h Contiene una macro para el diagnstico dentro de los programas.
ctype.h Contiene varias funciones para comprobacin de tipos y transformacin de caracteres.
errno.h Contiene varias macros usadas para informar de errores.
limits.h Contienen varias macros que definen constantes para el tamao de tipo enteros.
float.h Contienen varias macros que definen constantes para el tamao de tipo flotante.
locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dgitos, etc.
math.h Contiene una macro y varias funciones matemticas.
setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones.
signal.h Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecucin, tal como una seal
de interrupcin de una fuente externa o un error en la ejecucin.
stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de funcin de tamao y tipo desconocido.
stddef.h Contiene varios tipos y macros que tambin estn definidas en otras libreras, como size_t.
stdio.h Contiene tipos, macros y funciones para la realizacin de tareas de E/S.
stdlib.h Contiene tipos, macros y funciones para la conversin numrica, generacin de nmeros aleatorios, bsquedas y ordenacin, gestin de
memoria y tareas similares.
string.h Contiene tipos, macros y funciones para la manipulacin de cadenas de caracteres.
time.h Contiene tipos, macros y funciones para la la manipulacin de informacin sobre fechas y horas.
Tipos datos: char, int, float, long, long long, short, double, void.
CADENAS DE FORMATO
d, i
un carcter
imprime el carcter %
puntero
SECUENCIA DE ESCAPE
\a
Alerta
\b
Espacio atrs
\f
Salto de pgina
\n
Salto de lnea
\r
Retorno de carro
\t
Tabulacin horizontal
\v
Tabulacin vertical
\\
Barra invertida
\'
Comilla simple
\"
Comillas dobles
\OOO
\xHHH
=
=
=
=
=
=
=
=
=
=
Negro
Azul
Verde
Aguamarina
Rojo
Prpura
Amarillo
Blanco
Gris
Azul claro
Colores de Fuente
a = Verde claro
b = Aguamarina claro
c = Rojo claro
d = Prpura claro
e = Amarillo claro
f = Blanco brillante
Por Prof.Luis Eduardo Aponte - Publicado en: Basica
El lenguaje C, C++ contiene numerosas funciones, cuando se emplean funciones de esta biblioteca estandar, se incrementa la transportabilidad de los
programas.
Las funciones estandar se dividen en grupos, todas las funciones que pertenecen al mismo grupo estan declaradas en el archivo de cabecera (aquel que dice
xxx.h), la letra "h" significa header en ingls y es lo que se llama cabecera.
Para incluir alguna funcin perteneciente a estas cabeceras debemos escribir lneas de cdigo como se muestra de ejemplo:
#include
He disenado esta tabla para que estudiemos las bibliotecas de funciones, obviamente son las que he encontrado en mis libros y sistemas.
BIBLIOTECAS Y DESCRIPCIONES DE USO
Nombre de Biblioteca Descripcion
assert.h
Es proporcionar una definicion de la macro assert, que imprime un mensaje de error y aborta el programa
alloc.h
Existen funciones para asignar, liberar memoria, u obtener informacion de bloques de memoria.
ctype.h
Son funciones que nos permiten conocer la naturaleza de un caracter, o bien para convertir de mayusculas a minusculas y
viceversa; y valores enteros a codigos ASCII.
dir.h
errno.h
Representa los numeros de error, despues que ocurre un error se puede consultar el valor de la varianble del sistema
deerrno para obtener mas informacion sobre ese error.
float.h
limits.h
math.h
setjmp.h
signal.h
stdarg.h
Define funciones que pueden ser llamadas con diferentes numeros de argumentos, de modo que se pueda escribir f(a) y
f(a,b).
stdef.h
stdio.h
stlib.h
Declara funciones que son utiles para diferentes propositos, en especial de busqueda y ordenacion.
string.h
time.h
Nombre de
funcin
Tipo
Biblioteca
a la cual Sintaxis
pertenece
Descripcin
abs(i)
int
stdlib.h
acos(d)
double
math.h
asin(d)
double
math.h
Ejemplo
atan(d)
double
math.h
atan(d1, d2)
double
math.h
atof(s)
double
stdlib.h
atoi(s)
int
stdlib.h
double x;
char *cad_dbl = "200.85"; ...
x=atof(cad_dbl); // convierte la cadena
"200.85" a valor real
int i;
char *cad_ent="123";
...
stdlib.h
siguiente formato:
[espacio en blanco][signo]
[ddd] (siendo obligatorio los
digitos decimales).
Convierte la cadena s a un
entero largo.
La cadena debe tener el
siguiente formato:
[espacio en blanco][signo]
[ddd] (siendo obligatorio los
digitos decimales).
long int i;
char cad_ent="9876543";
...
i=atol(cad_ent); //convierte la cadena
"9876543" al entero largo
atol(s)
long
calloc(n, s)
10
ceil(d)
double
math.h
Devuelve un valor
redondeado por exceso al
siguiente entero mayor
redondeo=ceil(5.1); //redondeo es 6
11
cos(d)
double
math.h
Devuelve el coseno de d
coseno_x=cos(1.6543)
12
cosh(d)
double
math.h
Devuelve el coseno
hiperblico de d
d=1.00;
printf("d=%f.\n\n,d);
Devuelve la diferencia de
tiempo 11(hora2) 12(hora1) , donde 11 y 12
representan el tiempo
transcurrido despues de un
tiempo base (ver funcin
time)
exit(0);
13
time.h
double difftime(time_t
hora2, time_t hora1)
14
exit(u)
stdlib.h
void
terminacin.
15
exp(d)
double
math.h
Eleve e a la potencia d
d=100.00;
(e=2,7182818... es la base del
y=exp(d);
sistema de logaritmos
printf("El exponencial de x=%f.\n\n",y);
naturales (neperianos))
16
fabs(d)
double
math.h
17
fclose(f)
int
stdio.h
18
feof(f)
int
stdio.h
Determina si se ha encontrado
un fin de archivo. si es asi,
feof(fichen);
devuelve un valor distinto de
cero, en otro caso devuelve 0
19
fgetc(f)
int
stdio.h
20
fegts(s, i, f)
char(punte
stdio.h
ro)
21
floor(d)
double
math.h
Devuelve un valor
redondeado por defecto al
entero menor mas cercano
22
fmod(d1, d2)
double
math.h
23
fopen(s1, s2)
file(punter stdio.h
o)
"w"
Abre un archivo
vacio para
escritura
"a"
Abre para
escritura al final
del archivo
"r+"
Abre para
lectura/escritura
if ((corriente2=fopen("datos","W+"))==NULL
printf("El archivo...no se ha abierto \n");
"w+"
Abre un archivo
vacio para
lectura/escritura
"a+"
"rb"
Abre un archivo
binario para
lectura.
"wb"
Abre un archivo
binario para
escritura
"ab"
Abre un archivo
binario para
anadir
Abre un archivo
"rb+" binario para
lectura/escritura.
Abre un archivo
"wb+" binario para
lectura/escritura
Abre o crea un
archivo binario
"ab+"
para
lectura/escritura
24
fprintf(f, ...)
int
stdio.h
25
fputc(c, f)
int
stdio.h
Escribe un caracter en el
archivo f
fputc(*(p++), stdout);
26
fputs(s, f)
int
stdio.h
27
stdio.h
28
free(p)
void
fscanf(f, ...)
int
math.h
fseek(f, l, i)
int
stdio.h
Origen
Significado
SEEK_SET
Principio de
archivo
fseek(f1,OL,SEEK_SET); // ir al principio
Posicion
SEEK_CUR actual
puntero
SEEK_END
31
ftell(f)
long int
32
Final del
archivo
stdio.h
stdio.h
33
getc(f)
int
stdio.h
while(c=getc(fx) !=EOF {
Lee un caracter del archivo f
print ("%c",c);
}
34
getchar( )
int
stdio.h
int getchar(void);
35
gets(s)
char(punte
stdio.h
ro)
36
isalnum(c)
int
ctype.h
int c;
while((*c=getchar()) != '\n')
print ("%c",c);
38
39
40
41
42
isalpha(c)
isascii(c)
iscntrl(c)
isdigit(c)
isgraph(c)
islower(c)
int
int
int
int
int
int
ctype.h
ctype.h
ctype.h
ctype.h
ctype.h
ctype.h
Determina si el argumento es
alfabetico. Devuelve un valor int c;
distinto de cero si es cierto; if (isalpha(c)) printf("%c es letra\n",c);
en otro caso devuelve 0.
Determina si el argumento es
un caracter ASCII. Devuelve
int c;
un valor disitinto de cero si es
if (isascii(c)) printf('%c es un ascii\n",c)
cierto; en otro caso devuelve
0
Determina si el argumento es
un caracter ASCII de control.
if(iscntrl(c)) printf"%c es un caracter de
Devuelve un valor distinto de
control\n",c);
cero si es cierto; en otro caso
devuelve 0
Determina si el numero es un
digito decimal. Devuelve un
valor disitinto de cero si es
if(isdigit(c)) printf"%c es un digito\n",c);
cierto; en otro caso devuelve
0
Determina si el argumento es
un caracter ASCII grafico
(hex 0x21 -0x7e; octal 041
if(isgraph(c)) printf"%c es un caracter
-176). Devuelve un valor
imprimible(no espacio)\n",c);
distinto de cero si es cierto;
en otro caso devuelve 0
Determina si el argumento es
ua minuscula. Devuelve un
if(islower(c)) printf"%c es una letra
valor distinto de cero si es
minuscula\n",c);
cierto; en otro caso devuelve
0
43
isodigit(c)
int
ctype.h
Determina si el argumento es
un digito octal. Devuelve un
valor distinto de cero si es
if(isodigit(c)) printf"%c es un digito octal\n",c);
cierto; en otro caso devuelve
0
44
isprint(c)
int
ctype.h
es un caracter ASCII
imprimible (hex 0x20 -0x7e;
octal 040 -176). Devuelve un
valor distinto de cero si es
cierto; en otro caso devuelve
0
45
46
47
ispunct(c)
isspace(c)
isupper(c)
int
int
int
ctype.h
ctype.h
ctype.h
Determina si el argumento es
un caracter de puntuacion.
if(ispunct(c)) printf"%c es un caracter de
Devuelve un valor distinto de
puntuacion\n",c);
cero si es cierto; en otro caso
devuelve 0
Determina si el argumento es
un espacio en blanco.
Devuelve un valor distinto de if(isspace(c)) printf"%c es un espacio\n",c);
cero si es cierto; en otro caso
devuelve 0
Determina si el argumento es
una mayuscula. Devuelve un
if(isupper(c)) printf"%c es una
valor distinto de cero si es
mayuscula\n",c);
cierto; en otro caso devuelve
0
48
isxdigit(c)
int
ctype.h
Determina si el argumento es
un digito hexadecimal.
ifisxdigit(c)) print"%c es un digito
Devuelve un valor distinto de
hexadecimal\n",c)
cero si es cierto; en otro caso
devuelve 0
49
labs(l)
long int
math.h
50
log(d)
double
math.h
hdouble x,y;
Devuelve el logaritmo natural
x=10;
de d
y=log(x);
51
52
log10(d)
double
math.h
malloc(u)
void(punte
stdlib.h
ro)
hdouble x,y;
x=10;
y=log10(x);
53
pow(d1, d2)
double
math.h
Devuelve d1 elevado a la
potencia d2
54
printf(...)
int
stdio.h
Formato
%c
Caracter
%d
Entero
Decimal
%e
Real (double o
float), notacion
cientifica.
%f
Coma flotante
%s
Cadena de
caracteres
%x
Hexadecimal
sin signo
print("producto %d y %d es %d\n",x,y,x*y);
55
putc(c, f)
int
stdio.h
Escribe un caracter en el
archivo f
56
putchar(c)
int
stdio.h
Escribe un caracter en el
putchar('B');
dispositivo de salida estandar
57
puts(s)
int
stdio.h
putc('*',demo);
rand( )
int
stdlib.h
int rand(void);
59
rewind(f)
void
stdio.h
60
scanf(...)
int
stdio.h
for (i=0;i<10;i++)
printf("%6d\",rand());
%c
Caracter
%d
Enetero
Decimal
%x
Hexadecimal
%i
Entero
Decimal
%f
Numero Real
%o
Octal
%p
Puntero
%s
Cadena
double x, y;
x=0.52;
printf('x =%f radianes\n",x);
y=cos(x);
printf("el coseno de x =%f\n",y);
61
sin(d)
double
math.h
Devuelve el seno de d
62
sinh(d)
double
math.h
63
sqrt(d)
double
math.h
64
srand(u)
void
stdlib.h
Inicializa el generador de
numeros aleatorios
srand(semilla);
i=strcmp("MNP", "mnp"); // resultado < 0
i=strcmp("abc", "abc"); // resultado = 0
i=strcmp("xy", "abc"); // resultado > 0
65
strcmp(s1, s2)
int
string.h
66
string.h
67
strcpy(s1, s2)
char
string.h
68
strlen(s)
int
string.h
strset(c, s)
char(punte
string.h
ro)
69
Devuelve el numero de
caracteres de una cadena
longitud=strlen(nombre);
char s[81]="Cadena demo';
printf("La longitud de s es: %d\n" strlen(s));
70
system(s)
int
string.h
system(comd);
71
tan(d)
double
math.h
Devuelve la tangente de d
y=tan(x);
72
tanh(d)
double
math.h
Devuelve la tangente
hiperbolica de d
a=tanh(x);
time(&hora);
73
time(p)
long int
time.h
Devuelve el numero de
segundos transcurridos
despues de un tiempo base
designado
74
toascii
int
ctype.h
c=toascii(entero);
75
tolower
int
ctype.h o
stdlib.h
76
toupper
int
ctype.h o
stdlib.h