Funciones de la biblioteca C – Part 1

La biblioteca de funciones estándar en C es una enorme biblioteca de subbibliotecas, cada una de las cuales contiene el código de varias funciones . Para hacer uso de estas bibliotecas, vincule cada biblioteca en la biblioteca más amplia mediante el uso de archivos de encabezado . Las definiciones de estas funciones están presentes en sus respectivos archivos de cabecera. Para utilizar estas funciones , tenemos que incluir el archivo de cabecera en el programa. A continuación se muestran algunos archivos de encabezado con descripciones:

No. S. Archivos de encabezado Descripción
1 <afirmar.h> Comprueba el valor de una expresión que esperamos que sea verdadera en circunstancias normales.
Si la expresión es un valor distinto de cero, la macro de afirmación no hace nada.
2 <complejo.h>  Un conjunto de funciones para manipular números complejos.
3 <flotante.h> Define constantes de macro que especifican las propiedades específicas de la implementación de la
biblioteca de coma flotante.
4 <límites.h> Estos límites especifican que una variable no puede almacenar ningún valor más allá de estos límites, por ejemplo:
un carácter sin signo puede almacenar hasta un valor máximo de 255.
5 <matemáticas.h> El encabezado math.h define varias funciones matemáticas y una macro. Todas las funciones 
de esta biblioteca toman el doble como argumento y devuelven el doble como resultado.
6 <stdio.h> El encabezado stdio.h define tres tipos de variables, varias macros y varias
funciones para realizar entradas y salidas.
7 <tiempo.h> Define funciones de manejo de fecha y hora.
8 <string.h> Las strings se definen como una array de caracteres. La diferencia entre una array de caracteres 
y una string es que una string termina con un carácter especial ‘\0’.

Implementación: analicemos la implementación de las bibliotecas básicas con un programa C :

1. stdio.h : esta biblioteca se usa para usar la función printf() , el archivo de encabezado <stdio.h> debe incluirse en el programa. A continuación se muestra el programa C para implementar el enfoque anterior:

C

// C program to implement
// the above approach
#include <stdio.h>
 
// Driver code
int main()
{
    printf("GEEKS FOR GEEKS");
    return 0;
}
Producción

GEEKS FOR GEEKS

Nota: Si se usa la función printf() sin incluir el archivo de encabezado <stdio.h>, se mostrará un error.

2. math.h Para realizar cualquier operación relacionada con las matemáticas, es necesario incluir el archivo de cabecera math.h. 

Ejemplo 1: sqrt()

Sintaxis-

double sqrt(double x)

A continuación se muestra el programa C para calcular la raíz cuadrada de cualquier número:

C

// C program to implement
// the above approach
#include <math.h>
#include <stdio.h>
 
// Driver code
int main()
{
    double number, squareRoot;
 
    number = 12.5;
 
    // Computing the square root
    squareRoot = sqrt(number);
 
    printf("Square root of %.2lf =  %.2lf",
           number, squareRoot);
    return 0;
}
Producción

Square root of 12.50 =  3.54

Ejemplo 2- pow() :

Sintaxis:

double pow(double x, double y)

A continuación se muestra el programa en C para calcular la potencia de cualquier número:

C

// C program to implement
// the above approach
#include <math.h>
#include <stdio.h>
 
// Driver code
int main()
{
    double base, power, result;
    base = 10.0;
    power = 2.0;
 
    // Calculate the result
    result = pow(base, power);
    printf("%.1lf^%.1lf = %.2lf",
           base, power, result);
    return 0;
}
Producción

10.0^2.0 = 100.00

Ejemplo 3- sin() :

Sintaxis:

double sin(double x)

A continuación se muestra el programa C para calcular el seno de un argumento:

C

// C program to implement
// the above approach
#include <math.h>
#include <stdio.h>
 
// Driver code
int main()
{
    double x;
    double result;
    x = 2.3;
    result = sin(x);
    printf("sin(%.2lf) = %.2lf\n",
           x, result);
    x = -2.3;
    result = sin(x);
    printf("sin(%.2lf) = %.2lf\n",
           x, result);
    x = 0;
    result = sin(x);
    printf("sin(%.2lf) = %.2lf\n",
           x, result);
    return 0;
}
Producción

sin(2.30) = 0.75
sin(-2.30) = -0.75
sin(0.00) = 0.00

Ejemplo 4- cos() :

Sintaxis:

double cos(double x);

A continuación se muestra el programa C para calcular el coseno de un argumento: 

C

// C program to implement
// the above approach
#include <math.h>
#include <stdio.h>
#define PI 3.141592654
 
