Amostra enfeitada da interface da biblioteca math

Esta biblioteca contém várias constantes e funções matemáticas.  Para usar a biblioteca você precisa compilar o seu programa com a opção -lm:

gcc meu_programa.c -lm

(Esse lm é um LM em letras minúsculas.)

// Arquivo math.h.
// Interface da biblioteca math.
/////////////////////////////////////////////////////////

#ifndef _MATH_H
#define _MATH_H

/////////////////////////////////////////////////////////
// Seção 1 -- Funções trigonométricas
/////////////////////////////////////////////////////////

double sin (double);
double cos (double);
double tan (double);


/////////////////////////////////////////////////////////
// Seção 2 -- Exponenciais e logaritmos
/////////////////////////////////////////////////////////

// Devolve e^x, ou seja, o número e elevado à potência x.
// Uso típico: y = exp (x);

double exp (double);


// Devolve o logaritmo de x na base e. Não use com x
// negativo (ou nulo). Uso típico: y = log (x);

double log (double);


// Devolve o logaritmo de x na base 10. Não use com x
// negativo (ou nulo). Uso típico: y = log10 (x);

double log10 (double);


/////////////////////////////////////////////////////////
// Seção 3 -- Raiz e potência
/////////////////////////////////////////////////////////

// Devolve a raiz quadrada de x. Não use com x < 0.
// Uso típico: y = sqrt (x);

double sqrt (double);


// Devolve x^y, ou seja, x elevado à potência y. Não use
// com x == 0.0 e y < 0.0. Não use com x < 0.0 e y
// não inteiro. Caso especial: pow (0.0, 0.0) == 1.0. Que
// acontece se x^y não couber em double? Veja man pages.
// Uso típico: p = pow (x, y);

double pow (double, double);


/////////////////////////////////////////////////////////
// Seção 4 -- Arredondamentos
/////////////////////////////////////////////////////////

// A função devolve o maior inteiro que é menor que ou
// igual a x, isto é, o único inteiro i que satisfaz
// i <= x < i+1. Uso típico: i = floor (x);

double floor (double);


// A função devolve o menor inteiro que é maior que ou
// igual a x, isto é, o único inteiro j que satisfaz
// j-1 < x <= j. Uso típico: j = ceil (x);

double ceil (double);

#endif