Librairie
d'entrées-sorties
standard
Accueil

du site

Il s'agit là de procédures permettant d' afficher des textes ou des nombres à l'écran.

Librairie "stdio" standard input output
Procédure
Action
printf(... formattages divers, voir ci-desous ...) Affichages formattés de texte et de nombres
putchar( caractère ) Affichage d'un carctère unique
puts( pointeur de chaîne.) Affichage d'une chaîne
 

scanf(... formattages divers, voir ci-desous ...)

Entrée d'une chaîne de caractères au clavier
getchar( pointeur sur vaviable caractère ) Entrée d'un caractère au clavier confirmée par touche
getch( pointeur sur vaviable caractère ) Entrée d'un caractère au clavier
gets(... pointeur de chaîne ... ) Entrée d'une chaîne au clavier
   

Fonction printf ( ... )
Cette fonction permet d'afficher à l'écran divers formats de données.
printf( ) pour afficher des chaînes de caractères.

Chaînes littérales : ( c.f. éventuellement la définition )

Voici un programme d'illustration :

#include <stdio.h>

int main()
{
-char * p = "Bonsoir !";

-printf("Bonjour !");
-printf("\n"); // \n constante caractère qui provoque l'aller à la ligne -printf("Comment allez-vous ?\n");
-printf(p);
-printf("\n");

-return 0;
}

Affichage à l'execution :
Bonjour !
Comment allez-vous ?
Bonsoir !
Press any key to continue

Explications :

La procédure printf( ) peut afficher une chaîne de carcactères définie de différentes manières :

  • Comme chaîne littérale : printf("Bonjour !");
  • Comme pointeur de chaîne tel que p défini par : char * p = "Bonsoir !"; printf(p);
  • Un caractère quelconque présenté comme une chaîne littérale : printf("a"); ou printf("\n");
printf( ) formatté

Affiche un texte dans lequel peuvent figurer des nombres de différents types.
Deux exemples :

#inculde <stdio.h>

int main()
{
-int x = 2;

-float y = 7.25;
-
char c = 'U';
-printf("Ce nombre : %d est un entier",x);
-
printf("\n");
-printf("Ce nombre : %f est un réel, %c est un caractère\n", y, c );

-return 0;
}


Affichage à l'exécution :

Ce nombre : 2 est un entier

Ce nombre : 7.25 est un réel, U est un caractère);
Press any key to continue

Remarquons :

  • Qu'entre paranthèses se trouve d'abord un texte entre guillemets
  • Dans ce texte, les signes % indiquent les endroits précis où doivent apparaître les nombres à afficher
  • Que ce signe % est immédiatement suivi des lettres d, f, ou c suivant que l'on veut afficher un nombre entier, un flottant ou un caractère.
  • Que les variables correspondant aux nombres à afficher, (x y c) se trouvent séparées par des virgules à droite du texte dans les parenthèses.
  • Que ces variables sont dans le même ordre que emplacemnts d'affichage marqués de & dans le texte .

#inculde <stdio.h>

int main()
{
-double carb = 97.2;
-double fourn = 1789.25;

-printf("Compte :\n");
-printf("Carburant TTC ------: %8.2f F\n",carb);
-printf("Fournitures --------: %8.2f F\n",fourn);
-printf("TVA sur fournitures : %8.2f F\n",(fourn*20.6)/100);
-printf("Total --------------: %8.2f F\n",carb+fourn*120.6/100);

-return 0;
}


Affichage à l'exacution :

Compte :
Carburant TTC-------: ---97.20 F
Fournitures --------: -1789.25 F
TVA sur fournitures : --368.59 F
Total --------------: -2255.04 F
Press any key to continue
  • Observez également l'alignement à droite des différents prix : c'est le résultat des deux chiffres 8 et 2
    apparaissant juste après le signe %. et séparés par un point.
  • 8 (avant le point) est le nombre total d'emplacements que doit occuper le nombre tout entier, point décimal compris.
  • 2 (après le point) est le nombre de décimales que l'on veut afficher.
  • Remarquer que la TVA calculée à la main est de : 368.5855 F - arrondis à 368.59
  • Remarquer que le prix donné du carburant : 97.2 a été complété à 97.20.

Un alignement à gauche (qui serait ici totalement farfelu) serait obtenu en interposant un signe moins :

" %-8.2f "

Compte :
Carburant TTC-------: 97.20- --F
Fournitures --------: 1789.25 -F
TVA sur fournitures : 368.59 --F
Total --------------: 2255.04 -F
Press any key to continue

 

 

printf formatté pour chaînes de caractères

#inculde <stdio.h>

int main()
{
-char * p;
-double vitesse=0;

-// ...

if(vitesse == 0) p = "Marche"; else p = "Arrêt";
- printf("Le moteur est en %s.\n",p);

-return 0;
}

Le moteur est en arrêt.
Press any key to continue

 


Les formats d'affichage de la fonction "printf" dépendent partiellement
des librairies livrées avec les compilateurs.

Nous vous invitons à prendre connaissance des particularités
dans le manuel d'utilisation de votre compilateur.

Fonction puts( ... )

#inculde <stdio.h>

int main()
{
-puts("Bonjour !");

-return 0;
}


Affichage à l'exécution :
Bonjour !
Press any key to continue

Fonction putchar( ... )

#inculde <stdio.h>

int main()
{
-char c;

-//Ecriture algorithmique de l'alphabet minuscule
-for(c='a'; c <= 'z'; c++)
putchar(c);
-putchar('\n');

-//Ecriture algorithmique de l'alphabet majuscule
-for(c='A'; c <= 'Z'; putchar(c++)) ;
-putchar('\n');

-//Ecriture algorithmique des chiffres
-c='0'; while(c <= '9') putchar(c++) ;
-putchar('\n');

-return 0;
}


abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
Press any key to continue



Sommaire Cours C
Accueil

du site