Вы находитесь на странице: 1из 11

República Bolivariana de Venezuela Ministerio del Poder Popular para la

Defensa Universidad Nacional Experimental de la Fuerza Armada Nacional


UNEFA - Núcleo Anzoategui San Tomé

Librerias
en Lenguaje C.

Profesor: Estudiante:
José Gonzalez Juan Urbaneja CI:27.700.704

Ing. Telecomunicaciones 6to Semestre

Noviembre 2018
Uno de los problemas más comunes con los que se encuentra un
usuario cuando empieza a codificar en C, es que necesita ciertas funciones
que no forman parte de la sintaxis básica del lenguaje. Este problema es muy
común tanto para los principiantes en programación, como para los que
vienen de otro lenguaje como Java o C#, los cuales tienen más
implementaciones.

La manera de añadir más funcionalidad en C es utilizar librerías o


bibliotecas. Este término que viene del inglés library, agrupa un conjunto de
funcionalidad creado por otras personas y que vamos a seguir directamente
en el programa.

La librería de C para la gestión de tiempos.

Uno de los problemas de gran complejidad que tenemos en todos los


lenguajes es la gestión del tiempo, por ello para C tenemos la librería time.h

Creando números aleatorios.

Para que voy a necesitar el tiempo si quiero generar números


aleatorios. Pues la respuesta es bastante simple, el generador de números
aleatorios necesita una semilla (valor inicial), así que qué mejor que utilizar el
tiempo actual como semilla del generador.

srand(time(NULL));
var=rand();

Con time(NULL) siempre será distinta la semilla ya que con ella


obtenemos el tiempo en segundos del momento actual respecto al 1 de
Enero de 1970.

Midiendo tiempos de ejecución.

Otra de las cuestiones que nos podemos plantear, es la posibilidad de


comprobar cuanto tiempo le lleva a nuestro ordenador ejecutar un fragmento
de código.

clock_t inicio,fin; //variables para medir


tiempo inicio=fin=clock();
//sentencias que queramos saber su tiempo de
ejecucion fin=clock();
printf("El tiempo de ejecucion de esa parte es %lF",((fin-inicio)/
(double)CLOCKS_PER_SEC));
clock_t es el tipo de dato de las variables para medir tiempo.
clock(); devuelve el número de ciclos ejecutados.
CLOCKS_PER_SEC es una constante que indica el número de ciclos que
ejecuta nuestra CPU en un segundo.

La librería para las operaciones matemáticas.

Aunque C posee algunas operaciones matemáticas básicas definidas


en el propio lenguajes, como la resta o la multiplicación, no contiene
operaciones matemáticas avanzadas. Para ello vamos a utilizar la librería
math.h

Cálculo de potencias en C.

La función pow(x,y) permite calcular el resultado de un número elevado


a otro.

int numero =5;


int exponente =3;
int resultado;
resultado=pow(5,3);
//Resultado ahora vale 5^3 =125

Cálculo de raíces cuadradas en C.

La función sqrt(x) permite calcular la raíz cuadrada de un número.

int numero =16;


int resultado;
resultado=sqrt(16);
//resultado vale 4

Otras operaciones de la librería.

La librería también tiene otras funciones, de un uso menos frecuente,


como son: sin(x), cos(x), tan(x), acos(x), asin(x), atan(x) …

La librería para la gestión de cadenas de caracteres en C.

Las cadenas de caracteres, por su forma de constituirse en C, siempre


dan mas problemas que los tipos numéricos. Por ello es muy recomendable
usar la librería string.h para manejarlas correctamente.
Comparación de cadenas de caracteres en C.

La función strcmp(cadena1,cadena2) es de las más utilizadas y nos


permite comparar si dos cadenas de caracteres son iguales. El resultado que
produce es el siguiente:

∙ Devuelve 0 si son iguales.


∙ Devuelve >0 si cadena1 es mayor que cadena2.
∙ Devuelve <0 si cadena1 es menor que cadena2

