Exercice 1: les bases
#include <stdio.h>
#include <stdlib.h>
int main()
{
int age = 25;
float taille = 1.75f;
char initiale = 'J';
char nom[] = "Dupont";
/* Question 1.1 */
printf("Nom: __\n", nom);
/* Question 1.2 */
printf("Initiale: __\n", initiale);
/* Question 1.3 */
printf("Age: __ ans\n", age);
/* Question 1.4 */
printf("Taille: __ m\n", taille);
return EXIT_SUCCESS;
}
Questions :
1.1 Compléter avec %s pour afficher le nom
1.2 Compléter avec %c pour l’initiale
1.3 Compléter avec %d pour l’âge en décimal
1.4 Compléter avec %.2f pour la taille avec 2 décimales
Solution
printf("Nom: %s\n", nom);
printf("Initiale: %c\n", initiale);
printf("Age: %d ans\n", age);
printf("Taille: %.2f m\n", taille);
Exercice 2 : Notation %d vs %i
#include <stdio.h>
#include <stdlib.h>
int main()
{
int b = 015; /* Octal */
int c = 0x15; /* Hexadécimal */
/* Question 2.1 */
printf("b (octal) avec %%d: __\n", b);
/* Question 2.2 */
printf("b (octal) avec %%i: __\n", b);
/* Question 2.3 */
printf("c (hexa) avec %%d: __\n", c);
return EXIT_SUCCESS;
}
Questions :
2.1 Afficher b avec %d (affiche 13)
2.2 Afficher b avec %i (affiche aussi 13)
2.3 Afficher c avec %d (affiche 21)
Solution
printf("b (octal) avec %%d: %d\n", b);
printf("b (octal) avec %%i: %i\n", b);
printf("c (hexa) avec %%d: %d\n", c);
Exercice 3 : Formatage avancé
#include <stdio.h>
#include <stdlib.h>
int main()
{
double pi = 3.141592653589793;
/* Question 3.1 */
printf("Pi scientifique: __\n", pi);
/* Question 3.2 */
printf("Pi 5 decimales: __\n", pi);
return EXIT_SUCCESS;
}
Questions :
3.1 Utiliser %e pour la notation scientifique
3.2 Utiliser %.5f pour 5 décimales
Solution:
printf("Pi scientifique: %e\n", pi);
printf("Pi 5 decimales: %.5f\n", pi);
Pi scientifique: 3.141593e+00
Pi 5 decimales: 3.14159
Exercice 4 : Alignement texte
#include <stdio.h>
#include <stdlib.h>
int main()
{
char prenom[] = "Marie";
/* Question 4.1 */
printf("Prénom (10c droit) : __\n", prenom);
/* Question 4.2 */
printf("Prénom (10c gauche): __\n", prenom);
return EXIT_SUCCESS;
}
Questions :
4.1 Aligner à droite avec %10s
4.2 Aligner à gauche avec %-10s
Solution
printf("Prénom (10c droit): %10s\n", prenom);
printf("Prénom (10c gauche): %-10s\n", prenom);
Prénom (10c droit) : Marie
Prénom (10c gauche): Marie
1234567890
Exercice 5 : Format combiné
#include <stdio.h>
#include <stdlib.h>
int main()
{
int h = 14, m = 5;
float temp = 23.7f;
/* Question 5 */
printf("Il est __:__ et il fait __°C\n", h, m, temp);
return EXIT_SUCCESS;
}
Solution:
printf("Il est %02d:%02d et il fait %.1f°C\n", h, m, temp);
Il est 14:05 et il fait 23.7°C
Détails du formatage :
- Heure (
%02d) :%02dformate le nombre sur 2 chiffres, en ajoutant un zéro devant si nécessaire.m = 5→ affiché comme05.
- Minutes (
%02d) :- Même principe que pour l’heure.
h = 14→ affiché tel quel (déjà sur 2 chiffres).
- Température (
%.1f) :%.1farrondit le flottant à 1 décimale.temp = 23.7→ affiché comme23.7(pas d’arrondi supplémentaire ici).
