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; }
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; }
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; }
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; }
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; }
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; }
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; }
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); }
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); }
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; }
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; }
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; }
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; }
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; }
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.