0Pricing
C Academy · Leçon

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

  1. Inclure math.h
  2. Puissances et racines
  3. Trigonométrie et logarithmes
  4. Arrondis et valeurs absolues
← Retour à C Academy