Objectif du module. Ce cours fournit une introduction au langage de programmation C, la lingua franca des processeurs et des micro-contrôleurs intégrés. Le cours va couvrir la syntaxe et la grammaire de base du langage; il va aussi exposer les étudiants aux techniques de programmation pratiques.
Mode d'évaluation. Devoir Surveillé 1 (35%), Examen (35%), Projet (30%)
Modalités de validation. Le module est validé si sa note est supérieure ou égale à 10. La note éliminatoire du module est 6/20.
Introduction générale au langage (caractéristiques, exemples de programmes C) . (Cours 1)
Contrôle de flûx (condition, boucle), fonctions, programmation modulaire, portée de variables. (Cours 3 ; TD 2)
Tableaux et pointeurs. Algorithmes de recherche/tri. (Cours 5 ; TD 4)
Types définis: structures, unions, champs de bits. (Cours 6 ; TD 5)
Structures de données: allocation de mémoire, listes chaînées, arbres binaires, piles, files. Applications, i.e. calculatrice. Pointeurs sur pointeurs, tableaux de pointeurs, tableaux multidimensionnels. (Cours 7 ; TD 6)
Pointeurs de fonctions et tables de hachage. (Cours 9 ; TD 7)
Practical Programming in C (Daniel Weller et Sharat Chikkerur, mit ocw)
Programmation en langage C. Anne Canteaut.
Introduction au langage C. Bernard Cassagne.