Comment utiliser la fonction printf en C ?

Article publié le et mis à jour le .

La fonction printf en C

Comment faire un printf ? Comment afficher des variables avec ? Combien d’arguments accepte printf ?

Découvrez tout sur la fonction d’affiche en C !

Dans cet article, on va parler de la fonction printf en C, une fonction essentielle pour afficher du texte et des valeurs à l’écran.

Si vous avez déjà entendu parler de “Hello World” en programmation, c’est grâce à printf que ce texte s’affiche dans le terminal.

Mais printf, c’est bien plus qu’un simple moyen d’afficher des chaînes de caractères : il vous permet de formater vos sorties, d’afficher des variables de différents types et d’organiser l’affichage de manière flexible.

Tableau récapitulatif des codes de format de printf :

Code de format Type de données Exemple d’utilisation
%d Entier signé (int) printf("%d", 42);
%u Entier non signé (unsigned int) printf("%u", 42);
%f Nombre à virgule flottante (float) printf("%f", 3.14159);
%lf Double précision (double) printf("%lf", 3.14159);
%c Caractère (char) printf("%c", 'A');
%s Chaîne de caractères (string) printf("%s", "Hello!");
%ld Entier long (long int) printf("%ld", 123456789L);
%lu Entier non signé long (unsigned long) printf("%lu", 123456789UL);
%lld Entier long long (long long int) printf("%lld", 123456789LL);
%llu Entier non signé long long (unsigned long long) printf("%llu", 123456789ULL);
%e Notation scientifique (float/double) printf("%e", 3.14159e2);
%x Hexadécimal en minuscules printf("%x", 255);
%X Hexadécimal en majuscules printf("%X", 255);
%o Octal printf("%o", 255);
%p Adresse mémoire (pointeur) printf("%p", &variable);
%% Caractère pourcentage (%) printf("%%");

À quoi sert la fonction printf ?

Dans un programme C, si vous voulez afficher quelque chose, printf est votre allié. Il ne fait pas partie du langage C de base, donc il faut inclure son fichier d’en-tête (stdi.h) pour l’utiliser.

Par exemple, pour afficher un simple message comme “Hello, World!” :

#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

On voit ici que printf prend une chaîne de caractères comme argument. Le \n à la fin est un symbole spécial, appelé caractère d’échappement, qui sert à faire un retour à la ligne.

Afficher des variables avec printf

Souvent, vous ne voudrez pas juste afficher du texte fixe, mais plutôt des valeurs qui changent au cours de l’exécution de votre programme, comme des nombres ou des lettres. C’est là que printf devient vraiment intéressant, car il permet d’afficher des variables en formatant la chaîne de caractères.

Imaginons que vous ayez une variable score qui contient un nombre entier, et que vous voulez afficher cette valeur :

int score = 100;
printf("Le score est de %d\n", score);

Le %d dans la chaîne de caractères est ce qu’on appelle un “drapeau” ou un “flag”. Il indique à printf qu’on va afficher un entier (d pour “décimal”). Ensuite, en dehors des guillemets, on passe la variable à afficher, ici score. Le résultat sera :

Le score est de 100

D’autres flags dans printf

Les flags permettent de dire à printf quel type de variable on veut afficher. Voici quelques exemples courants :

  • %d : pour les entiers (comme on vient de voir)
  • %f : pour les nombres à virgule (floats)
  • %c : pour un caractère unique
  • %s : pour une chaîne de caractères

Prenons un autre exemple avec un nombre à virgule. Pour afficher un float, vous utilisez %f :

float pi = 3.14159;
printf("La valeur de pi est %.2f\n", pi);

Ici, %.2f signifie qu’on veut afficher la valeur avec deux chiffres après la virgule. Le résultat sera :

La valeur de pi est 3.14

Ajouter plusieurs valeurs dans printf

Avec printf, vous pouvez afficher plusieurs variables en même temps. Par exemple, si vous avez deux nombres et que vous voulez afficher leur somme :

int nombre1 = 5;
int nombre2 = 3;
int somme = nombre1 + nombre2;
printf("La somme de %d et %d est %d\n", nombre1, nombre2, somme);

Ici, on utilise trois %d dans la chaîne de caractères, un pour chaque variable entière (les deux nombres et leur somme). Le résultat sera :

La somme de 5 et 3 est 8

Formater avec précision

Si vous avez besoin de contrôler exactement l’affichage, comme le nombre de chiffres avant et après la virgule pour les nombres à virgule, vous pouvez utiliser des spécifications supplémentaires. Par exemple, pour afficher un nombre à virgule avec trois chiffres après la virgule :

float temperature = 23.56789;
printf("La température est %.3f\n", temperature);

Le résultat sera :

La température est 23.568

Afficher des caractères

Si vous voulez afficher un caractère, c’est aussi simple que d’utiliser %c :

char lettre = 'A';
printf("La lettre est %c\n", lettre);

Conclusion

La fonction printf est un outil incroyablement puissant en C, qui vous permet de contrôler ce que votre programme affiche. Que ce soit pour afficher des nombres, des caractères ou des chaînes de caractères, printf offre une grande flexibilité avec son système de flags pour formater vos sorties comme vous le souhaitez.

Si vous voulez vous entraîner, je vous conseille de faire des petits programmes qui manipulent ces concepts, par exemple en créant plusieurs variables, en les additionnant ou en affichant différents types de données. Vous allez vite voir à quel point printf est indispensable pour vos premiers pas en C.