Formation programmation structurée en Langage C, tutoriel & guide de travaux pratiques en pdf.
Exemple de lecture et écriture
LA fonction scanf() fait le pendant à la fonction printf(). scanf() permet de lire des valeurs à partirduclavier(entrée),alorsqueprintf()permetd’acherunevaleur(sortie).Leprogramme3.1 est un exemple de lecture et d’écriture d’une chaîne de caractères.
Prog.
Lecture et écriture de chaîne par scanf() et printf()
#include <stdio .h> char tt [80];
// Tableau de 80 caractères int main()
{ printf(« Ecrivez une chaine de caracteres : « );
scanf(« %s », tt);
printf(« \nLa chaine entree est : %s\n », tt); return 0; }
Ce programme contient la définition d’une variable globale1.Cette variable est un tableau de quatre vingt caractères des tiné à recevoir les caractères lus au clavier.Les seules instructions sont les appels aux fonctions de lecture et d’écriture(scanf()etprintf()).Remarquons que l’achage de la chaîne dans le second printf() se fait grâce %s (s désigne le mot string, soit chaîne en français).
Les fonctions printf() et scanf() en détail Les fonctions printf()et scanf()transforment des objets d’une représentation à partir d’une chaîne de caractères (vision humaine) en une représentation manipulable par la machine (vision machine), et vice et versa. Pour réaliser ces transformations, ces fonctions sont guidées par des formats qui décrivent le type des objets manipulés (vision interne) et la représentation en chaîne de caractères cible (vision externe). Par exemple, un format du type %x signie d’une part que la variable est du type entier et, d’autre part, que la chaîne de caractères qui la représente est exprimée en base 16 (notation hexadécimale). Autre exemple : %d signie d’une part que la variable est du type entier et, d’autre part, que la chaîne de caractères qui la représente est exprimée en base 10 (notation décimale). Pour printf() un format est une chaîne de caractères dans laquelle sont insérés les caractères représentant la ou les variables à écrire. Pour scanf(), un format est une chaîne de caractères qui décrit la ou les variables à lire. Pour chaque variable, un type de conversion est spécié. Ce type de conversion est décrit par les caractères qui suivent le caractère %. Dans une première approche de scanf(), nous considérerons qu’il ne faut mettre que des types de conversions dans le format de lecture. Le lecteur curieux peut se reporter à la section 11.5. Le tableau 3.1 donne un résumé des déclarations de variables et des formats nécessaires à leurs manipulations pour printf() et scanf(). Pour scanf(), il faut le mettre devant le nom de la variable, sauf pour les variables du type tableau de caractères.
L’exemple 3.2 montre qu’il est possible de réaliser l’écriture ou la lecture de plusieurs variables en utilisant une seule chaîne de caractères contenant plusieurs descriptions de formats.
Lectures multiples avec scanf()
#include <stdio .h> int main() {
int i=10; float l=3.14159; char p[50]= »Bonjour »
; printf(« Apres lecture au clavier : %d %f %s\n »,i ,l ,p);
scanf(« %d%f%s »,&i,&l ,p); printf(« Apres lecture au clavier : %d %f %s\n »,i ,l ,p); return 0;
}
En ce qui concerne printf(), un certain nombre de caractères optionnels peuvent être insérés entre le symbol % et le caractères spéciant la conversion (d, x, e, …). Par exemple : ë le signe – pour demander un cadrage à gauche, au lieu du cadrage à droite (par défaut).