The Standard Function Library in C is a huge library of sub-libraries, each of which contains the code for several functions. In order to make use of these libraries, link each library in the broader library through the use of header files. The definitions of these functions are present in their respective header files. In order to use these functions, we have to include the header file in the program. Below are some header files with descriptions:
S No. |
Header Files |
Description |
1 |
<assert.h> |
It checks the value of an expression that we expect to be true under normal circumstances. If the expression is a nonzero value, the assert macro does nothing. |
2 |
<complex.h> |
A set of functions for manipulating complex numbers. |
3 |
<float.h> |
Defines macro constants specifying the implementation-specific properties of the floating-point library. |
4 |
<limits.h> |
These limits specify that a variable cannot store any value beyond these limits, for example- An unsigned character can store up to a maximum value of 255. |
5 |
<math.h> |
The math.h header defines various mathematical functions and one macro. All the Functions in this library take double as an argument and return double as the result. |
6 |
<stdio.h> |
The stdio.h header defines three variable types, several macros, and various function for performing input and output. |
7 |
<time.h> |
Defines date and time handling functions. |
8 |
<string.h> |
Strings are defined as an array of characters. The difference between a character array and a string is that a string is terminated with a special character ‘\0’. |
Implementation: Let’s discuss the implementation of the basic libraries with a C program:
1. stdio.h: This library is use to use the printf() function, the header file <stdio.h> should be included in the program. Below is the C program to implement the above approach:
C
#include <stdio.h>
int main()
{
printf ( "GEEKS FOR GEEKS" );
return 0;
}
|
Note: If printf() function is used without including the header file <stdio.h>, an error will be displayed.
2. math.h– To perform any operation related to mathematics, it is necessary to include math.h header file.
Example 1: sqrt()
Syntax-
double sqrt(double x)
Below is the C program to calculate the square root of any number:
C
#include <math.h>
#include <stdio.h>
int main()
{
double number, squareRoot;
number = 12.5;
squareRoot = sqrt (number);
printf ( "Square root of %.2lf = %.2lf" ,
number, squareRoot);
return 0;
}
|
Output
Square root of 12.50 = 3.54
Example 2- pow():
Syntax:
double pow(double x, double y)
Below is the C program to calculate the power of any number:
C
#include <math.h>
#include <stdio.h>
int main()
{
double base, power, result;
base = 10.0;
power = 2.0;
result = pow (base, power);
printf ( "%.1lf^%.1lf = %.2lf" ,
base, power, result);
return 0;
}
|
Example 3- sin():
Syntax:
double sin(double x)
Below is the C program to calculate the sine of an argument:
C
#include <math.h>
#include <stdio.h>
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;
}
|
Output
sin(2.30) = 0.75
sin(-2.30) = -0.75
sin(0.00) = 0.00
Example 4- cos():
Syntax:
double cos(double x);
Below is the C program to calculate the cosine of an argument:
C
#include <math.h>
#include <stdio.h>
#define PI 3.141592654
int main()
{
double arg = 30, result;
arg = (arg * PI) / 180;
result = cos (arg);
printf ( "cos of %.2lf radian = %.2lf" ,
arg, result);
return 0;
}
|
Output
cos of 0.52 radian = 0.87
Example 5- tan():
Syntax:
double tan(double x);
Below is the C program to calculate the tangent of the argument:
C
#include <math.h>
#include <stdio.h>
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;
}
|
Output
tan(2.30) = -1.12
tan(-2.30) = 1.12
Example 6- log():
Syntax-
double log( double arg );
Below is the C program to calculate the natural logarithm of an argument-
C
#include <math.h>
#include <stdio.h>
int main()
{
double num = 5.6, result;
result = log (num);
printf ( "log(%.1f) = %.2f" ,
num, result);
return 0;
}
|
3. float.h: The float.h header file of the C Standard Library contains a set of various platform-dependent constants related to floating-point values. Below is the C program to implement the above approach-
C
#include <float.h>
#include <stdio.h>
int main()
{
printf ( "Maximum value of float = %.10e\n" ,
FLT_MAX);
printf ( "Minimum value of float = %.10e\n" ,
FLT_MIN);
}
|
Output
Maximum value of float = 3.4028234664e+38
Minimum value of float = 1.1754943508e-38
4. limits.h: The limits.h header determines various properties of the various variable types. The macros defined in this header limits the values of various variable types like char, int, and long. Below is the C program to implement the above approach-
C
#include <limits.h>
#include <stdio.h>
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);
}
|
Output
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: This header file defines the date and time functions. Below is the C program to implement time() and localtime() functions-
C
#include <stdio.h>
#include <time.h>
#define SIZE 256
int main( void )
{
char buffer[SIZE];
time_t curtime;
struct tm * loctime;
curtime = time (NULL);
loctime = localtime (&curtime);
fputs ( asctime (loctime), stdout);
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;
}
|
Output
Sun May 30 17:27:47 2021
Today is Sunday, May 30.
The time is 05:27 PM.
6. string.h: For using string functions, it is necessary to include string.h header file in the program.
Example 1: strcat(): In C programming, the strcat() functions are used to concatenate(join) two strings. This function concatenates the destination string and the source string, and the result is stored in the destination string.
Syntax-
char *strcat(char *destination, const char *source)
Below is the C program to implement strcat():
C
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100] = "Geeks " ,
str2[100] = " For Geeks" ;
strcat (str1, str2);
puts (str1);
return 0;
}
|
Example 2- strcmp(): It compares two strings. If the return value is 0 then the strings are equal or if the return value is non-zero then the strings are not equal.
Syntax:
int strcmp (const char* str1, const char* str2);
Below is the C program to implement strcmp():
C
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "Geeks" ,
str2[] = "gEeks" ,
str3[] = "Geeks" ;
int result;
result = strcmp (str1, str2);
printf ( "strcmp(str1, str2) = %d\n" ,
result);
result = strcmp (str1, str3);
printf ( "strcmp(str1, str3) = %d\n" ,
result);
return 0;
}
|
Output
strcmp(str1, str2) = -32
strcmp(str1, str3) = 0
Example 3 – strcpy(): The strcpy() function copies the string pointed by the source to the destination.
Syntax:
char* strcpy(char* destination, const char* source);
Below is the C program to implement the strcpy():
C
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20] = "Geeks For Geeks" ;
char str2[20];
strcpy (str2, str1);
puts (str2);
return 0;
}
|
Example 4 – strlen(): This function calculates the length of the given string.
Syntax:
int strlen(char a[]);
Below is the C program to implement strlen():
C
#include <stdio.h>
#include <string.h>
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;
}
|
Output
Length of string a = 7
Length of string b = 15
7. complex.h: Functions in this header file are used to perform various operations on complex numbers. Complex numbers are the ones with the real and imaginary parts.
Below is the C program to implement conjugate of a complex number-
C
#include <complex.h>
#include <stdio.h>
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));
}
|
Output:
z = 1.3 - 4.9i
8. assert.h: Assertions are statements used to test assumptions made by programmers. For example, we may use an assertion to check if the pointer returned by malloc() is NULL or not.
Syntax-
void assert(int expression);
C++
#include <assert.h>
#include <stdio.h>
int main()
{
int x = 7;
x = 9;
assert (x == 7);
return 0;
}
|
Output
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.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
05 Jun, 2022
Like Article
Save Article