Programmation C/Mathématiques

Un livre de Wikilivres.

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 );