0Pricing
C Academy · Leçon

Conversions implicites

Promotions automatiques

Conversions implicites 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.

Qu’est-ce qu’une conversion ?

Lorsque C combine des valeurs de types différents, il convertit automatiquement l’une dans l’autre. C’est une conversion implicite.

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

Promotion des entiers

Les petits types entiers comme char et short sont promus en int avant les opérations arithmétiques.

#include <stdio.h>
int main(void) {
    char a = 10, b = 20;
    int sum = a + b;
    printf("sum = %d\n", sum);
    return 0;
}

Conversions arithmétiques usuelles

Dans une expression mixte, l’opérande le plus petit est converti vers le type le plus grand afin que les deux types correspondent avant l’opération.

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

De int à double

Un int affecté à un double est élargi sans risque, en conservant sa valeur exacte.

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

De double à int : troncature

Affecter un double à un int supprime la partie fractionnaire. Il n’y a pas d’arrondi.

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

char et int

Un char contient un petit entier, à savoir son code de caractère. Il se convertit naturellement en int.

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

Conversions lors d’une affectation

Le membre de droite est converti vers le type du membre de gauche lors de l’affectation.

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

Surprise de la division mixte

5 / 2 est une division entière (2). Convertissez l’un des opérandes en double pour obtenir une division réelle.

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

Conversions de type booléen

Dans les conditions, toute valeur non nulle est convertie en vrai et zéro en faux.

#include <stdio.h>
int main(void) {
    int x = 3;
    if (x)
        printf("nonzero is true\n");
    return 0;
}

Conversion de la valeur de retour

Une valeur renvoyée est convertie vers le type de retour de la fonction. Renvoyer un double depuis une fonction int le tronque.

#include <stdio.h>
int half(int n) {
    return n / 2;
}
int main(void) {
    printf("%d\n", half(7));
    return 0;
}

Passage d’arguments

Les arguments sont convertis vers le type du paramètre lorsqu’un prototype est visible.

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

Vérification rapide

Testez votre compréhension des conversions implicites.

Récapitulatif : conversions implicites

Vous avez appris les conversions automatiques de types.

  • C convertit les opérandes vers un type commun
  • Les petits entiers sont promus en int
  • Le passage de int à double élargit la valeur sans risque
  • Le passage de double à int tronque la valeur
  • La division entière peut surprendre lorsqu’aucun opérande n’est un double

Questions Fréquemment Posées

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

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

Promotions automatiques 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 « Conversions implicites » ?

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