If you're a beginning programmer and want to get more deeply into programming with variables, you've come to the right place. This article, the third of three parts, is excerpted from chapter two of the book Beginning C, written by Ivor Horton (Apress, 2004; ISBN: 1590592530).

First Steps in (C) Programming, conclusion - Mathematical Functions (Page 6 of 9 )

The math.h header file includes declarations for a wide range of mathematical functions. To give you a feel for what’s available, you’ll take a look at those that are used most frequently. All the functions return a value of type double.

You have the set of functions shown in Table 2-7 available for numerical calculations of various kinds. These all require arguments to be of typedouble.

Table 2-7. Functions for Numerical Calculations

Function

Operation

floor(x)

Returns the largest integer that isn’t greater than x as type double

ceil(x)

Returns the smallest integer that isn’t less than x as type double

fabs(x)

Returns the absolute value of x

log(x)

Returns the natural logarithm (base e) of x

log10(x)

Returns the logarithm to base 10 of x

exp(x)

Returns the value of ex

sqrt(x)

Returns the square root of x

pow(x, y)

Returns the value of xy

Here are some examples of using these functions:

double x = 2.25; double less = 0.0; double more = 0.0; double root = 0.0; less = floor(x); /* Result is 2.0 */ more = ceil(x); /* Result is 3.0 */ root = sqrt(x); /* Result is 1.5 */

You also have a range of trigonometric functions available, as shown in Table 2-8. Arguments and values returned are again of typedouble and angles are expressed in radians.

Table 2-8. Functions for Trigonometry

Function

Operation

sin(x)

Sine of x expressed in radians

cos(x)

Cosine of x

tan(x)

Tangent of x

If you’re into trigonometry, the use of these functions will be fairly self-evident. Here are some examples:

double angle = 45.0; /* Angle in degrees */ double pi = 3.14159265; double sine = 0.0; double cosine = 0.0; sine = sin(pi*angle/180.0); /* Angle converted to radians */ cosine = sin(pi*angle/180.0); /* Angle converted to radians */

Because 180 degrees is the same angle as π radians, dividing an angle measured in degrees by 180 and multiplying by the value of π will produce the angle in radians, as required by these functions.

You also have the inverse trigonometric functions available:asin(),acos(), andatan(), as well as the hyperbolic functionssinh(),cosh(), andtanh(). Don’t forget, you must includemath.hinto your program if you wish to use any of these functions. If this stuff is not your bag, you can safely ignore this section.