18

Communiquer avec un Programme


Affichage avec l'instruction printf

A la manière de putchar, l'instruction printf permet de faire afficher à l'écran la valeur d'une variable, un libellé, la valeur d'une expression, une chaîne de caractères, et cela selon divers formats (associés aux différents types de variables).

Sa syntaxe est:

Exemples:


Les formats d'affichage

L'instruction d'affichage ne se contente pas de transmettre à l'écran le simple contenu des valeurs concernées. Elle doit également transformer ce contenu en un ou plusieurs caractères compréhensibles. Pour y parvenir, on fait appel au formatage des données.

Les formats principaux:


Les présentations d'affichage

Par défaut, les entiers sont affichés avec le nombre de caractères nécessaires, tout comme les caractères, en revanche les décimaux, sont affichés avec 6 chiffres après le point.
Un nombre placé après le % dans le code de format, précise un nombre minimal de caractères à utiliser. Si le nombre peut s'écrire avec moins de caractères, printf le fera précéder d'un nombre suffisant d'espaces ; en revanche, si le nombre ne peut s'afficher dans le gabarit imposé, printf utilisera le nombre de caractères nécessaires.

Exemples: (ici : la notation ^ matérialise un espace):

Il est également possible de préciser le nombre de caractères souhaités après le point. Il suffit de faire précéder le format du chiffre de caractères souhaités, lui-même précédé d'un point.

Exemples:

Enfin pour présenter correctement l'affichage des données, il est possible d'utiliser des caractères spéciaux:


Lecture de valeurs avec scanf

A la manière de getchar, l'instruction scanf a pour rôle de lire une information saisie au clavier. Comme printf, la fonction scanf possède en premier argument un format exprimé sous forme d'une chaîne de caractères. Les présentations d'affichage et les formats d'affichage de scanf sont identiques à ceux de printf.

Sa syntaxe est:

Attention : Il est impératif de placer un & devant chaque nom de variable, dans une fonction scanf. En effet, la fonction scanf doit être en mesure de ranger la valeur lue dans l'emplacement correspondant à cette variable : il lui faut en paramètre l'adresse de cette variable. C'est pourquoi il ne faut pas omettre le & devant les noms de variable, sans quoi la fonction scanf rangerait les valeurs lues, sans savoir où les récupérer.

Exemple:

Remarque : Lorsqu'on lit deux valeurs (ou plus) dans un même appel à la fonction scanf, la fonction lit les deux valeurs séparées par un ou des espace(s) i.e. blanc, tabulation ou retour chariot.

Attention : pour la lecture d'une chaîne de caractères, le symbole & ne doit pas être utilisé.