SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 1
Chapitre 4:
Les entrées-sorties
en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 2
 Pour l’affichage formaté des données, on utilise la
fonction printf.
 Formaté signifié que nous pouvons contrôler les
expressions et les formats des données affichées.
 La fonction printf admet la syntaxe suivante:
printf("formats",arg_1, arg_2,…, arg_n);
La fonction printf
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 3
Le format est interprété de la manière suivante:
i. Les caractères ordinaires sont affichés tels quels.
ii. Les caractères précédés d’une barre oblique inverse
() permettent de faire de la mise en page (n, t, …).
iii. Une séquence commençant par le caractère % sera
remplacer par la valeur d’un argument. Les caractères
qui suit le % précise le type de l’argument et la
manière dont il sera affiché.
La fonction printf
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 4
Exemple
Chapitre 4 : Les entrées-sorties en C
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 5
Exemple
Chapitre 4 : Les entrées-sorties en C
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 6
 Par défaut, les entiers sont affichés avec le nombre
de caractères nécessaires (sans espaces avant ou
après). Les flottants sont affichés avec six chiffres
après le point (aussi bien pour le code e que f). Mais
on peut introduire entre le % et le caractère de
spécification de format d’affichage quelques
caractères de contrôles d’affichage:
Le caractère ‘-’ permet d’afficher l’argument aligné
à gauche (par défaut à droite).
Le caractère ‘+’ fait qu’un nombre est toujours
affiché avec son signe (par défaut seul le moins est
affiché).
La fonction printf
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 7
 Un nombre précisant le gabarit d’affichage, c.-à-d. un
nombre minimal de caractère à utiliser.
 Le caractère ‘.’ suivi d’un nombre permet de spécifier
pour les valeurs réels le nombre de chiffres après la
virgule.
La fonction printf
Chapitre 4 : Les entrées-sorties en C
Exemple
printf ("%10.3f", x) ;
x = 1.2345 ^^^^^1.235
x = 1.2345E3 ^^1234.500
x = 1.2345E7 12345000.000
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 8
 La fonction scanf autorise la saisie formatée de
données (depuis le clavier) et on la désigne comme
printf. Sa syntaxe est :
scanf("format",adresse_1, adresse_2,…, adresse_n);
 La chaîne de format peut contenir ici aussi bien des
caractères usuels que des spécifications de format,
ces dernières commençant par le caractère % comme
avec printf.
La fonction scanf
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 9
 L’opérateur d’adressage & appliqué au nom de la
variable informe donc la fonction scanf de
l’emplacement de stockage de la valeur saisie.
 scanf attend donc comme argument non pas le nom
(donc la valeur) d’une variable, mais au contraire
son adresse.
// Lecture d'un entier et d’un réel :
int n;
float x;
scanf("%d%f", &n,&x);
La fonction scanf
Chapitre 4 : Les entrées-sorties en C
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 10
 Notion de tampon et séparateurs
 Lorsque scanf attend que vous lui fournissiez des
données, l’information frappée au clavier est rangée
temporairement dans l’emplacement mémoire
nommé «tampon». Ce dernier est exploré, caractère
par caractère par scanf, au fur et à mesure des
besoins.
 D’autre part, certains caractères dits «séparateurs»
jouent un rôle particulier dans les données: _, n, t,
v et f
La fonction scanf
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 11
La fonction scanf
 Règles utilisées par scanf
 Le code de format d’un nombre entraîne d’abord
l’avancement éventuel du pointeur jusqu’au
premier caractère différent d’un séparateur. Puis
scanf prend en compte tous les caractères suivants
jusqu’à la rencontre d’un séparateur (en y plaçant
le pointeur), du moins lorsque aucun gabarit n’est
précisé et qu’aucun caractère invalide n’est présent
dans la donnée.
 Quant au code de format %c, il entraîne la prise en
compte du caractère désigné par le pointeur et le
pointeur est simplement avancé sur le caractère
suivant du tampon.
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 12
La fonction scanf
scanf ("%d%d", &n, &p) ;
12^25@ n = 12 p = 25
^12^^25^^@ n = 12 p = 25
12@
@
^25@ n = 12 p = 25
//--------------------------------------------------------------------------
scanf ("%c%d", &c, &n) ;
a25@ c = 'a' n = 25
a^^25@ c = 'a‘ n = 25
//-------------------------------------------------------------------------------
scanf ("%d%c", &n, &c) ;
12 a@ n = 12 c = ‘ '
Chapitre 4 : Les entrées-sorties en C
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 13
La fonction scanf
 Imposition d’un gabarit maximal
Comme dans les codes de format de printf, on peut, dans
un code de format de scanf, préciser un gabarit. Dans ce
cas, le traitement d’un code de format s’interrompt soit à la
rencontre d’un séparateur, soit lorsque le nombre de
caractères indiqués a été atteint (les séparateurs
éventuellement sautés auparavant ne sont pas
comptabilisés !).
Chapitre 4 : Les entrées-sorties en C
Exemple
scanf ("%3d%3d", &n, &p)
12^25@ n = 12 p = 25
^^^^^12345@ n=123 p=45
12@
25@ n = 12 p = 25
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 14
La fonction scanf
 Rôle d’un espace dans le format
Un espace entre deux codes de format demande à
scanf de faire avancer le pointeur au prochain
caractère différent d’un séparateur.
Notez que c’est déjà ce qui se passe lorsque l’on a
affaire à un code de format correspondant à un type
numérique.
Chapitre 4 : Les entrées-sorties en C
Exemple
scanf("%d^%c",&n,&c); /* ^ désigne un espace */
/* %d^%c est différent de %d%c */
12^a@ n = 12 c = 'a‘
12^^^a@ n = 12 c = 'a‘
12@a@ n = 12 c = 'a‘
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 15
1- Écrire un programme qui calcul le volume d’un
cylindre de rayon r et de hauteur h : V= π *r*r*h.
2- Écrire un programme qui échange les valeurs de
deux entiers.
La fonction scanf
Chapitre 4 : Les entrées-sorties en C
Exercices
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 16
 La macro putchar permet d’afficher un seul
caractère sur l’écran de l’ordinateur.
 La syntaxe de son utilisation est la suivante :
putchar(variable) ;
où variable est de type char.
La macro putchar
Chapitre 4: Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 17
 Lamacro getchar permet la récupération d’un seul
caractère à partir du clavier.
 La syntaxe d’utilisation de getchar est la suivante :
variable=getchar() ;
 Noter que la variable doit être de type char et les
parenthèses après getchar sont nécessaires.
La macro getchar
Chapitre 4 : Les entrées-sorties en C
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 18
Exemple
Chapitre 4 : Les entrées-sorties en C
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 19
Exemple
Chapitre 4 : Les entrées-sorties en C
Exemple

Weitere ähnliche Inhalte

Ähnlich wie Chapitre 4 - Les entrées-sorties en C.pdf

Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationkamalomari2
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Chapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdfChapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdfShiniGami0o0
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Fahad Golra
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage Ccoursuniv
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDotNetHub
 
Interception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appelInterception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appelThierry Gayet
 
Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage cEbrima NJIE
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018salah fenni
 
Corrigé langage c
Corrigé langage cCorrigé langage c
Corrigé langage ccoursuniv
 
Lect14 dev2
Lect14 dev2Lect14 dev2
Lect14 dev2moisko
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdiversHajar Yazine
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
ExercicescorrigesdiversKarim Amane
 
Chapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdfChapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdfShiniGami0o0
 

Ähnlich wie Chapitre 4 - Les entrées-sorties en C.pdf (20)

Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Chapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdfChapitre 9 - Les fonctions.pdf
Chapitre 9 - Les fonctions.pdf
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
c4.pdf
c4.pdfc4.pdf
c4.pdf
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCL
 
Interception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appelInterception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appel
 
Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage c
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018
 
POO-chapitre2.pptx
POO-chapitre2.pptxPOO-chapitre2.pptx
POO-chapitre2.pptx
 
Corrigé langage c
Corrigé langage cCorrigé langage c
Corrigé langage c
 
Lect14 dev2
Lect14 dev2Lect14 dev2
Lect14 dev2
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Pascal
PascalPascal
Pascal
 
Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
Exercicescorrigesdivers
 
Chapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdfChapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdf
 

Chapitre 4 - Les entrées-sorties en C.pdf

  • 1. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 1 Chapitre 4: Les entrées-sorties en C
  • 2. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 2  Pour l’affichage formaté des données, on utilise la fonction printf.  Formaté signifié que nous pouvons contrôler les expressions et les formats des données affichées.  La fonction printf admet la syntaxe suivante: printf("formats",arg_1, arg_2,…, arg_n); La fonction printf Chapitre 4 : Les entrées-sorties en C
  • 3. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 3 Le format est interprété de la manière suivante: i. Les caractères ordinaires sont affichés tels quels. ii. Les caractères précédés d’une barre oblique inverse () permettent de faire de la mise en page (n, t, …). iii. Une séquence commençant par le caractère % sera remplacer par la valeur d’un argument. Les caractères qui suit le % précise le type de l’argument et la manière dont il sera affiché. La fonction printf Chapitre 4 : Les entrées-sorties en C
  • 4. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 4 Exemple Chapitre 4 : Les entrées-sorties en C Exemple
  • 5. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 5 Exemple Chapitre 4 : Les entrées-sorties en C Exemple
  • 6. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 6  Par défaut, les entiers sont affichés avec le nombre de caractères nécessaires (sans espaces avant ou après). Les flottants sont affichés avec six chiffres après le point (aussi bien pour le code e que f). Mais on peut introduire entre le % et le caractère de spécification de format d’affichage quelques caractères de contrôles d’affichage: Le caractère ‘-’ permet d’afficher l’argument aligné à gauche (par défaut à droite). Le caractère ‘+’ fait qu’un nombre est toujours affiché avec son signe (par défaut seul le moins est affiché). La fonction printf Chapitre 4 : Les entrées-sorties en C
  • 7. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 7  Un nombre précisant le gabarit d’affichage, c.-à-d. un nombre minimal de caractère à utiliser.  Le caractère ‘.’ suivi d’un nombre permet de spécifier pour les valeurs réels le nombre de chiffres après la virgule. La fonction printf Chapitre 4 : Les entrées-sorties en C Exemple printf ("%10.3f", x) ; x = 1.2345 ^^^^^1.235 x = 1.2345E3 ^^1234.500 x = 1.2345E7 12345000.000
  • 8. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 8  La fonction scanf autorise la saisie formatée de données (depuis le clavier) et on la désigne comme printf. Sa syntaxe est : scanf("format",adresse_1, adresse_2,…, adresse_n);  La chaîne de format peut contenir ici aussi bien des caractères usuels que des spécifications de format, ces dernières commençant par le caractère % comme avec printf. La fonction scanf Chapitre 4 : Les entrées-sorties en C
  • 9. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 9  L’opérateur d’adressage & appliqué au nom de la variable informe donc la fonction scanf de l’emplacement de stockage de la valeur saisie.  scanf attend donc comme argument non pas le nom (donc la valeur) d’une variable, mais au contraire son adresse. // Lecture d'un entier et d’un réel : int n; float x; scanf("%d%f", &n,&x); La fonction scanf Chapitre 4 : Les entrées-sorties en C Exemple
  • 10. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 10  Notion de tampon et séparateurs  Lorsque scanf attend que vous lui fournissiez des données, l’information frappée au clavier est rangée temporairement dans l’emplacement mémoire nommé «tampon». Ce dernier est exploré, caractère par caractère par scanf, au fur et à mesure des besoins.  D’autre part, certains caractères dits «séparateurs» jouent un rôle particulier dans les données: _, n, t, v et f La fonction scanf Chapitre 4 : Les entrées-sorties en C
  • 11. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 11 La fonction scanf  Règles utilisées par scanf  Le code de format d’un nombre entraîne d’abord l’avancement éventuel du pointeur jusqu’au premier caractère différent d’un séparateur. Puis scanf prend en compte tous les caractères suivants jusqu’à la rencontre d’un séparateur (en y plaçant le pointeur), du moins lorsque aucun gabarit n’est précisé et qu’aucun caractère invalide n’est présent dans la donnée.  Quant au code de format %c, il entraîne la prise en compte du caractère désigné par le pointeur et le pointeur est simplement avancé sur le caractère suivant du tampon. Chapitre 4 : Les entrées-sorties en C
  • 12. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 12 La fonction scanf scanf ("%d%d", &n, &p) ; 12^25@ n = 12 p = 25 ^12^^25^^@ n = 12 p = 25 12@ @ ^25@ n = 12 p = 25 //-------------------------------------------------------------------------- scanf ("%c%d", &c, &n) ; a25@ c = 'a' n = 25 a^^25@ c = 'a‘ n = 25 //------------------------------------------------------------------------------- scanf ("%d%c", &n, &c) ; 12 a@ n = 12 c = ‘ ' Chapitre 4 : Les entrées-sorties en C Exemple
  • 13. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 13 La fonction scanf  Imposition d’un gabarit maximal Comme dans les codes de format de printf, on peut, dans un code de format de scanf, préciser un gabarit. Dans ce cas, le traitement d’un code de format s’interrompt soit à la rencontre d’un séparateur, soit lorsque le nombre de caractères indiqués a été atteint (les séparateurs éventuellement sautés auparavant ne sont pas comptabilisés !). Chapitre 4 : Les entrées-sorties en C Exemple scanf ("%3d%3d", &n, &p) 12^25@ n = 12 p = 25 ^^^^^12345@ n=123 p=45 12@ 25@ n = 12 p = 25
  • 14. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 14 La fonction scanf  Rôle d’un espace dans le format Un espace entre deux codes de format demande à scanf de faire avancer le pointeur au prochain caractère différent d’un séparateur. Notez que c’est déjà ce qui se passe lorsque l’on a affaire à un code de format correspondant à un type numérique. Chapitre 4 : Les entrées-sorties en C Exemple scanf("%d^%c",&n,&c); /* ^ désigne un espace */ /* %d^%c est différent de %d%c */ 12^a@ n = 12 c = 'a‘ 12^^^a@ n = 12 c = 'a‘ 12@a@ n = 12 c = 'a‘
  • 15. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 15 1- Écrire un programme qui calcul le volume d’un cylindre de rayon r et de hauteur h : V= π *r*r*h. 2- Écrire un programme qui échange les valeurs de deux entiers. La fonction scanf Chapitre 4 : Les entrées-sorties en C Exercices
  • 16. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 16  La macro putchar permet d’afficher un seul caractère sur l’écran de l’ordinateur.  La syntaxe de son utilisation est la suivante : putchar(variable) ; où variable est de type char. La macro putchar Chapitre 4: Les entrées-sorties en C
  • 17. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 17  Lamacro getchar permet la récupération d’un seul caractère à partir du clavier.  La syntaxe d’utilisation de getchar est la suivante : variable=getchar() ;  Noter que la variable doit être de type char et les parenthèses après getchar sont nécessaires. La macro getchar Chapitre 4 : Les entrées-sorties en C
  • 18. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 18 Exemple Chapitre 4 : Les entrées-sorties en C Exemple
  • 19. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2018-2019 p 19 Exemple Chapitre 4 : Les entrées-sorties en C Exemple