120 likes | 226 Views
En trée-sortie simple. Faire le programme d’écouter et parler. L’objectif. Communication stdin – le clavier stdout – l’écran stderr – les erreurs. Texte. Texte. entrée. Programme. valeurs. valeurs. sortie. Texte.
E N D
Entrée-sortie simple Faire le programme d’écouter et parler B.Shishedjiev - Entrée/sortie
L’objectif • Communication • stdin – le clavier • stdout – l’écran • stderr – les erreurs Texte Texte entrée Programme valeurs valeurs sortie Texte • Pour utiliser les fonction d’entrée-sortie on doit inclure la bibliothèque stdio #include <stdio.h> B.Shishedjiev - Entrée/sortie
La sortie formatée • Fonction printf – rend le nombre d’octets affichés int printf( format , expr1 , expr2 , ... exprn ) • Le string format – comporte les caractères qui doivent être affichés et des spécifications printf( “….sp1 … sp2 … sp3 … “, expr1 , expr2 , expr3) • Spécification – comment la donnée doit être présentée%[+-0 espace#][l][.p][h|l|L]d|i|u|o|x|X|f|e|E|g|G|p|c|s%% B.Shishedjiev - Entrée/sortie
Affichage formaté • Exemples #include <stdio.h> void main (void ) { int i = 23674; int j = -23674; long k = (1L << 31); printf ("impression de i : \n"); printf ("|%d| \t |%u| \t |%o| \t |%x|" ,i,i,i,i) ; printf ("\n|%10d|\t|%10.6d|\t|%-10.3o|\t|%.5x|",i,i,i,i); printf ("\nimpression de j : \n"); printf("%d \t %u \t %o \t %x",j,j,j,j); printf ("\nimpression de k: \n") ; printf ("%ld \t %lu \t %lo \t %lx", k, k, k, k) ; printf ("\n"); } impression de i : |23674| |23674| |56172| |5c7a| | 23674| | 023674| |56172 | |05c7a| impression de j : -23674 41862 121606 a386 impression de k: -2147483648 2147483648 20000000000 80000000 B.Shishedjiev - Entrée/sortie
Affichage formaté • Exemples #include <stdio.h> void main (void ) { double x = 1e-8 + 1000; char c = 'A' ; char *chaine = "chaine de caracteres" ; printf ("\nimpression de x: \n") ; printf ("%f \t %e \t %g",x, x ,x ) ; printf ("\n%.2f \t %.2e",x,x); printf ("\n%.20f \t %.20e" ,x,x) ; printf ("\nimpression de c : \n") ; printf ("%c \t %d",c, c ) ; printf ("\nimpression de chaine : \n"); printf ("%s \t %.10s" , chaine, chaine) ; printf ("\n|%20.10s| \t |%-20.10s|" , chaine, chaine) ; printf ("\n"); } impression de x: |1000.000000| |1.000000e+03| |1000| |1000.00| |1.00e+03| | +1000.00| |+1.00e+03 | |1000.00000001000001000000| |1.00000000001000001000e+03| impression de c : A 65 impression de chaine : |chaine de caracteres| |chaine de | | chaine de | |chaine de | B.Shishedjiev - Entrée/sortie
Affichage de caractères • La fonction putchar int putchar( caractère ) • Exemples putchar( ‘A’); putchar(‘\n’); putchar(‘\’’); • La fonction puts – ajoute le ‘\n’ int puts( string ) • Exemples puts( “Zorro est arrivé”); En cas d’erreur tous les fonctions rendent la valeur EOF B.Shishedjiev - Entrée/sortie
La saisie EOF 'B' 'o' 'n' 'j' 'o' 'u' 'r' '\n' 'm' 'a' 'm' 'a' B.Shishedjiev - Entrée/sortie
La saisie • La saisie de caractères – fonction getchar. int getchar(void) • Exemple int C; C = getchar(); B.Shishedjiev - Entrée/sortie
La saisie formatée • La fonction scanf – rend le nombre de paramètres affectés int scanf( format , adresse1 , adresse2 , ... adressen) • Le string format – comporte les caractères qui doivent être lus et des spécifications. Chaque espace dénote un ou plusieurs caractères d’échapement – espace, tabulation ou novelle ligne scanf( “….sp1 … sp2 … sp3 … “, adr1 , adr2 , adr3) • Spécification – comment la donnée doit être présentée % [*] [l] [.p] [h|l|L] d|i|u|o|x|f|e|g|c|s %% B.Shishedjiev - Entrée/sortie
La saisie formatée • ExemplesDéclaration int JOUR,MOIS, ANNEE; RECU = scanf("%i %i %i", &JOUR, &MOIS, &ANNEE); B.Shishedjiev - Entrée/sortie
La saisie formatée • ExemplesDéclaration int x,y; B.Shishedjiev - Entrée/sortie
La saisie formatée • Exemples int x,y; B.Shishedjiev - Entrée/sortie