Devoir Surveillé : Outils de base de développement sous Linux

Page 1 sur 2Lecteur de document UniversityLib

Devoir Surveillé : Outils de base de développement sous Linux

Computer Science, Software Development (using C programming and Linux) · notes

Voir tous les documents en systèmes d'exploitation et cloud

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