// Driver code
int main()
{
    double arg = 30, result;
 
    // Converting to radian
    arg = (arg * PI) / 180;
 
    result = cos(arg);
    printf("cos of %.2lf radian = %.2lf",
           arg, result);
    return 0;
}
Producción

cos of 0.52 radian = 0.87

Ejemplo 5- tan() :

Sintaxis:

double tan(double x);

A continuación se muestra el programa en C para calcular la tangente del argumento:

C

// C program to implement
// the above approach
#include <math.h>
#include <stdio.h>
 
// Driver code
int main()
{
    double x;
    double result;
    x = 2.3;
    result = tan(x);
    printf("tan(%.2lf) = %.2lf\n",
           x, result);
    x = -2.3;
    result = tan(x);
    printf("tan(%.2lf) = %.2lf\n",
           x, result);
    return 0;
}
Producción

tan(2.30) = -1.12
tan(-2.30) = 1.12

Ejemplo 6- log() :

Sintaxis- 

double log( double arg );

A continuación se muestra el programa C para calcular el logaritmo natural de un argumento-

C

// C program to implement
// the above approach
#include <math.h>
#include <stdio.h>
 
// Driver code
int main()
{
    double num = 5.6, result;
    result = log(num);
    printf("log(%.1f) = %.2f",
           num, result);
    return 0;
}
Producción

log(5.6) = 1.72

3. float.h : el archivo de encabezado float.h de la biblioteca estándar de C contiene un conjunto de varias constantes dependientes de la plataforma relacionadas con los valores de punto flotante. A continuación se muestra el programa C para implementar el enfoque anterior:

C

// C program to implement
// the above approach
#include <float.h>
#include <stdio.h>
 
// Driver code
int main()
{
    printf("Maximum value of float = %.10e\n",
           FLT_MAX);
    printf("Minimum value of float = %.10e\n",
           FLT_MIN);
}
Producción

Maximum value of float = 3.4028234664e+38
Minimum value of float = 1.1754943508e-38

4.LIMITES.H : El encabezado deLIMITES.H determina varias propiedades de los distintos tipos de variables . Las macros definidas en este encabezado limitan los valores de varios tipos de variables como char , int y long . A continuación se muestra el programa C para implementar el enfoque anterior :

C

// C program to implement
// the above approach
#include <limits.h>
#include <stdio.h>
 
// Driver code
int main()
{
    printf("Number of bits in a byte %d\n",
           CHAR_BIT);
    printf("Minimum value of SIGNED CHAR = %d\n",
           SCHAR_MIN);
    printf("Maximum value of SIGNED CHAR = %d\n",
           SCHAR_MAX);
    printf("Maximum value of UNSIGNED CHAR = %d\n",
           UCHAR_MAX);
    printf("Minimum value of SHORT INT = %d\n",
           SHRT_MIN);
    printf("Maximum value of SHORT INT = %d\n",
           SHRT_MAX);
    printf("Minimum value of INT = %d\n",
           INT_MIN);
    printf("Maximum value of INT = %d\n",
           INT_MAX);
    printf("Minimum value of CHAR = %d\n",
           CHAR_MIN);
    printf("Maximum value of CHAR = %d\n",
           CHAR_MAX);
    printf("Minimum value of LONG = %ld\n",
           LONG_MIN);
    printf("Maximum value of LONG = %ld\n",
           LONG_MAX);
    return (0);
}
Producción

Number of bits in a byte 8
Minimum value of SIGNED CHAR = -128
Maximum value of SIGNED CHAR = 127
Maximum value of UNSIGNED CHAR = 255
Minimum value of SHORT INT = -32768
Maximum value of SHORT INT = 32767
Minimum value of INT = -2147483648
Maximum value of INT = 2147483647
Minimum value of CHAR = -128
Maximum value of CHAR = 127
Minimum value of LONG = -9223372036854775808
Maximum value of LONG = 9223372036854775807

5. time.h : este archivo de encabezado define las funciones de fecha y hora. A continuación se muestra el programa C para implementar las funciones time() y localtime()-

C

// C program to implement
// the above approach
#include <stdio.h>
#include <time.h>
#define SIZE 256
 
// Driver code
int main(void)
{
    char buffer[SIZE];
    time_t curtime;
    struct tm* loctime;
 
    // Get the current time.
    curtime = time(NULL);
 
    // Convert it to local time
    // representation.
    loctime = localtime(&curtime);
 
    // Print out the date and time
    // in the standard format.
    fputs(asctime(loctime), stdout);
 
    // Print it out
    strftime(buffer, SIZE,
             "Today is %A, %B %d.\n",
             loctime);
 
    fputs(buffer, stdout);
    strftime(buffer, SIZE,
             "The time is %I:%M %p.\n",
             loctime);
    fputs(buffer, stdout);
    return 0;
}
Producción

