Arrondis et valeurs absolues
floor, ceil, round et fabs.
Arrondis et valeurs absolues est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.
Arrondi et valeurs absolues
Cette leçon présente des fonctions qui ajustent les nombres : floor, ceil, round et trunc pour l'arrondi, ainsi que fabs pour la valeur absolue.
Elles se trouvent toutes dans math.h et fonctionnent avec des valeurs double.
La fonction floor
floor(x) arrondit vers le bas au nombre entier le plus proche, en direction de moins l'infini.
Ainsi, floor(3.9) vaut 3.0 et floor(-1.2) vaut -2.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", floor(3.9));
printf("%.1f\n", floor(-1.2));
return 0;
}La fonction ceil
ceil(x) arrondit vers le haut au nombre entier le plus proche, en direction de plus l'infini.
Ainsi, ceil(3.1) vaut 4.0 et ceil(-1.8) vaut -1.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", ceil(3.1));
printf("%.1f\n", ceil(-1.8));
return 0;
}La fonction round
round(x) arrondit au nombre entier le plus proche. Les valeurs exactement à mi-chemin sont arrondies en s'éloignant de zéro.
Ainsi, round(2.5) vaut 3.0 et round(2.4) vaut 2.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", round(2.5));
printf("%.1f\n", round(2.4));
return 0;
}La fonction trunc
trunc(x) supprime simplement la partie décimale, en se déplaçant toujours vers zéro.
Ainsi, trunc(3.9) vaut 3.0 et trunc(-3.9) vaut -3.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", trunc(3.9));
printf("%.1f\n", trunc(-3.9));
return 0;
}Comparer les quatre fonctions
Pour la valeur 2.7, les résultats diffèrent :
floor(2.7)= 2.0 (vers le bas)ceil(2.7)= 3.0 (vers le haut)round(2.7)= 3.0 (au plus proche)trunc(2.7)= 2.0 (vers zéro)
Choisissez celle qui correspond à votre objectif.
Valeur absolue avec fabs
fabs(x) renvoie la valeur absolue d'un nombre à virgule flottante : sa distance par rapport à zéro, toujours positive ou nulle.
Ainsi, fabs(-7.5) vaut 7.5.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", fabs(-7.5));
printf("%.1f\n", fabs(7.5));
return 0;
}fabs et abs
Attention : abs (de stdlib.h) fonctionne sur les entiers, tandis que fabs (de math.h) fonctionne sur les valeurs double.
Utiliser abs sur un double supprimerait d'abord les décimales. Pour les nombres à virgule flottante, utilisez toujours fabs.
Convertir en int
Ces fonctions renvoient un double. Pour stocker un nombre entier dans un int, convertissez explicitement le résultat.
Le plus sûr est d'utiliser d'abord round, puis de convertir, afin d'éviter que des valeurs comme 2.999 ne deviennent accidentellement 2.
#include <stdio.h>
#include <math.h>
int main(void) {
double x = 4.6;
int whole = (int)round(x);
printf("whole = %d\n", whole);
return 0;
}Exemple de distance
fabs est pratique pour mesurer l'écart entre deux valeurs, quelle que soit la plus grande.
Ici, nous calculons l'écart entre deux températures.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = 5.0, b = 12.5;
printf("gap = %.1f\n", fabs(a - b));
return 0;
}Arrondir à deux décimales
Pour arrondir à deux décimales, multipliez par 100, arrondissez, puis divisez par 100.
Cette astuce utilise round pour conserver des valeurs monétaires bien présentées.
#include <stdio.h>
#include <math.h>
int main(void) {
double price = 3.14159;
double r = round(price * 100.0) / 100.0;
printf("%.2f\n", r);
return 0;
}Vérification rapide
Rappelez-vous le comportement de chaque fonction d'arrondi.
Récapitulatif
Vous avez appris floor (vers le bas), ceil (vers le haut), round (au plus proche) et trunc (vers zéro), ainsi que fabs pour obtenir la valeur absolue des doubles.
N'oubliez pas d'utiliser fabs plutôt que abs pour les nombres à virgule flottante, et de convertir en int lorsque vous avez besoin d'un nombre entier. Bravo pour avoir terminé le cours sur math.h !
Questions Fréquemment Posées
La leçon « Arrondis et valeurs absolues » est-elle gratuite ?
Oui — le texte complet de « Arrondis et valeurs absolues » 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 « Arrondis et valeurs absolues » ?
floor, ceil, round et fabs. 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 4 sur 4.
Combien de temps prend la leçon « Arrondis et valeurs absolues » ?
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.
Toutes les leçons de ce cours
- Inclure math.h
- Puissances et racines
- Trigonométrie et logarithmes
- Arrondis et valeurs absolues