Académique Documents
Professionnel Documents
Culture Documents
I- Introduction:
IX- Application :
Ce sont les fonctions responsables à la lecture des données et l’affichage des résultats .Elles
sont nécessaires à tout programme. Des bibliothèques de fonctions de base étaient définies par
la norme ANSI et standardisées par la suite. On cite à titre indicatif, la bibliothèque Stdio.h.
Syntaxe:
Description :
La fonction scanf permet de faire une lecture formatée du flux standard d’entrée (le clavier).
Elle lit les caractères en entrée, les interprète suivant la spécification de format décrites dans
Spécificateur de format:
Il est introduit par le caractère % et se termine par le caractère de type de conversion suivant
ce format: % [largeur] type
d :entier signé
f : réel
c : caractère
Exemple :
Le 3 du code format impose une longueur maximale de l’information qui sera lue.
Exemple:
Par exemple, la lecture de la valeur ^^^ 234 permet d’affecter dans n la valeur de 234.
Exemple:
En effet, Lors du traitement du code « %d », scanf rencontre les caractère 1 puis 2 puis a,
Ce caractère a ne convient pas à la fabrication d’une valeur entière, scanf interrompe son
exploration et fournit la valeur 12 à n. le traitement du code %c amène scanf à prendre ce
caractère courant et l’affecte à la variable c.
o Scanf(«%f»,&x);
«%f » accepte indifféremment un nombre écrit sous forme entière ou en notation décimale.
Syntaxe:
Description :
La fonction printf permet l’écriture sur le flux standard de sortie (l’écran).La chaîne format
peut contenir à la fois :
Spécificateurs de format:
Il est introduit par le caractère % et se termine par le caractère de type de conversion suivant
ce format: % [largeur] type
f : réel
c : caractère
Exemple:
Affiche:
- le texte : "valeur"
- le texte "F"
Exemple:
Le code %3d affiche une valeur de type entier sur 3 caractères. Si n est égale 74 alors ça
s’écrit ^74.
o Printf (« %f », x) ;
Le 10 précise la longueur du nombre (partie entière + partie décimale). Le 3 est une précision
qui spécifie le nombre de chiffre souhaité après la virgule.
La différence entre une macro et une fonction se résume dans les points suivants :
- Les instructions d’une macro sont incorporées dans le programme source à chaque fois
qu’on l’appelle.
-La fonction ne se trouve incorporée qu’une seule fois quelque soit le nombre d’appel.
- La macro conduit à optimiser le temps d’exécution d’un programme tandis que la fonction
conduit à optimiser la taille du code du programme.
Description:
La macro getchar( ) permet la lecture d’un caractère sur l’entrée standard (clavier).
Valeur de retour:
Remarque :
L’appel de cette macro est plus rapide que l’appel d’un scanf (« %c », &c), puisqu’ il n y a
pas d’analyse de la chaîne de format.
V- la macro putchar( ):
Description
Description
La fonction gets permet la lecture d’une chaîne de caractère terminé par ‘\n’ sur l’entrée
standard et place le résultat dans un tableau en remplaçant ‘\n’ par ‘\0’.
Valeur retournée:
Elle retourne :
Syntaxe:
gets (tab) ;
Avec tab est l’adresse du tableau qui va recevoir les caractères lus. Un caractère ‘\0’ est placé
à la fin du tab (‘\n’ n’est pas recopié dans le tableau).
La fonction scanf (« %s », s) ne permet pas de lire des chaînes de caractère contenant des
espaces (l’espace pour scanf est sauté) alors qu’avec gets, seule le caractère ‘\n’ sert de
délimiteur.
Description:
La fonction puts permet l’écriture, sur l’unité standard de sortie, d’une chaîne spécifiée entre
parenthèse suivie d’une fin de ligne (‘\n’).
Syntaxe
puts ( tab) ;
La fonction getch attend qu’un caractère soit frappé au clavier, aucun caractère n’est fourni en
"écho" lors de la frappe.
C=getch( ) ;
IX- Application :
Ecrire un programme qui permet de demander d’un citoyen son nom, son prénom et sa ville,
ensuite il affiche le message suivant :
"Bonjour cher X Y qui habitais à Z".En utilisant les fonctions vue ci_dessus.
N.B : les variables nom, prénom et villes sont des chaînes de caractères (un tableau de
caractère), dont on donne la déclaration char nom_variable[taille de la chaine].
X- Correction :
Main( )
gets(nom) ;
gets(prenom) ;
gets(ville) ;
printf( " bonjour cher %s %s ",nom, prénom); /* "%s" est le code format des chaînes de
caractères.*/
printf(« tu habites à ») ;
puts(ville) ;