Menu
Coddy logo textTech

Conversion de type - Partie 1

Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 13 sur 63.

La conversion de type en C vous permet de convertir une valeur d’un type de données vers un autre. Cela est utile lorsque vous devez effectuer des opérations entre différents types de données.

Il existe deux principaux types de conversion de type :

  1. Conversion implicite (automatique)
  2. Conversion explicite (manuelle)

Commençons par la conversion implicite :

La conversion implicite se produit automatiquement lors de la conversion d’un type de données plus petit vers un type plus grand :

int num = 10;
double decimal_num;

// Conversion implicite de int en double
decimal_num = num;

Après l’exécution du code ci-dessus, decimal_num aura la valeur 10.0

Cela fonctionne parce qu’un double peut stocker toutes les valeurs possibles d’un int sans perdre de données. La conversion est sûre, donc C la fait automatiquement.

Chemins courants de conversion implicite :

  • char → int → long → float → double

Examinons maintenant la conversion de type explicite :

Le Explicit casting est effectué manuellement en plaçant le type de données cible entre parenthèses avant la valeur que vous souhaitez convert. Cela est nécessaire lors de la conversion d’un type de données plus grand vers un type plus petit, où une perte de données peut se produire :

double decimal_num = 5.65;
int num;

// Conversion explicite de double en int
num = (int)decimal_num;

Après l’exécution du code ci-dessus, num aura la valeur 5

Notez que la partie décimale est tronquée (et non arrondie) lors de la conversion explicite de double en int. La syntaxe de la conversion explicite est la suivante :

(target_type) value

Parce que cette conversion peut entraîner une perte de données, C exige que vous l’effectuiez explicitement. Cela indique au compilateur que vous êtes conscient de la perte de données potentielle.

challenge icon

Défi

Facile

Écrivez un programme qui :

  1. Déclare une variable double result et lui attribue la valeur 5.65
  2. Déclare une variable int grade
  3. Attribue la valeur de result à grade en utilisant une conversion explicite
  4. Affiche la valeur de grade avec le message "The grade is: " en utilisant printf

Essayez vous-même

#include <stdio.h>

int main() {
    double result = 5.65;
    int grade;
    
    // Utilisez un cast explicite pour convertir result (double) en grade (int)
    
    printf("The grade is: %d\n", grade);
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur C en ligne