Programmer en langage C
120
© Éditions Eyrolles
Exercices
Tous ces exercices sont corrigés en fin de volume.
1) Écrire :
●
une fonction, nommée f1, se contentant d’afficher "bonjour" (elle ne possèdera aucun
argument ni valeur de retour),
●
une fonction, nommée f2, qui affiche "bonjour" un nombre de fois égal à la valeur reçue
en argument (int) et qui ne renvoie aucune valeur,
●
une fonction, nommée f3, qui fait la même chose que f2, mais qui, de plus, renvoie la valeur
(int) 0.
Écrire un petit programme appelant successivement chacune de ces trois fonctions, après les
avoir convenablement déclarées sous forme d’un prototype.
2) Qu’affiche le programme suivant ?
int n=5 ;
main()
{
void fct (int p) ;
int n=3 ;
fct(n) ;
}
void fct(int p)
{
printf("%d %d", n, p) ;
}
3) Écrire une fonction qui se contente de comptabiliser le nombre de fois où elle a été appelée
en affichant seulement un message de temps en temps, à savoir :
●
au premier appel : *** appel 1 fois ***
●
au dixième appel : *** appel 10 fois ***
●
au centième appel : *** appel 100 fois ***
●
et ainsi de suite pour le millième, le dix millième appel...
●
On supposera que le nombre maximal d’appels ne peut dépasser la capacité d’un long.
4) Écrire une fonction récursive calculant la valeur de la « fonction d’Ackermann » A définie
pour m>0 et n>0 par :
A(m,n) = A(m-1,A(m,n-1))
pour m>0 et n>0
A(0,n) = n+1
pour n>0
A(m,0) = A(m-1,1)
pour m>0
Delannoy Livre.book Page 120 Mercredi, 6. mai 2009 4:26 16
Précédent

- 133/281

Suivant