char cadena1[] = "Hola que tal";


char cadena2[] = "Hola que tal";
int resultado;
resultado=strcmp(cadena1,cadena2);
//resultado es igual a 0 puesto que las cadenas son iguales

Tipos de datos en C.

Las estructuras de datos del lenguaje C son más simples que las que
ofrece Java porque no existe el concepto de “clase” ni de “objeto”. C ofrece
tipos de datos básicos y dos construcciones para crear datos más complejos.
El control de acceso a datos que ofrece Java (métodos y campos privados,
públicos y protegidos) no existe en C. Las variable son globales, locales a un
fichero, o locales a un bloque de código.

C ofrece tres tipos de datos básicos:

∙ Números enteros definidos con la palabra clave int


∙ Letras o caracteres definidos con la palabra clave char
∙ Números reales o en coma flotante definidos con las palabras claves
float o double

Enteros

Se definen con “int” y admiten de forma opcional dos prefijos modificadores:

∙ “short” y “long”: Modifica el tamaño en bits del entero. Existen por


tanto tres tipos de enteros: “int”, “short int” (que se puede abreviar
como “short”), y “long int” (que se puede abreviar como “long”).

El lenguaje C no define tamaños fijos para sus tipos de datos básicos.


Lo único que garantiza es que un short int tiene un tamaño menor o igual que
un int y este a su vez un tamaño menor o igual a un long int. Esta
característica del lenguaje ha complicado la creación de programas que sean
compatibles entre varias plataformas.

∙ “unsigned”: define un número natural (mayor o igual a cero).

Letras y cadenas

Las variables de tipo letra se declaran como “char”. Para referirse a una
letra se rodea de comillas simples: 'M'. Como las letras se representan
internamente como números, el lenguaje C permite realizar operaciones
aritméticas como 'M' + 25.

Las cadenas de texto o strings son simplemente tablas de “char”. Las


funciones de biblioteca para manipular estas cadenas asumen que el último
byte tiene valor cero. Las cadenas de texto se escriben en el programa
rodeadas de dobles comillas y contienen el valor cero al final.

#define SIZE 6
char a = 'A';
char b[SIZE] = "hello";

Números reales

Los números reales se definen con “float” o “double”. La diferencia entre


ambas es la precisión que ofrece su representación interna. Hay un número
infinito de reales, pero se representan con un número finito de bits. A mayor
número de bits, mayor número de reales se representan, y por tanto, mayor
precisión. Los reales definidos con “double” tienen un tamaño doble a los
definidos con “float”. Al igual que en el caso de los enteros, el tamaño de
estas representaciones varía de una plataforma a otra.

Algunas plataformas ofrecen números reales con tamaño mayor al


“double” que se definen como “long double”. Los tamaños típicos para los
tipos “float”, “double” y “long double” son 4, 8 y 12 bytes respectivamente. A
continuación se muestran varias definiciones de números reales.

float a = 3.5;
double b = -5.4e-12;
long double c = 3.54e320;
Tamaño de los tipos de datos básicos.

En C, el tamaño de los tipos de datos básicos puede variar de una


plataforma a otra. Esta característica está detrás de buena parte de las
críticas que recibe este lenguaje, pues de ella se derivan problemas de
compatibilidad (una aplicación se comporta de forma diferente cuando se
ejecuta en plataformas diferentes).

Declarancion de Constantes en C.

Para expresar una constante con un nombre, la constante debe ser


declarada previamente. Las constantes que se declaran en un programa
escrito en lenguaje C reciben un tratamiento diferente al de la mayoría de los
lenguajes de programación. En C, para representar a las constantes, se
utilizan constantes simbólicas. Una constante simbólica representa (sustituye)
a una secuencia de caracteres, en vez de representar a un valor (dato
almacenado en memoria).

Para declarar una constante simbólica, en lenguaje C, se utiliza una


nueva directiva del preprocesador:

La directiva #define indica al preprocesador que debe sustituir, en el