Sun May 30 17:27:47 2021
Today is Sunday, May 30.
The time is 05:27 PM.

6. string.h : para usar funciones de string, es necesario incluir el archivo de encabezado string.h en el programa.

Ejemplo 1: strcat() : En programación C, las funciones strcat() se utilizan para concatenar (unir) dos strings . Esta función concatena la string de destino y la string de origen, y el resultado se almacena en la string de destino.

Sintaxis- 

char *strcat(char *destination, const char *source)

A continuación se muestra el programa C para implementar strcat():

C

// C program to implement
// the above approach
#include <stdio.h>
#include <string.h>
 
// Driver code
int main()
{
    char str1[100] = "Geeks ",
         str2[100] = " For Geeks";
 
    // Concatenates str1 and str2
    strcat(str1, str2);
 
    // Resultant string is stored
    // in str1
    puts(str1);
 
    return 0;
}
Producción

Geeks  For Geeks

Ejemplo 2- strcmp() : Compara dos strings. Si el valor devuelto es 0, las strings son iguales o si el valor devuelto es distinto de cero, las strings no son iguales.

Sintaxis:

int strcmp (const char* str1, const char* str2);

 A continuación se muestra el programa C para implementar strcmp():

C

// C program to implement
// the above approach
#include <stdio.h>
#include <string.h>
 
// Driver code
int main()
{
    char str1[] = "Geeks",
         str2[] = "gEeks",
         str3[] = "Geeks";
    int result;
 
    // Comparing strings str1
    // and str2
    result = strcmp(str1, str2);
 
    printf("strcmp(str1, str2) = %d\n",
           result);
 
    // Comparing strings str1 and str3
    result = strcmp(str1, str3);
 
    printf("strcmp(str1, str3) = %d\n",
           result);
    return 0;
}
Producción

strcmp(str1, str2) = -32
strcmp(str1, str3) = 0

Ejemplo 3 – strcpy() : La función strcpy() copia la string apuntada por el origen al destino.

Sintaxis:

char* strcpy(char* destination, const char* source);

A continuación se muestra el programa C para implementar strcpy():

C

// C program to implement
// the above approach
#include <stdio.h>
#include <string.h>
 
// Driver code
int main()
{
    char str1[20] = "Geeks For Geeks";
    char str2[20];
 
    // Copying str1 to str2
    strcpy(str2, str1);
 
    puts(str2);
    return 0;
}
Producción

Geeks For Geeks

Ejemplo 4 – strlen() : Esta función calcula la longitud de la string dada.

Sintaxis:

int strlen(char a[]);

 A continuación se muestra el programa C para implementar strlen():

C

// C program to implement
// the above approach
#include <stdio.h>
#include <string.h>
 
// Driver code
int main()
{
    char a[20] = "Program";
    char b[20] = { "Geeks for Geeks" };
    printf("Length of string a = %zu \n",
           strlen(a));
    printf("Length of string b = %zu \n",
           strlen(b));
    return 0;
}
Producción

Length of string a = 7 
Length of string b = 15 

7. complex.h : las funciones de este archivo de encabezado se utilizan para realizar varias operaciones con números complejos . Los números complejos son los que tienen parte real e imaginaria.

A continuación se muestra el programa C para implementar el conjugado de un número complejo: 

C

#include <complex.h>
#include <stdio.h>
 
// Driver code
int main(void)
{
    double real = 1.3,
        imag = 4.9;
    double complex z = real+imag*I;
    double complex conj_f = conjf(z);
    printf("z = %.1f + %.1fi\n",
        creal(conj_f),
        cimag(conj_f));
}

Producción:

z = 1.3 - 4.9i

8. assert.h : Las afirmaciones son declaraciones que se utilizan para probar las suposiciones hechas por los programadores. Por ejemplo, podemos usar una aserción para comprobar si el puntero devuelto por malloc() es NULL o no.

Sintaxis-

void assert(int expression); 

C++

// C program to implement
// the above approach
#include <assert.h>
#include <stdio.h>
 
// Driver code
int main()
{
    int x = 7;
 
    // Some big code in between
    // and let's say x is accidentally
    // changed to 9
    x = 9;
 
    // Programmer assumes x to be 7
    // in rest of the code
    assert(x == 7);
 
    // Rest of the code
 
    return 0;
}

Producción

Assertion failed: x==7, file test.cpp, line 13 
This application has requested the Runtime to terminate it in an unusual 
way. Please contact the application's support team for more information.

Publicación traducida automáticamente

Artículo escrito por anku25475 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *