Cours C++
Vous trouverez ici un cours sur le langage C++. Son découpage correspond à 6 séances de deux heures, à ceci près que tapant ce texte au calme, après le cours, j’y ai rajouté quelques petits points que j’avais oubliés. Il y avait, en plus du cours, 4 séances de travaux pratiques (décrites en fin du document).
Par contre, ce document ne décrit pas complètement le C++, il se limite aux bases du langage (il y en a plein d’autres, dans toutes les bibliothèques universitaires et sur le web). J’ai également écrit un document destiné à ceux qui connaissent déja le C standard, il est là.
Désormais, j’utilise C++ dans le cours génie informatique, en Master Ingéniérie et Technologies première année (mais le C++ n’est plus l’objectif du cours mais uniquement un outil pour gérer des objets). Vous y trouverez également des TDs et TPs qui pourraient vous intéresser. On y utilise plus en profondeur les objets, pointeurs, listes, arbres…
- 1) Introduction
- 1.1) Organisation - fonctionnement de l’ordinateur
- 1.2) Langages de programmation
- 2) Le processus de compilation
- 3) Structure d’un fichier source, définitions
- 3.1) identificateurs, séparateurs, commentaires
- 3.2) directives du précompilateur
- 3.3) structure d’un programme simple
- 4) Les variables simples et opérateurs associés
- 4.1) les types entiers
- 4.2) Expressions, affectation
- 4.3) opérateurs sur les entiers
- 4.4) les flottants
- 4.5) le cast
- 4.6) retour sur la structure d’un petit programme
- 5) Les instructions et leur séquencement
- 5.1) définitions
- 5.2) précision sur le « ; »
- 6) Structures de contrôle : les boucles
- 6.1) boucle while (tant que)
- 6.2) boucle do while (faire tant que)
- 6.3) boucle for (pour)
- 7) Structures de contrôle : les branchements conditionnels
- 7.1) If - Else (Si - Sinon)
- 7.2) Switch - Case (brancher - dans le cas)
- 8) Branchements inconditionnels (goto)
- 8.1) goto (aller à)
- 8.2) break (interrompre)
- 8.3) continue (continuer)
- 8.4) return (retourner)
- 8.5) exit (sortir)
- 9) Fonctions
- 9.1) Définition générale
- 9.2) procédure (fonction ne retournant rien)
- 9.3) fonction retournant une valeur
- 9.4) passage d’arguments (par valeur, par référence,…)
- 9.5) appel de fonctions, prototypes
- 9.6) Exemple
- 9.7) Récursivité, gestion de la pile
- 10) Objets
- 10.1) introduction
- 10.2) la classe
- 10.3) définition des méthodes
- 10.4) utilisation d’un objet
- 10.5) accessibilité aux membres d’une classe
- 10.6) fonctions utilisant des objets, surcharges
- 10.7) constructeur, destructeur, opérateur de copie
- 10.8) exemples complets
- 11) pointeurs, tableaux et chaînes
- 11.1) adresses, pointeurs et références
- 11.2) tableaux unidimensionnels statiques
- 11.3) exemple 1 (objet comportant un tableau)
- 11.4) les chaînes de caractères
- 11.5) exemple 2 (objets utilisant les chaînes de caractères, tableau d’objets)
- 11.6) équivalence d’écriture pointeurs et tableaux
- 11.7) tableaux dynamiques
- 11.8) tableaux d’objets, de tableaux…
- 11.9) algorithmes pour les tableaux
Disponible également, la version pdf.
Pour faire des exercices, je vous propose les TPs d’IUP (version 2004) :
TP1 : utilisation de l’ordinateur sous Linux, la compilation, analyse d’un programme (découpé en fonctions, avec passage d’arguments), étude de la précision des calculs en float ,
TP2 : séquencement des instructions, structures de contrôle (boucles et tests), algorithmes de base,
TP3 : les objets (attributs, méthodes surcharge des opérateurs),
TP4 : imbrication d’objets et tableaux, héritage.
Vous pouvez également regarder mes sujets d’examens (dont un bon nombre corrigés).
Copyright : utilisation de ces documents libre pour tout usage personnel. Utilisation autorisée pour tout usage public non commercial, à condition de citer son auteur (Patrick TRAU, IPST, Université Louis Pasteur Strasbourg, email : Patrick.Trau (à) ipst-ulp.u-strasbg.fr ) et de me signaler tout usage intensif. Utilisation commerciale interdite sans accord écrit de ma part.