código fuente del programa, todas las ocurrencias del
<nombre_de_la_constante> por la <secuencia_de_caracteres>, antes de la
compilación.

Dos constantes muy habituales son:

#define PI 3.141592 #define


NUMERO_E 2.718281

En programación es una buena práctica escribir los identificadores de


las constantes en mayúsculas, de esta forma es más fácil localizarlos en el
código de un programa. Nótese que, después de la declaración de una
constante simbólica no se escribe un carácter punto y coma (;), cosa que sí
se debe hacer al declarar una variable.

Declaración de variables en C.

Para tener una variable en un programa, previamente hay que definirla


con un tipo y un identificador (es decir, un nombre para la variable).
Por ejemplo:

int numero

define una variable de tipo entero que se llama numero.

Y seguidamente hay que añadir un punto y coma a la expresión:

int numero;

El punto y coma transforma la expresión en una instrucción que se ejecutará


en el programa. Cuando se llegue a ella, el programa reservará espacio de
memoria según el tipo de variable para poder escribir y leer valores.

Por lo tanto, la fórmula general es:

<tipo> <identificador> <;>

Es lo que llamamos una declaración de variable. En C y C++ todas las


variables se deben declarar antes de su uso. Si no, se producirá un error de
compilación.

A continuación se muestra un programa completo que funciona: solo declara


variables de tipos distintos:

int main()
{
char caracter;
short valor;
int numero;
long numeroMasLargo;
float numeroRealFloat;
double numeroRealDoble;

/ fin
return 0;
}
En programación, una variable es una ubicación de memoria nombre
que un programador puede utilizar para representar datos en lugar de entrar
los datos directamente en un programa. El ámbito de una variable es la
región del código fuente del programa dentro de los cuales representa ciertos
datos. La mayoría de lenguajes de programación admiten variables locales y
globales, pero existen algunas diferencias importantes entre los dos tipos.

Variables locales

Las variables locales sólo existen dentro de la función, una sección de


nombre de código de programa que realiza una tarea específica, en el que se
define, o declarados. Dejan de existir una vez finalizada la función. Las
variables locales se recrean cada vez que la función es llamada, o ejecutada.
Estas variables no son accesibles para otras funciones o para el programa
principal y, como tal, generalmente están implementados usando un tipo
especial de estructura de datos, conocida como pila.

Pila de.

En muchos lenguajes de programación, la "pila" es un elemento clave


en la aplicación de variables locales. Antes de ejecutar una función, un
programa agrega todas las variables locales declaran en esa función a la pila,
en el orden inverso al que en el que se declaran. Cuando el programa llama a
la función, las variables locales se quitan de la pila en orden inverso, así la
mayoría recientemente añadido variable es el primer eliminado.

Variables globales.

Las variables globales se declaran en el cuerpo principal del código


fuente del programa, fuera de todas las funciones, y por lo tanto existir en
cualquier parte en el código, incluso dentro de las funciones. Las variables
globales no se recrean cada vez que se llama a una función particular.
Programas típicamente usan variables globales para almacenar los datos que
es procesados por muchas funciones diferentes. Un sencillo programa de
edición de texto, por ejemplo, puede cargar el contenido del archivo que se
está trabajando en una variable global.

Las variables globales son accesibles en funciones en las que no se


utilizan, contradiciendo el concepto de programación modular, en que
programa código se compone de bloques pequeños, aislados o módulos,
para que programadores que favorecen la estructura modular raramente
utilizan.
La única diferencia entre una variable local y una global es su ámbito de
acción.

Variable local: es aquella que sólo es utilizable dentro del código de la


función.

Variable global: es aquella cuyo ámbito es todo el programa, incluso dentro


de una función.

Dicho de otro modo:


Una variable declarada dentro de una función es una variable de tipo local
que sólo existe dentro del contexto de la función. Por contrapartida, una
variable global tiene un ámbito de todo el programa (incluso dentro de las
funciones). Esto quedará claro con este ejemplo:

