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
- Conversions implicites
- Conversions explicites
- Conversions d’entiers et de flottants
- Pièges des conversions