Lenguaje C

Las librerías más usadas en C

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 poder usar directamente en nuestro 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

Algunos os preguntaréis, 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

Otra 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

Copia de una cadena de caracteres en otra

Otra función muy utilizada es strcpy(cad1,cad2), la cual copia el contenido de cad2 en cad1. Es muy importante al usar esta función que la cadena de destino tenga un tamaño igual o mayor que la de origen para evitar errores (overflows).

 

Estas son algunas de las librerías y funciones más utilizadas, esperamos vuestras aportaciones.

Saludos.

The following two tabs change content below.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL
Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL

Share
Publicado por
Jorge Durán

Recent Posts

[Remix] Multitud de recursos para .NET

En los últimos tiempos no he podido escribir con toda la frecuencia que me gustaría,…

3 años hace

¿Qué es un puntero y cómo se usan?

Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan…

3 años hace

Los 10 mejores paquetes nuget que tienes que instalar

Cuando empiezas un proyecto hay una serie de aspectos comunes que suelen ser resueltos mediante…

3 años hace

Haz los mejores layouts y patrones CSS fácilmente

Si alguna vez has tenido que realizar un desarrollo de front-end seguramente te habrás dado…

4 años hace

10 lugares con retos y competiciones de programación

Una vez que una persona ya ha aprendido lo básico sobre un lenguaje de programación,…

4 años hace

¿Cómo elegir un buen hosting para tu proyecto?

Hoy en día, un gran porcentaje de los proyectos que se desarrollan son páginas webs.…

4 años hace