Langage C
Objectifs
Savoir mettre en oeuvre les concepts vus en programmation impérative dans le langage C.
Description
Ce cours se découpe en deux parties :
- Partie 1 : présentation du langage (types, constantes, structures de contrôle, types utilisateurs, chaines de caractères, pointeurs) et utilisation des sous-programmes en C.
Cette partie se compose d'un CM, d'un TD et d'un TP qui se déroulent au semestre 5.
- Partie 2 : présentation des modules, de make et de l'allocation dynamique de mémoire en C.
Cette partie se compose d'un CM, d'un TD et d'un TP qui se déroulent au semestre 6.
Langage C n'est pas évalué, mais est un pré-requis au cours de Systèmes d'exploitation du semestre 6.
Compétences visées
- Maitriser la manipulation des sous-programmes en C (passage de paramètre par valeur et par adresse)
- Comprendre les étapes de production d'un programme C : pré-processeur, compilation et d'édition de lien.
- Savoir définir des modules en C (.h et .c), si possible génériques.
- Savoir allouer de la mémoire dynamiquement, et la désallouer proprement. Connaitre les différents allocateurs.
- Savoir manipuler les principaux outils du langage pour gérer les entrées et sorties, les fichiers.
- Savoir utiliser l'outil make pour automatiser la production d'un exécutable en C.
Bibliographie
The C Programming Language, Kernighan and Richie. 1988.
Polycopié 'Le Langage C', Max Buvry, 2005. Disponible sur Moodle.
Pré-requis nécessaires
Contenu pédagogique des cours Programmation Impérative 1 et 2 :
- Langage algorithmique
- Conception de programmes par raffinements
- Les sous-programmes (fonctions et procédures)
- Les types de données utilisateurs
- Les modules et la généricité
- L'allocation dynamique de mémoire
- Les structures de données dynamiques
- Les types abstraits de données
Session 1 ou session unique - Contrôle des connaissances
Modalité | Nature | Coefficient | Remarques |
---|---|---|---|
CT (contrôle terminal) | Oral/Ecrit | 100% | Examen Langage C |
Session 2 - Contrôle des connaissances
Modalité | Nature | Coefficient | Remarques |
---|---|---|---|
CT (contrôle terminal) | Oral/Ecrit | 100% | Examen Langage C |