Type Casting Partie 2
Fait partie de la section Fundamentals du Journey C de Coddy — leçon 14 sur 63.
Dans la partie 1, nous avons examiné le transtypage implicite. Maintenant, explorons le transtypage explicite en C.
Le transtypage explicite (conversion manuelle) se produit lorsque vous convertissez de force un type de données en un autre en utilisant l'opérateur de transtypage.
La syntaxe pour le transtypage explicite est :
(target_type) expressionConvertissons un float en un entier :
float price = 45.95;
int rounded_price = (int) price;Après l'exécution du code ci-dessus, rounded_price sera :
45
Notez que la partie décimale est tronquée (et non arrondie).
Nous pouvons également convertir des caractères en entiers pour obtenir leurs valeurs ASCII :
char letter = 'A';
int ascii_value = (int) letter;Après l'exécution du code ci-dessus, ascii_value sera :
65
N'oubliez pas que le transtypage peut entraîner une perte de données, particulièrement lors de la conversion d'un type de données plus grand vers un plus petit.
Défi
FacileÉcrivez un programme qui :
- Déclare une variable de type double nommée
temperatureet lui assigne la valeur 98.6. - Utilise le transtypage explicite pour convertir
temperatureen un entier et le stocke dans une variable nomméewhole_part. - Affiche la température d'origine et la partie entière sur des lignes distinctes.
Exemple de sortie :
Original temperature: 98.6
Whole part: 98
Essayez vous-même
#include <stdio.h>
int main() {
// Écrivez votre code ici
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
2Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatif