Programmation C/Mathématiques
Pour pouvoir utiliser les fonctions mathématiques, il faut utiliser l'en-tête <math.h>
, ainsi que <errno.h>
pour gérer les erreurs :
#include <math.h>
#include <errno.h>
Comme pour un certain nombre de fonctions de la bibliothèques standard, il est en effet nécessaire d'utiliser <errno.h>
pour détecter l'erreur d'une fonction mathématique (voir le chapitre sur la gestion d'erreurs pour voir comment utiliser <errno.h>
).
Note :
Sur certains compilateurs comme GCC, il est nécessaire d'ajouter durant l'édition des liens une option pour que la « bibliothèque mathématique » soit liée au programme. Pour GCC, cette option est -lm
. Sans cette option, le programme pourra compiler, mais le résultat à l'exécution sera surprenant.
Exponentiations
[modifier | modifier le wikicode]double exp ( double x );
double pow ( double x, double y );
exp calcule e élevé à la puissance de x () où e est la base des logarithmes naturels (ln(e) = 1). pow calcule la valeur de x élévé à la puissance y ().
Erreurs
[modifier | modifier le wikicode]La fonction pow peut déclencher l'erreur suivante :
- EDOM : x est négatif, et y n’est pas un entier.
Logarithmes
[modifier | modifier le wikicode]double log ( double x );
double log10 ( double x );
log calcule le logarithme néperien de x (noté généralement ln(x) en mathématiques). log10 calcule le logarithme à base 10 de x.
Erreurs
[modifier | modifier le wikicode]- EDOM : x est négatif ;
- ERANGE : x est nul.
Racine carrée
[modifier | modifier le wikicode]double sqrt ( double x );
Renvoie la racine carrée de x.
Erreurs
[modifier | modifier le wikicode]- EDOM : x est négatif.
Sinus, cosinus, tangente
[modifier | modifier le wikicode]double sin ( double x );
double cos ( double x );
double tan ( double x );
Arc sinus, arc cosinus
[modifier | modifier le wikicode]double asin ( double x );
double acos ( double x );
Note : les angles retournés sont en radians (intervalle pour asin et pour acos).
Erreurs
[modifier | modifier le wikicode]- EDOM : x est inférieur à -1 ou supérieur à 1.
Arc tangente
[modifier | modifier le wikicode]double atan ( double x );
double atan2 ( double y, double x );