Types de données et mise en forme de l'affichage en C et C++
Dans cette leçon, vous allez déclarer des variables entières et décimales et les afficher au bon format en C comme en C++.
Introduction
C et C++ partagent les types numériques de base, comme int pour les entiers et double pour les nombres à virgule. La mise en forme de l'affichage diffère cependant : C utilise la chaîne de format de printf, et C++ les flux de sortie (streams) avec les outils de la bibliothèque iomanip.
Points importants
- Activez les avertissements du compilateur (compiler warnings) et corrigez-les tous.
- Comprenez bien le type et la durée de vie (lifetime) de chaque valeur.
- Vérifiez toujours les données d'entrée et les limites des indices de tableau.
Exemples de code C et C++
#include <stdio.h>
int main(void) {
int items = 7;
double price = 3.5;
printf("items=%d total=%.2f\n", items, items * price);
return 0;
}
items=7 total=24.50
#include <iomanip>
#include <iostream>
int main() {
int items = 7;
double price = 3.5;
std::cout << "items=" << items << " total="
<< std::fixed << std::setprecision(2) << items * price << '\n';
}
items=7 total=24.50
Comparaison entre C et C++
Avec printf, chaque valeur a besoin d'un spécificateur correspondant, par exemple %d pour un int et %.2f pour un nombre à 2 décimales. Si le spécificateur ne correspond pas au type, le résultat est faux. En C++, std::cout choisit la façon d'afficher selon le type de la valeur, et std::fixed avec std::setprecision règlent le nombre de décimales.
C utilise de petites fonctions procédurales et montre ouvertement comment les données sont représentées en mémoire.
C++ permet toujours de travailler à bas niveau, mais ajoute des types de bibliothèque et des abstractions plus sûres.
Exercices d'approfondissement
Exécutez les deux versions, puis modifiez le code pour observer la différence de sécurité qu'apporte chaque langage.
- Testez des entrées invalides et des valeurs limites.
- Compilez avec les options -Wall -Wextra -Wpedantic pour activer davantage d'avertissements.
- Placez les déclarations communes dans un fichier d'en-tête et l'implémentation dans un fichier séparé.
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
- Heures, minutes et secondes Convertir une durée en secondes en une chaîne lisible et compacte. Facile
- Celsius vers Fahrenheit Convertir une température de degrés Celsius en degrés Fahrenheit. Facile