Devoir Surveillé
Outils de base de développement sous Linux
Tuteur : Walid Barhoumi
Date : Mars 2021
Exercice :
1- Ecrire un programme « exercice1.c », en langage C, qui permet de :
- déterminer le reste de la division euclidienne d’un entier, donné en premier argument, par un
autre entier, donné en deuxième argument.
- élever l’entier, donné en premier argument,à une puissance entière, dont la valeur est donnée
en deuxième argument.
Publicité
Il faut penser à vérifier que le nombre de paramètres entrés sur la ligne de commande
correspond au nombre attendu.
Indication : Vu que les arguments d’une ligne de commande sont transmis au programme
sous la forme de chaînes de caractères, il faut utiliser la fonction « atoi » (dans « stdlib.h »)
afin de transformer un paramètre de type chaine de caractères en entier.
Donner des capture-écrans qui illustrent le programme source et les tests d’exécution. Ci-
dessous un exemple d’exécution du programme envisagé.
$gcc –Wall exercice1.c –o ex1exec
$ex1exec
Erreur en nombre d’arguments : Il faut 2 arguments
Publicité
$ex1exec 5
Erreur en nombre d’arguments : Il faut 2 arguments
$ex1exec 5 9 6
Erreur en nombre d’arguments : Il faut 2 arguments
$ex1exec 7 3
Le reste de la division de 7 par 3 : 1
7 puissance 3 est egale a : 343
2- Quelle est la sortie de la commande suivante :
gcc -E exercice1.c >exercice1.i
Décrire le contenu du fichier « exercice1.i »
Publicité
3- Quelle est la sortie de la commande suivante :
gcc –Wall –o ex1exec exercice1.c
Donner des capture-écrans qui illustrent les tests d’exécution pour les deux commandes, tout
en essayant d’interpréter les messages affichés.
4- Ecrire deux programmes en langage C, « modulo.c » et « puissance.c », qui correspondent,
successivement, aux deux fonctions C suivantes :
- «int modulo (inta, intb) », qui permet de déterminer le reste de la division euclidienne
de« a » par « b ».
- «int puissance (int a, intb) », qui permet d’élever « a » à la puissance « b ».
Donner des imprime-écrans qui illustrent les programmes sources.
Publicité
5- Ecrire une bibliothèque «ds.h», qui englobe les deux fonctions « modulo » et « puissance ».
Donner des imprime-écrans qui illustrent le programme source.
6- Changer le programme « exercice1.c », pour en créer une nouvelle version « newex1.c »,
tout en utilisant les deux fonctions, « module » et « puissance » et la bibliothèque « ds.h ».
Donner des imprime-écrans qui illustrent le programme source.
Bon Travail