Exercices¶
Ce document comprend deux types d’exercices afin de permettre aux étudiants de mieux ancrer leur compréhension du langage C. Les premiers sont des questionnaires à choix multiples. Pour chaque module de cours, entre 5 et 10 questions à choix multiples seront proposées. Elles permettront à chaque étudiant(e) de valider sa compréhension de la matière. Ensuite, les étudiants seront invités à écrire de petits programmes, généralement en langage C. Ces programmes sont l’occasion de mettre en pratique les compétences acquises chaque semaine. La plupart des programmes ont un rôle formatif, ils permettront de guider la discussion avec les tuteurs durant les séances tutorées.
Première semaine¶
La matière couverte cette semaine correspond aux sections :
En outre, vous devrez aussi lire les sections de la partie Outils qui sont relatives à
Deuxième semaine¶
La matière couverte cette semaine correspond aux sections :
- Types de données (la section relative aux manipulations de bits est pour information, elle ne sera pas couverte dans le cadre de ce cours)
En outre, vous devrez aussi lire les sections de la partie Outils qui sont relatives à
- Questions à choix multiples
- Question 1. Conversion de types
- Question 2. Notation hexadécimale
- Question 3. Notation binaire
- Question 4. Notation binaire
- Question 5. Manipulations de bits
- Question 6. Multiplication entière
- Question 7. Extraction de bits
- Question 8. Chaînes de caractères
- Question 9. Pointeurs
- Question 10. Pointeurs et tableaux
- Question 11. Pointeurs
- Question 12. Pointeurs et fonctions
- Question 13. Pointeurs et structures
- Questions INGINIOUS
- Questions de discussion
Troisième semaine¶
La matière couverte cette semaine correspond aux sections :
En outre, vous devrez aussi lire les sections de la partie Outils qui sont relatives à
Quatrième semaine¶
Durant les dernières semaines, vous avez appris les bases de l’écriture de fonctions en C. L’objectif de cette semaine est de vous amener à être capable d’écrire des programmes comprenant plusieurs fonctions. La matière couverte cette semaine correspond aux sections :
Trois exercices supplémentaires sont disponibles sur INGInious pour tester votre compréhension de cette section:
En outre, vous devrez aussi lire les sections de la partie Outils qui sont relatives à
Deux exercices supplémentaires sont disponibles sur INGInious pour tester votre compréhension des Makefiles:
Cinquième semaine¶
La matière de cette semaine porte sur l’utilisation du système de fichiers. Elle est décrite dans les sections :
En outre, vous devrez aussi lire les sections de la partie Outils qui sont relatives à
git(1) sera très utilisé dans le cadre du projet. Après avoir lu l’explication sur git(1), vous êtes invités à testez vos connaissances via les exercices supplémentaires proposés sur la page INGInious du cours, ainsi que sur le cours INGInious sur Git.
Sixième semaine¶
La matière couverte cette semaine correspond aux sections :
- Questions à choix multiples
- Question 1. Utilisation de pthread_create(3)
- Question 2. Passage d’arguments à un thread
- Question 3. Initialisation de mutex
- Question 4. Utilisation de pthread_mutex_lock(3posix) et pthread_mutex_unlock(3posix)
- Question 5. Utilisation de plusieurs mutex
- Question 6. Utilisation des sémaphores
- Question 7. Exclusion mutuelle
- Question 8. Fonctions “thread-safe”
- Exercices Inginious
- Exercices
- Mini-projet: Mesure de performance