Inclure math.h
Liez et utilisez la bibliothèque mathématique.
Inclure math.h est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C Academy comprend 4 leçons au total.
Pourquoi math.h existe
Le langage C conserve un cœur réduit. Les opérations comme les racines carrées, les puissances et la trigonométrie ne sont pas intégrées au langage lui-même.
Elles se trouvent plutôt dans un fichier d’en-tête de la bibliothèque standard appelé math.h. Pour utiliser ces fonctions, vous devez inclure cet en-tête au début de votre programme.
Inclure l’en-tête
Ajoutez cette ligne vers le début de votre fichier, à côté de stdio.h :
#include <stdio.h>pour les entrées et sorties#include <math.h>pour les fonctions mathématiques
Les chevrons indiquent au compilateur de rechercher dans les dossiers système standard.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("math.h is ready\n");
return 0;
}Votre premier appel à math.h
Une fois math.h inclus, vous pouvez appeler des fonctions comme sqrt (racine carrée).
La plupart des fonctions mathématiques prennent et renvoient des valeurs de type double, aussi affichons-nous les résultats avec le spécificateur de format %f.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(16.0);
printf("sqrt(16) = %f\n", r);
return 0;
}Lier la bibliothèque mathématique
Sur certains systèmes, notamment Linux avec gcc, les fonctions mathématiques se trouvent dans un fichier de bibliothèque distinct.
Si vous obtenez une erreur de référence non définie, ajoutez l’option -lm lors de la compilation :
gcc program.c -lm
-lm signifie « lier la bibliothèque mathématique ».
Tout est de type double
Par défaut, les fonctions de math.h utilisent le type double. Elles acceptent des arguments double et renvoient des résultats double.
Vous pouvez aussi leur transmettre un int. Le langage C le convertit automatiquement en double avant l’appel.
#include <stdio.h>
#include <math.h>
int main(void) {
int n = 25;
double root = sqrt(n);
printf("root = %f\n", root);
return 0;
}Afficher les résultats mathématiques
Utilisez %f pour afficher un double. Vous pouvez contrôler le nombre de décimales avec %.2f (deux décimales).
Cela permet de garder les longues valeurs décimales propres et lisibles.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(2.0);
printf("%f\n", r);
printf("%.2f\n", r);
return 0;
}Constantes utiles
De nombreux systèmes définissent des constantes utiles dans math.h, comme M_PI pour représenter pi.
Elles ne font pas partie de la norme stricte, mais sont très courantes. Si M_PI est absente, vous pouvez définir la vôtre.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("pi is about %.5f\n", M_PI);
return 0;
}Tour d’horizon du contenu
L’en-tête math.h vous fournit de nombreux outils, regroupés par fonction :
- Puissances/racines :
pow,sqrt - Trigonométrie :
sin,cos,tan - Logarithmes :
log,log10 - Arrondi :
floor,ceil,round
Nous étudierons chaque groupe dans les prochaines leçons.
Mélanger mathématiques et logique
Les résultats de math.h sont des nombres ordinaires que vous pouvez comparer et utiliser dans des instructions if.
Ici, nous vérifions si un nombre est un carré parfait en comparant sa racine à un nombre entier.
#include <stdio.h>
#include <math.h>
int main(void) {
double root = sqrt(49.0);
if (root == 7.0) {
printf("49 is a perfect square\n");
}
return 0;
}Erreurs courantes
Faites attention à ces erreurs de débutant :
- Oublier
#include <math.h> - Oublier
-lmlors de l’édition de liens sous Linux - Afficher un
doubleavec%dau lieu de%f
Chacune de ces erreurs produit un message d’erreur déroutant ou une sortie incorrecte.
Assembler le tout
Voici un petit programme complet qui utilise deux fonctions mathématiques ensemble.
Remarquez les directives d’inclusion en haut et les variables double qui contiennent les résultats.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = sqrt(81.0);
double b = pow(2.0, 5.0);
printf("sqrt=%.1f pow=%.1f\n", a, b);
return 0;
}Vérification rapide
Quel fichier d’en-tête devez-vous inclure pour utiliser des fonctions comme sqrt et pow ?
Récapitulatif
Vous avez appris que les fonctions mathématiques se trouvent dans math.h, que vous incluez avec #include <math.h>.
Ces fonctions utilisent le type double, s’affichent avec %f et peuvent nécessiter l’option d’édition de liens -lm sous Linux. Ensuite, nous étudierons en détail les puissances et les racines.
Questions Fréquemment Posées
La leçon « Inclure math.h » est-elle gratuite ?
Oui — le texte complet de « Inclure math.h » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C Academy, passe à CoddyKit PRO. Le cours C Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Inclure math.h » ?
Liez et utilisez la bibliothèque mathématique. Tu pratiques C Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C Academy ?
Aucune expérience préalable n'est requise. C Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Inclure math.h » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C Academy ?
Oui. Chaque leçon C Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.