function calculaIVA(val1, valIva){

var iParcial = val1 * valIva / 100; // calcula 32

document.write ("Valor del IVA ", iParcial); // imprime

320 }

var iTotal= 2000;

var iParcial = 0; // Es Global

document.write("Precio sin IVA es ", iTotal, "<BR />"); // imprime

2000 calculaIVA(iTotal, 16);

document.write("Precio con IVA es ", iTotal + iParcial, "<BR />"); // imprime 2000!!!

Librerias Básicas y sus Funciones en Lenguaje de Programación C.

∙ Iostream (<iostream>) ( iostream es un componente de la biblioteca


estándar (STL) del lenguaje de programación C++ que es utilizado
para operaciones de entrada/salida.

Su nombre es un acrónimo de Input/Output Stream. El flujo de entrada y


salida de datos en C++ (y su predecesor C) no se encuentra definida dentro
de la sintaxis básica y se provee por medio de librerías de funciones
especializadas como iostream. I Iostream define las siguientes funciones: (
cin : Flujo de entrada (que entra) ( cout : Flujo de salida (que sale) ( cerr :
Flujo de error no almacenado. ( clog : Flujo de error almacenado. ( Todos los
objetos derivados de iostream hacen parte del espacio de nombres std.

∙ Math (<math.h>) ( math.h es un archivo de cabecera de la biblioteca


estándar del lenguaje de programación C diseñado para operaciones
matemáticas básicas. Muchas de sus funciones incluyen el uso de
números en coma flotante. C++ también implementa estas funciones
por razones de compatibilidad y las declara en la cabecera cmath.
math.h define las siguientes funciones: ( acos: arcocoseno. ( asin:
arcoseno. ( atan: arcotangente ( Floor: menor entero no menor que el
parámetro. ( Cosh: coseno hiperbólico. ( Log: logaritmo natural.
( Pow(x,y): eleva un valor dado a un exponente. xy

∙ Stdio (<stdio.h>) ( stdio.h, que significa "standard input-output header"


(cabecera estándar E/S), es el archivo de cabecera que contiene las
definiciones de las macros, las constantes, las declaraciones de
funciones de la biblioteca estándar del lenguaje de programación C
para hacer operaciones, estándar, de entrada y salida, así como la
definición de tipos necesarias para dichas operaciones.

Las funciones declaradas en stdio.h son sumamente populares.


( printf: usado para imprimir salidas de datos. ( scanf: utilizado para
introducir entradas. ( puts: imprime una cadena de caracteres. ( getc:
devuelve un carácter desde un fichero. ( ferror: comprueba el indicador
de errores.

∙ Stdlib(<stdlib.h>) ( stdlib.h (std-lib: standard library o biblioteca


estándar) es el archivo de cabecera de la biblioteca estándar de
propósito general del lenguaje de programación C. Contiene los
prototipos de funciones de C para gestión de memoria dinámica,
control de procesos y otras.

Las funciones que pertenencen a stdlib.h pueden clasificarse en las


siguientes categorías: conversión, memoria, control de procesos,
ordenación y búsqueda, matemáticas. ( atof: ascii to float, cadena de
caracteres a coma flotante. ( rand: genera un número pseudo-
aleatorio. ( free: liberan memoria devolviéndola al heap. ( system:
ejecutar un comando externo. ( exit: terminar ejecución del programa.

∙ String(<string>) ( string.h es un archivo de la Biblioteca estándar del


lenguaje de programación C que contiene la definición de macros,
constantes, funciones y tipos y algunas operaciones de manipulación
de memoria. Las funciones para cadenas de caracteres sólo trabajan
con conjuntos de caracteres ASCII o extensiones ASCII compatibles.
( null: macro que representa la constante puntero nulo. ( strcpy: copia
una cadena en otra. ( strcat: añade una cadena al final de otra. ( strrev:
invierte una cadena. ( strstr: busca una cadena dentro de otra.

Вам также может понравиться