Les fonctions suivantes permettent de calculer des logarithmes ou des puissances :
Toutes ces fonctions prennent un argument de type double et donnent un résultat de type double, à l'exception de la fonction pow, qui prend deux arguments de type double (d'abord la base, ensuite l'exposant).
double x = 1.5, y; y = sqrt(x); y = pow(x, 0.5);
La bibliothèque Math met aussi à notre disposition la constante M_E qui
représente le nombre d'Euler sous forme de double. Cependant, cette constante
ne fait pas partie du standard C89 et ne sera donc pas accessible si vous compilez avec
l'option -ansi
.
Les fonctions suivantes facilitent les calculs géométriques :
La constante M_PI représente π sous forme de double. Cependant,
cette constante ne fait pas non plus partie du standard C89 et ne sera donc pas
accessible si vous compilez avec l'option -ansi
.
Quelques fonctions supplémentaires que l'on rencontre souvent :
Malheureusement, les fonctions round et trunc ne font pas partie du
standard C89 et ne seront donc pas utilisables si vous compilez avec l'option
-ansi
.
Remarque L'utilisation de la bibliothèque Math dans un fichier source implique de prendre deux précautions :
cpp
d'inclure l'en-tête dans la source
par le biais d'une directive.
#include <math.h>
ld
d'inclure le fichier objet dans
l'exécutable à l'aide d'une option que l'on peut directement passer au compilateur.
gcc -ansi -pedantic exo.c -o exo -lm
Il est recommendé de toujours placer l'option -lm en dernier. Cette méthode est une bonne illustration de la façon dont on exploite une bibliothèque en général (la bibliothèque standard vue jusqu'ici était une exception).
Formules. Écrivez un programme qui affiche le résultat de chacune de ces formules :
Distance. Écrivez un programme qui demande à l'utilisateur de fournir les coordonnées de deux points du plan, et qui affiche ensuite la distance entre ces points.
Arctique. Écrivez un programme qui demande à l'utilisateur de fournir les coordonnées polaires d'un point du plan (distance à l'origine et angle par rapport à l'axe des abscisses), puis affiche ses coordonnées cartésiennes (abscisse et ordonnée).
Chiffres. Écrivez un programme qui demande à l'utilisateur un réel, puis affiche le chiffre des unités et le chiffre des dixièmes uniquement.
$ ./a.out Entrez un réel : 141.35 chiffre des unités : 1 chiffre des dixièmes : 3
Remarque Pensez à la fonction trunc !
Durée de vol. Écrivez un programme qui demande à l'utilisateur de lui fournir les paramètres d'un trajet aérien :