Math functions in C

Chapter 21

5 Steps - 3 Clicks

Math functions in C

Description

Math functions in C are performed by math function. To implement the functions in the program, one has to use <math.h> library file. These functions has the arguments in double type.Also, the return statements are also in double type.

Functions

Table giving the description of few Math functions in C.

Function Description
double `asin`(double a) arc sine of a is returned in radians.
double `acos`(double x) arc cosine of a is returned in radians.
double `atan`(double a) arc tangent of a is returned in radians.
double `atan2`(double a, double b) The arc tangent of b/a gives the quadrant depending on signs given is eturned
double `sin`(double a) Sine of angle a is returned in radians
double `sinh`(double a) Hyperbolic Sine of angle a is returned in radians
double `cos(double a)` Cosine of angle a is returned in radians
double `cosh`(double a) Hyperbolic Sine of angle a is returned in radians
double `tanh`(double a) Hyperbolic Tangent of angle a is returned in radians
double `exp`(double a) The value is the result of e lifted to the ath power
double `frexp`(double a, int *exp) a=mantissa* 2^ exp is returned
double `log`(double a) Logarithmic value is returned with base e
double `log10`(double a) Logarithmic value is returned with base 10
double `sqrt`(double a) Square root of a is returned
double `ceil`(double a) Smaller value is returned which is greater or equal to a
double `fabs`(double a) Absolute integer value of a is returned
double `floor`(double a) Larger value is returned which is lesser equal to a
double `fmod`(double a, double b) Remainder of a divided by b is returned
double `log10`(double a) Logarithmic value is returned with base 10
double `sqrt`(double a) Square root of a is returned
double `pow`(double a, double b) The value obtained after a raised to power of b is returned

The macro used in time function is HUGE_VAL. When the output is too large in magnitude, HUGE_VAL is used by setting the errno to ERANGE. If the result is small, then there is no need to use this.

Examples

```#include <stdio.h>
#include <math.h>

#define PI 3.14159265

int main ()
{
double x,y, i,r ,a,b;

x = 45.0;
y = 0.8;
a = PI / 180;
b = 180.0 / PI;

i = sin( x*a );
printf("The sine of %lf is %lf degrees\n", x, i);

i = cos( x*a );
printf("The cosine of %lf is %lf degrees\n", x, i);

r = asin(y) * b;
printf("The arc sine of %lf is %lf degrees\n", y, r);

r = acos(y) * b;
printf("The arc sine of %lf is %lf degrees\n", y, r);

return(0);
}```

Output

```The sine of 45.000000 is 0.707107 degrees
The cosine of 45.000000 is 0.707107 degrees
The arc sine of 0.800000 is 53.130102 degrees
The arc sine of 0.800000 is 36.869898 degrees```

Program to demonstrate math functions

```#include <stdio.h>
#include <math.h>

int main ()
{
double i, result;
i = 2.7;

//find log(2.7)
result = log(i);
printf("log(%lf) = %lf \n", i, result);

//find square root
printf("Square root of i = %lf \n",sqrt(i) );

//Rounding to the nearest lower integer
printf ("value = %.1lf \n", ceil(i));

//Find absolute value
printf("The absolute value of i = %lf\n", i, fabs(i));

//rounding to the nearest greater integer
printf("Value = %.1lf \n", floor(i));

return(0);
}```

Output

```log(2.700000) = 0.993252
Square root of i = 1.643168
value = 3.0
The absolute value of i = 2.700000
Value = 2.0```

Key Points

• Math functions in C are implemented by <math.h> and supports all arithmetic functions.
• Returns the arguments in double type.
• sin, tan, sqrt, log, floor, pow, fabs, ceil are some of math functions.