Service d’Informatique Introduction à la Programmation en C++ Mohammed Benjello

Service d’Informatique Introduction à la Programmation en C++ Mohammed Benjelloun 1ère Bachelier Année académique 2014-2015 FACULTÉ POLYTECHNIQUE DE MONS M.BENJELLOUN Struct. D.A. S. Informatique Service d’Informatique Table des matières Avant-propos 1 Chapitre 1 : Introduction 2 1.1. Historique 2 1.2. Intérêts du langage 2 Chapitre 2 : Eléments du langage 5 2.1. Structure d'un programme C++ 5 2.2. Commentaires en C ++ 6 2.3. Identificateurs 7 2.4. Directives du préprocesseur 7 2.5. Points-virgules 8 2.6. Type de données 8 2.7. Les variables 9 2.8. Mots réservés 10 2.9. Opérateurs et expressions 11 2.9.1. Opérateurs arithmétiques 11 2.9.2. Conversions de type forcées (casting) 12 2.9.3. Opérateurs logiques et opérateurs de comparaison 12 2.9.4. Opérateurs d'affectation 13 2.9.5. Classes de priorités 14 FACULTÉ POLYTECHNIQUE DE MONS M.BENJELLOUN Struct. D.A. S. Informatique 2.10. Nos premiers programmes 15 2.10.1. Le programme C++ le plus court 15 2.10.2. Le premier programme 15 2.11. Les entrées/sorties 15 2.11.1. Flux de sortie cout 16 2.11.2. Flux d’entrée cin 19 Ce qu’il faut au moins retenir 20 Exercices 20 Chapitre 3 : Les structures de contrôle 21 3.1. La structure alternative 21 3.2. La structure de sélection (switch) 24 3.3. Les instructions répétitives 26 3.3.1. Instruction for 26 3.3.2. Instruction while 29 3.3.3. Instruction do ... while 32 3.4. Instructions de branchement 33 3.4.1. Instruction break 34 3.4.2. Instruction continue 34 3.4.3. Instruction goto 35 Ce qu’il faut au moins retenir 35 Exercices 36 Chapitre 4: Les tableaux et les chaînes de caractères 38 4.1. Les tableaux 38 4.1.1. Tableaux à une dimension 38 4.1.2. Tableaux à deux dimensions 39 4.1.3. Initialisation et réservation automatique 39 4.2. Les chaînes de caractères 41 4.2.1. Déclaration de chaînes de caractères 41 4.2.2. Initialisation de chaînes de caractères 41 4.2.3. Précédence alphabétique et lexicographique 42 Ce qu’il faut au moins retenir 46 Exercices 47 Chapitre 5 : Les fonctions 48 5.1. Introduction 48 5.2. Définition de fonctions 48 5.3. Instruction return 50 5.4. Appel et déclaration de fonctions 51 5.5. Passage de paramètres 52 5.5.1. Passage de paramètres par valeur 53 5.5.2. Tableaux comme paramètres 55 M.BENJELLOUN Struct. D.A. S. Informatique 5.6. Visibilité des variables 56 5.7. Récursivité 59 5.8. Surcharge des fonctions 59 5.9. Paramètres par défaut 60 Ce qu’il faut au moins retenir 61 Exercices 62 Chapitre 6: Les pointeurs et les références 63 6.1. Un pointeur: qu'est-ce que c'est ? 63 6.1.1. Déclaration de pointeurs 64 6.1.2. Valeurs pointées et adresses 64 6.2. Une référence: qu'est-ce que c'est ? 66 Déclaration de références 66 6.3. Pointeurs, références et arguments de fonctions 66 6.4. Pointeurs et tableaux 69 6.5. Allocation dynamique de la mémoire 71 Ce qu’il faut au moins retenir 73 Exercices 74 Chapitre 7: Les fichiers 75 7.1. Généralité 75 7.2. Accès aux fichiers 75 7.2.1. Ouverture d’un fichier 76 7.2.2. Fermeture d’un fichier 77 7.3. Lecture et écriture 78 Ce qu’il faut au moins retenir 82 Exercices 83 Chapitre 8: Les structures 84 8.1. Principes fondamentaux des structures 84 8.2. Pointeurs vers les structures 86 8.3. Structures et fonctions 87 Ce qu’il faut au moins retenir 91 Exercices 92 Chapitre 9: Listes simplement chaînées 98 Chapitre 10: Quelques erreurs à éviter 102 Annexes 106 Annexe A 107 Ordre de priorité des opérateurs 107 Table des codes ASCII des caractères 108 Annexe B : Support des présentations 111 Avant-propos Ces notes permettent de se familiariser avec le langage de programmation C++. Elles constituent le support des travaux pratiques et des exercices dans le cadre de l'enseignement du cours d'Informatique I de la première année Bachelier à la Faculté Polytechnique de l’Umons. Il représente aussi une partie du cours Programmation et Algorithmique dispensé aux étudiants d’IG Charleroi. Ce support a pour objectif d'aider l'étudiant dans l'assimilation des principales notions et de certains concepts d'algorithmique vus au cours théorique. Afin d’illustrer par la programmation ces concepts, ce syllabus est agrémenté de nombreux exemples et exercices permettant au débutant de mettre immédiatement en application la théorie qu'il vient de lire. Ces notes ne sont donc nullement un manuel de référence du langage C++, mais simplement une aide à l'apprentissage des bases et de la structure du langage. Lors des séances d'exercices, où la présence est obligatoire, un complément de matière sera abordé. Donc le présent document ne peut être considéré comme complet. Notre ambition est d’éveiller chez l’étudiant le souhait de découvrir ce langage, d’utiliser les possibilités offertes par C++ afin de pouvoir écrire ses propres programmes. Certaines constructions syntaxiques sont volontairement omises, par souci de clarté. D'autres concepts, comme l’aspect objet (deuxième année bachelier), sont volontairement absents ou ne sont présentés que superficiellement, afin de ne pas accabler le programmeur néophyte. Il ne faut donc pas considérer ce syllabus comme auto-suffisant, mais bien, pour ce qu'il doit être, c'est-à-dire une introduction à la programmation des concepts de base de C++ relative au «plus» par rapport au C, et un support d'exercices et de travaux. Néanmoins, nous espérons qu'il vous permettra de mieux comprendre ce langage et qu'il vous en rendra l'apprentissage plus agréable. Bien entendu, nous ne pouvons que chaudement renvoyer le lecteur désireux d'en savoir plus à l'un des très nombreux ouvrages sur le C++ disponibles dans toutes les bonnes librairies, et notamment à: Bjarne Stroustrup. Le langage C++. Édition revue et corrigée. Pearson Education, 2003. La référence de base sur C++, par l'auteur du langage. Complet mais beaucoup trop riche pour débuter. homepage de Bjarne Stroustrup http://www.research.att.com/~bs/ Stanley B. Lippman and Josée Lajoie. C++ Primer. Addison-Wesley, third edition, 1998. Très complet (1200 pages), un des meilleurs livres pour apprendre C++. Bruce Eckel. Thinking in C++ Volumes 1 et 2. Téléchargeable gratuitement sur Internet http://mindview.net/Books/TICPP/ThinkingInCPP2e.html. Excellent ouvrage sur C++, Kris Jamsa et Lars Klander. C/C++ La bible du programmeur, 1500 astuces pour toutes les situations. Edition Eyrolles, 1998. De nombreux exemples en C et C++. 1010 pages Sur le Web : http://cpp.developpez.com/ Cours, tutoriels, livres électroniques et Docs sur C++ : En particulier : le méga-cours de Christian Casteyde (2008) Je voudrais remercier ici les collègues du Service d'Informatique qui ont pris soin de relire ces notes et de suggérer corrections et améliorations. Je suis bien conscient qu'il reste des erreurs et/ou des imprécisions. Merci au lecteur assidu de les signaler! Si vous notez la moindre erreur ou si vous souhaitez me proposer vos suggestions, n'hésitez pas à le faire à l’adresse E-mail suivante : Mohammed.Benjelloun@umons.ac.be Chapitre 1 : Introduction 1.1. Historique Le langage de programmation C++ est un langage parmi d'autres (BASIC, FORTRAN, C, Java, ...). Tous ne sont pas équivalents et peuvent avoir des utilisations différentes selon les besoins de l’application ou du projet. Il est l'un des langages de programmation les plus utilisés actuellement. Le C++ dont le concepteur est Bjarne Stroustrup (1982), est fortement inspiré de deux autres langages de programmation :  Le C : c’est un des plus puissants langages évolués. Il trouve ses sources en 1972 dans les 'Bell Laboratories'. Il fut inventé par deux ingénieurs, Dennis Ritchie et Brian Kernighan, pour concevoir un système d'exploitation portable : UNIX. Plus de 90% du noyau UNIX est écrit en C. Ce langage de programmation structuré, d'assez bas niveau, est très proche de la structure matérielle des ordinateurs (mots, adresses, registres, octets, bits, ...). C’est un langage structuré, modulaire, performant, polyvalent et relativement portable. Il permet de développer des applications à la fois complexes, efficaces et rapides grâce aux structures de contrôle de haut niveau.  Le Simula 67 : mis au point en 1967 pour décrire, modéliser (et programmer) et simuler des systèmes complexes comportant des activités parallèles. Il est considéré comme le précurseur de la programmation orienté-objet, basé sur le concept de Class décrivant les attributs et méthodes d'un ensemble d'objets. On peut considérer que le C++ est un langage apparenté au standard ANSI-C à qui on a greffé un système orienté objet. Il reprend d'ailleurs l'ensemble des règles syntaxiques du C, mais il corrige certains points faibles en apportant des améliorations, extensions, nouveautés dont les principales sont liées à la programmation orientée objet inspirée surtout de SIMULA 67 mais aussi de ADA, ALGOL 68... Pour en terminer avec l’historique voici quelques dates :  1983 La première version du C++ est utilisée en interne chez ATT  1985 Première implémentation commerciale du C++  1989 Premiers travaux de normalisation du C++  1997 Approbation du standard (Ansi C++) par le comité de normalisation  2003 Le standard a été amendé.  2011 Approbation du standard C++11.  2014 Standard en cours. 1.2. Intérêts du langage Nous allons tout au long de ce support étudier le langage C++ qui a su devenir un des langages les plus utilisés en développement. Ce langage est utilisé aussi bien sous UNIX que MacOS ou Windows. Entre autres, la plupart des applications graphiques comportent une partie en C++, ce qui inclut les traitements de textes, utilitaires, jeux,... Chap.1 : Introduction M.BENJELLOUN Struct. D.A. S. Informatique 3 Le langage permet de développer des applications à la fois complexes, efficaces et rapides. Il permet aussi d’écrire un uploads/Ingenierie_Lourd/ introduction-a-la-programmation-syllab-2015.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager