Chapitre 3 - GII - GT
Chapitre 3 - GII - GT
Chapitre 3 - GII - GT
• Les Entrées-Sorties sont des fonctions définies dans une bibliothèque du langage (stdio :
Standard Input/Output Library) qui permettent de communiquer avec un programme à
travers l’écran et le clavier.
→ La bibliothèque standard « stdio.h » contient un ensemble de fonctions qui assurent la
communication de la machine avec le monde extérieur.
#include <stdio.h>
/*La bibliothèque « stdio.h »
• Les fonctions les plus importantes sont:
Pour l'écriture : Pour la lecture:
✓ printf(): écriture formatée de données ✓ scanf(): lecture formatée de données
✓ putchar(): écriture d'un caractère ✓ getchar(): lecture d'un caractère
: 7
2
Chapitre 3 Les fonctions d’affichage et de saisie
printf
3
Chapitre 3 Les fonctions d’affichage et de saisie
printf
Symbole Description
%d int
%u unsigned int (entier non-signé)
%f float
%lf double
%e float sous forme scientifique
%c caractère
%s chaîne de caractères
%o entier non-signé en Octal
%x entier non-signé en Hexadécimal
4
Chapitre 3 Les fonctions d’affichage et de saisie
printf
Exemple
int i = 65, k = 5;
1 Donnez le prix unitaire
float j = 3.5; 2 la valeur de i est 65
3 i=65
1 printf("Donnez le prix unitaire\n");
j=3.500000
2 printf("la valeur de i est %d\n", i); 4 i=A
j=0
printf("i=%d\nj=%f\n", i, j); 3
5 somme(65,5)=70
printf("i=%c\nj=%d\n", i, j); 4 FIN
printf( "somme(%d,%d)=%d\nFIN",i,k, i + k); 5
5
Chapitre 3 Les fonctions d’affichage et de saisie
printf
6
Chapitre 3 Les fonctions d’affichage et de saisie
printf
Exemple
float num = 9.123456789;
1 num 1=9.123457
1 printf("num 1=%f\n", num); num 2=9.1
2
printf("num 2=%.1f\n", num); 2
3 num 3=9.123
3 printf("num 3=%.3f\n", num);
printf("num 4=%.5f\n", num); 4 4 num 4=9.12346
5 num 5=9.1
5 printf("num 5=%0.1f\n", num);
6 num 6=9.1
printf("num 6=%1.1f\n", num); 6
7 printf("num 7=%2.1f\n", num); 7 num 7=9.1
printf("num 8=%3.1f\n", num); 8
8
num 8=9.1
9 printf("num 9=%4.1f\n", num); num 9=( 9.1
9
printf("num 10=%10.3f\n", num); 10 10 num 10=( ( ( ( ( 9.123
11 printf("num 11=%-10.3f\n", num); 11 num 11=9.123( ( ( ( (
7
Chapitre 3 Les fonctions d’affichage et de saisie
scanf
scanf(<chaine_de_format>, <AdrVar1>,…);
/*Lecture formatée de données
• Cette instruction permet d’affecter une valeur tapée au clavier à une variable.
• Les données reçues correctement sont mémorisées successivement aux adresses
indiquées par <AdrVar1>,…
• Le nom de la variable est précédé du symbole & désignant l'adresse de la variable.
8
Chapitre 3 Les fonctions d’affichage et de saisie
scanf
int i;
float k; 1 /*Le programme lit une valeur entière de i et
char m; valeur réelle de k */
Exemple
scanf("%d\n%f\n",&i, &k); 1
scanf("%c",&m); 2 2 /*Le programme lit un caractère pour la
variable m */
• Tous les éléments saisis après un caractère d'espacement (espace, tabulation) sont ignorés.
9
Chapitre 3 Les fonctions d’affichage et de saisie
putchar
putchar(caractere);
/*Ecriture d’un caractère
• La fonction « putchar() » manipule uniquement des caractères, c'est à dire des octets
dont le contenu correspond au code ASCII du caractère.
Exemple
char A='E'; 1 E
putchar(A); 1
putchar(65); 2 2 A
10
Chapitre 3 Les fonctions d’affichage et de saisie
getchar
getchar();
/*Lecture d’un caractère
11
Chapitre 3 Les fonctions d’affichage et de saisie
Exercice
Exercice
Ecrire un programme qui calcule la valeur du polynôme suivant avec est un nombres réel saisie
au clavier:
p = 4 𝑥 4 -3 𝑥 3 + 2 𝑥 2 + 1 𝑥 – 1.1
#include <stdio.h>
#include <math.h>
main()
{ float x, p;
printf("Donner la valeur de x=");
scanf("%f", &x);
p = 4 * pow(x, 4) - 3 * pow(x, 3) + 2*pow(x, 2) + 1 * x - 1.1;
printf("Resultat : %f\n", p);
}
12
Chapitre 3 Les fonctions d’affichage et de saisie
Exercice
Exercice
Ecrire un programme qui calcule et affiche la distance DIST (type double) entre deux points A
et B du plan dont les coordonnées (XA, YA) et (XB, YB) sont entrées au clavier comme entiers.
#include <stdio.h>
#include <math.h>
main()
{ int XA, YA, XB, YB;
double DIST;
printf("Entrez les coordonnées du point A : XA,YA ");
scanf("%d,%d", &XA, &YA);
printf("Entrez les coordonnées du point B : XB,YB ");
scanf("%d,%d", &XB, &YB);
DIST = sqrt(pow(XA - XB, 2) + pow(YA - YB, 2));
printf("La distance entre A(%d,% d) et B(%d, %d) est %lf\n", XA, YA, XB, YB, DIST);
return 0; }
13