Programmer en langage C
10
© Éditions Eyrolles
Notez qu’un même fichier en-tête contient des déclarations relatives à plusieurs fonctions. En
général, il est indispensable d’incorporer stdio.h.
La troisième directive demande simplement de remplacer systématiquement, dans toute la
suite du programme, le symbole NFOIS par 5. Autrement dit, le programme qui sera réellement
compilé comportera ces instrutions :
printf ("Je vais vous calculer %d racines carrées\n", 5) ;
for (i=0 ; i<5 ; i++)
Notez toutefois que le programme proposé est plus facile à adapter lorsque l’on emploie une
directive define.
Important : Dans notre exemple, la directive #define servait à définir la valeur d’un symbole.
Nous verrons (dans le chapitre consacré au préprocesseur) que cette directive sert également
à définir ce que l’on nomme une « macro ». Une macro s’utilise comme une fonction ; en particulier, elle peut posséder des arguments. Mais le préprocesseur remplacera chaque appel par
la ou les instructions C correspondantes. Dans le cas d’une (vraie) fonction, une telle substitution n’existe pas ; au contraire, c’est l’éditeur de liens qui incorporera (une seule fois quel que
soit le nombre d’appels) les instructions machine correspondantes.
1.9 Un second exemple de programme
Voici un second exemple de programme destiné à vous montrer l’utilisation du type
« caractère ». Il demande à l’utilisateur de choisir une opération parmi l’addition ou la multiplication, puis de fournir deux nombres entiers ; il affiche alors le résultat correspondant.
#include
main()
{
char op ;
int n1, n2 ;
printf ("opération souhaitée (+ ou *) ? ") ;
scanf ("%c", &op) ;
printf ("donnez 2 nombres entiers : ") ;
scanf ("%d %d", &n1, &n2) ;
if (op == '+') printf ("leur somme est : %d ", n1+n2) ;
else printf ("leur produit est : %d ", n1*n2) ;
}
Delannoy Livre.book Page 10 Mercredi, 6. mai 2009 4:26 16
Précédent

- 23/281

Suivant