printf

Nom de l’instruction : printf

Type : entrée / sortie

Bibliothèque : stdio.h

Syntaxe : printf( "chaine de format", liste de valeurs )

Action : Affiche à l'écran les caractères issus de la chaîne de format en remplaçant les champs par les valeurs listées.

La chaîne de format sert à :

  • Afficher du texte à l'écran.
  • Spécifier des champs typés.
    Les champs sont des zones dans la
    chaîne de format ou les valeurs listées seront affichées sous forme de caractères.
  • Spécifier des commandes pour l'écran à l'aide de séquence de contrôle.


Texte : C'est une suite de caractères alphanumériques ('a'-'z', 'A'-'Z', '0'-'9' et de symboles)

Champ : Les champs sont spécifiés à l'aide du caractère % suivit de lettres et/ou de chiffres servant à spécifier comment interpréter les valeurs listées. Ainsi :

%d    spécifie un champ pour des valeurs de type int

%f    spécifie un champ pour des valeurs de type float

%c    spécifie un champ pour des valeurs de type char

%g    spécifie un champ pour des valeurs de type float ou double. L'affichage se fait "au mieux".

Il est possible de spécifier entre le % et le f le nombre de caractères minimum à utiliser ainsi que le nombre de chiffres après la virgule. Ainsi le champ %8.3f, spécifie que la valeur doit être interprétée comme un float et affichée avec 3 décimales en faisant en sorte d'utiliser au minimum 8 caractères.

Séquence de contrôle : 

Il s'agit d'une lettre précédée du caractère '\'. Ainsi la séquence \n mais aussi la chaîne \t sont des séquences de contrôle.

\n    spécifie qu'il faut à cet endroit passer à la ligne.

\t    spécifie qu'il faut que le texte suivant soit aligné sur le prochain multiple de 8 caractères (taquet de tabulation).

Remarques :

  • La première valeur de la liste est affichée à l'emplacement du premier champ, la deuxième valeur à l'emplacement du deuxième champ, etc.
  • Les valeurs peuvent être des nombres, des caractères, le contenu d'une variable ou la valeur retournée par une fonction.


Exemple :   

    printf("Bonjour\n"); 
    printf("A[%d] = %6.1f \n", 1 , 3.1415) ;
    p
rintf("%lf\n", cos( 1.57 ) ) ;


L3 EEA & ISS 2019-21 / p. castelan