2ème année - Toutes sections
Cours théorique : 50 heures
Enseignants : NVS, MWA, FPQ
4 ECTS
Description générale du cours
Apprentissage des langages C et C++
Ces deux langages sont enseignés à des étudiants censés posséder de bonnes bases en Java et en langage d'assemblage. La norme C étudiée est C89. La norme C++ est C++98.
Matières prérequises
Langage Java (cours et laboratoire de 1re année) et laboratoire de technique des microprocesseurs et assembleur micro (laboratoire de 1re année).
Objectifs
Apprentissage de la manipulation des pointeurs et des spécificités du C / C++ par rapport à Java.
Evaluation
Voir le tableau des évaluations des cours de 2ème.
Plan du cours
Langage C (+-17 heures)
- Structure et contenu d'un programme C ;
- Fonction, prototype, fichier en-tête, directive au pré-processeur ;
- Similitude des opérateurs et structures de contrôle avec Java ;
- Types primitifs, énumération, structure et union ;
- Pointeurs, tableaux, chaînes de caractères ;
- Gestion dynamique de la mémoire ;
- Fonctions de la bibliothèque standard.
Le langage C++ (+-33 heures)
- Historique ;
- C++, un meilleur C : commentaire, emplacement des déclarations de variables, prototype de fonction, void et const, référence, fonction inline, new et delete, cin et cout ;
- C++ : un langage orienté objet : classe, attribut, méthode, static, constructeur et destructeur, héritage, polymorphisme, surdéfinition de méthode, classe abstraite, amitié ;
- C++ : une multitude d'apports autres que les objets : argument par défaut, surcharge de fonction et d'opérateur, gestion des exceptions, espace de nom, transtypage, programmation générique ;
- La bibliothèque standard : STL (vector, deque, list, set, map, stack ; iterateur ; algorithmes), flux et string.
Remarque : tous les chapitres sont illustrés par des exemples de programme.
Bibliographie
- Brian W. Kernighan et Dennis M. Ritchie, Le langage C : Norme ANSI, 2e édition, Dunod (2004)
- Tony Crawford et Peter Prinz, C In a Nutshell, O'Reilly (2006)
- Bjarn Stroustrup, Le Langage C++, Pearson (2003)
- Ray Lischner, C++ In a Nutshell, O'Reilly (2003)