0Pricing
C Academy · Leçon

Conversions explicites

Conversions manuelles

Conversions explicites est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.

Qu’est-ce qu’une conversion explicite ?

Une conversion explicite convertit volontairement une valeur vers un autre type avec (type)value. Elle indique précisément au compilateur ce que vous souhaitez.

#include <stdio.h>
int main(void) {
    double d = (double)5;
    printf("%.1f\n", d);
    return 0;
}

Forcer une division réelle

Convertissez un opérande en double afin que la division conserve la partie fractionnaire.

#include <stdio.h>
int main(void) {
    int a = 7, b = 2;
    double r = (double)a / b;
    printf("%.2f\n", r);
    return 0;
}

Tronquer volontairement

Convertir un double en int supprime les décimales. C’est parfois exactement le résultat recherché.

#include <stdio.h>
int main(void) {
    double price = 19.95;
    int dollars = (int)price;
    printf("dollars = %d\n", dollars);
    return 0;
}

Conversion explicite ou implicite

Une conversion implicite se produit automatiquement ; une conversion explicite documente l’intention et supprime les avertissements.

#include <stdio.h>
int main(void) {
    long big = 100000L;
    int n = (int)big;
    printf("n = %d\n", n);
    return 0;
}

Conversions dans les expressions

Une conversion explicite ne s’applique qu’à la valeur qui la suit ; l’ordre et les parenthèses sont donc importants.

#include <stdio.h>
int main(void) {
    int total = 5, count = 2;
    double avg = (double)total / count;
    printf("avg = %.2f\n", avg);
    return 0;
}

Conversions entre char et int

Vous pouvez convertir entre char et int pour passer d’un caractère à son code et inversement.

#include <stdio.h>
int main(void) {
    int code = 66;
    char c = (char)code;
    printf("c = %c\n", c);
    return 0;
}

Arrondir avec une conversion explicite

Ajoutez 0.5 avant la conversion pour arrondir un nombre positif à l’entier le plus proche.

#include <stdio.h>
int main(void) {
    double d = 2.7;
    int rounded = (int)(d + 0.5);
    printf("rounded = %d\n", rounded);
    return 0;
}

Conversion en unsigned

Vous pouvez convertir en unsigned, mais une valeur négative revient cycliquement sous la forme d’un grand nombre positif.

#include <stdio.h>
int main(void) {
    int x = 10;
    unsigned int u = (unsigned int)x;
    printf("u = %u\n", u);
    return 0;
}

Éviter les conversions inutiles

Convertir alors que la conversion est déjà sûre et implicite ne fait qu’ajouter du bruit. Utilisez des conversions lorsqu’elles clarifient le code ou sont nécessaires.

#include <stdio.h>
int main(void) {
    int a = 4;
    double d = a;
    printf("%.1f\n", d);
    return 0;
}

Conversion dans une formule

Une conversion au sein d’un calcul de pourcentage conserve la précision du résultat.

#include <stdio.h>
int main(void) {
    int done = 3, total = 8;
    double pct = (double)done / total * 100.0;
    printf("%.1f%%\n", pct);
    return 0;
}

Conversions avec les fonctions mathématiques

Les conversions sont utiles pour fournir des valeurs entières à des calculs en virgule flottante.

#include <stdio.h>
int main(void) {
    int n = 9;
    double root = (double)n / 3.0;
    printf("%.2f\n", root);
    return 0;
}

Vérification rapide

Testez votre compréhension des conversions explicites.

Récapitulatif : conversions explicites

Vous avez appris à convertir volontairement les types.

  • La syntaxe est (type)value
  • Convertissez pour forcer une division réelle
  • Convertissez pour tronquer intentionnellement
  • Les conversions documentent l’intention et suppriment les avertissements
  • Une conversion n’affecte que la valeur adjacente ; utilisez donc des parenthèses

Questions Fréquemment Posées

La leçon « Conversions explicites » est-elle gratuite ?

Oui — le texte complet de « Conversions explicites » 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 « Conversions explicites » ?

Conversions manuelles 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 2 sur 4.

Combien de temps prend la leçon « Conversions explicites » ?

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. Conversions implicites
  2. Conversions explicites
  3. Conversions d’entiers et de flottants
  4. Pièges des conversions
← Retour à C Academy