SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Introduction au langage C++
Chapitre 1
Notions de base
Youssouf EL ALLIOUI, youssouf.elallioui@uhp.ac.ma
Université Hassan Premier de Settat
Objectif de ce chapitre
 Notions de base :
 programme
 programmation
 langages de programmation
 Une petite introduction au langage C++ :
 Historique
 Place de C++ par rapport aux autres langages de programmation
 Mettre en place les différents outils nécessaires pour pouvoir programmer en
C++ :
 éditeur de texte
 compilateur
 débugger
 les programmes « 3 in 1 » ou IDE - Environnement de Développement Intégré
 Création et discussion de notre premier programme C++
Entraînez-vous via
 Exercices applicatifs
 QCM fourni à la fin de la séance
 Les TPs
2016
1 | 12
1 Introduction au langage C++ | Chapitre 1 : Notions de base
Sommaire
Qu’est-ce qu’un programme ? ______________________________________________ 2
Les langages de programmation ____________________________________________ 2
Le C++ face aux autres langages de programmation _____________________________ 3
De C au C++ ____________________________________________________________ 5
Les logiciels nécessaires pour programmer ____________________________________ 5
Création et lancement d’un premier programme _______________________________ 6
Commentez vos programmes ! ____________________________________________ 10
Mettez votre code en forme ______________________________________________ 11
Ce que vous devez retenir ! _______________________________________________ 11
Références
Cours de C/C++ [Ouvrage] / aut. Casteyde Christian. - 2001. - Vol. Version 1.40.1 : p. 501.
Programmez avec le langage C++ [Ouvrage] / aut. Mathieu Nebra et Matthieu Schaller. -
[s.l.] : le Livre du Zéro, 2015.
2 | 12
2 Introduction au langage C++ | Chapitre 1 : Notions de base
Qu’est-ce qu’un programme ?
Les programmes sont à la base de l'informatique. Ce sont eux qui vous permettent
d'exécuter des actions sur votre ordinateur. Prenons par exemple la figure suivante qui
représente une capture d'écran de mon ordinateur. On y distingue 3 fenêtres
correspondant à 3 programmes différents (Figure 1 : Exemple de programmes) :
- Le navigateur web Google Chrome
- L’explorateur de fichiers
- Microsoft Word
Figure 1 : Exemple de programmes
Comment alors, pouvons-nous réaliser des programmes ? La réponse est tout simplement
via l’utilisation des langages de programmation qui permettent d'expliquer à l'ordinateur
ce qu'il doit faire. Qu’est-ce que alors un langage de programmation ?
Les langages de programmation
Votre ordinateur est une machine étonnante et complexe. À la base, il ne comprend qu'un
langage très simple constitué de 0 et de 1. Ainsi, un message tel que la Figure 2 peut
signifier quelque chose comme « Affiche une fenêtre à l'écran » !
1010010010100011010101001010111010100011010010
Figure 2 : Exemple d'un message écrit en langage machine
Est-ce qu’on va être obligé d'apprendre ce langage ? bien sûr que non. Ce qu’on doit
apprendre c’est un langage intermédiaire qui s’appelle langage de programmation.
3 | 12
3 Introduction au langage C++ | Chapitre 1 : Notions de base
Un langage de programmation est une notation conventionnelle destinée à formuler des
algorithmes et produire des programmes informatiques qui les appliquent1
.
Tous les langages de programmation ont le même but : vous permettre de parler à
l'ordinateur plus simplement qu'en binaire. Voici comment cela fonctionne (Figure 3) :
Figure 3 : Compilation d'un code source en code machine
- Etape 1 : Vous écrivez des instructions pour l'ordinateur dans un langage de
programmation, c’est le code source.
- Etape 2 : Les instructions sont traduites en binaire grâce à un programme de «
traduction » appelé Compilateur.
- Etape 3 : L'ordinateur peut alors lire le binaire et faire ce que vous avez demandé.
Le C++ est un langage de programmation : il sert donc à écrire des applications
informatiques. Il s'agit d'ailleurs d'un des langages de programmation les plus utilisés
aujourd'hui. Chaque programme en C++ doit être écrit en respectant des règles d'écriture
très strictes que nous étudierons petit à petit.
Le C++ face aux autres langages de programmation
Parmi les centaines de langages de programmation qui existent, certains sont plus
populaires que d'autres. Sans aucun doute, le C++ est un langage très populaire.
La popularité n’est pas le seul critère pour choisir un langage. Le plus important est le
niveau du langage. Il existe des langages de haut niveau et d'autres de plus bas niveau
(Figure 4).
Les langages de haut niveau sont plus simples mais plus éloigné du fonctionnement de la
machine. Par contre, les langages de bas niveau sont plus complexe mais plus proche du
fonctionnement de la machine.
NB : En programmation, la notion de « niveau » est relative. Globalement, on peut dire que le C++
est « bas niveau » par rapport au Python, mais il est plus « haut niveau » que l'assembleur. Tout dépend
de quel point de vue on se place.
1
https://fr.wikipedia.org/wiki/Langage_de_programmation
4 | 12
4 Introduction au langage C++ | Chapitre 1 : Notions de base
Figure 4 : Niveaux des langages de programmation
Les points forts du langage C++
Il est très répandu : On trouve beaucoup de documentation sur Internet et on peut
facilement avoir de l'aide sur les forums.
Il est rapide : C’est un langage de bas niveau (Figure 4), ce qui en fait un langage de choix
pour les applications critiques qui ont besoin de performances.
Il est portable : en effet, c’est un langage multiplateforme. Le même code source peut
théoriquement être transformé sans problème en exécutable sous Windows, Mac OS et
Linux.
Il existe de nombreuses bibliothèques pour le C++ : De base, le C++ ne sait pas faire
grande chose mais, en le combinant avec de bonnes bibliothèques, on peut créer des
programmes 3D, réseaux, audio, fenêtrés, etc.
Il est multi-paradigmes : ce que signifie qu'on peut programmer de différentes façons
en C++. L’une des plus célèbres façons de programmation est la Programmation Orientée
Objet (POO). C'est une technique qui permet de simplifier l'organisation du code dans
nos programmes et de rendre facilement certains morceaux de codes réutilisables.
Les points faibles du langage C++
Bien entendu, le C++ n'est pas le langage incontournable. Il a lui-même ses défauts par
rapport à d'autres langages, sa complexité en particulier. Vous avez beaucoup de contrôle
sur le fonctionnement de votre ordinateur (et sur la gestion de la mémoire) : cela offre
une grande puissance mais, si vous l'utilisez mal, vous pouvez plus facilement faire planter
votre programme. Ne vous en faites pas, nous découvrirons tout cela progressivement
dans ce cours.
Langage
Binaire
Langages de bas niveau
Langages de haut niveau
5 | 12
5 Introduction au langage C++ | Chapitre 1 : Notions de base
De C au C++
Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au
début des années 70. Au début des années 80, Bjarne Stroustrup, un informaticien
originaire du Danemark, fait évoluer le langage C vers le langage C++ en lui rajoutant
notamment les notions orientées objet. Toutefois, bien que le C++ ait évolué à partir du C,
et ait gardé un grand nombre de notions et de syntaxes de son «ancêtre», il s'agit de
deux langages différents.
Bjarne Stroustrup est aujourd'hui
professeur d'informatique à l'université
Texas A&M, aux Etats-Unis. Il s'agit
d'une importante figure de l'univers
informatique qu'il faut connaître, au
moins de nom. De nombreux langages de
programmation se sont par la suite
inspirés du C++. C'est notamment le cas
du langage Java.
Le langage C++, bien que relativement ancien, continue à être amélioré.
Les logiciels nécessaires pour programmer
Pour pouvoir programmer en C++, Voici le strict minimum dont vous avez besoin :
- Un éditeur de texte pour écrire le code source du programme en C++. Les fichiers
source sont des fichiers texte lisibles dont le nom se termine en général par .c,
.cpp ou .h.
- Un compilateur pour transformer (« compiler ») votre code source en binaire (ou
exécutable). Les fichiers exécutables portent en général l'extension .exe sous
windows et ne portent pas d'extension sous Linux.
- Un débugger (« Débogueur » ou « Débugueur » en français) pour vous aider à
traquer les erreurs dans votre programme (un truc qui corrigerait tout seul nos
erreurs).
À partir de maintenant nous avons deux possibilités :
1) Soit récupérer chacun de ces 3 programmes séparément. C'est plus compliquée,
mais elle fonctionne.
2) Soit on utilise un programme « 3-en-1 » qui combine éditeur de texte, compilateur
et débugger. Ces programmes « 3-en-1 » sont appelés IDE (ou en français « EDI »
pour « Environnement de Développement Intégré »).
Il existe plusieurs IDE. Ils vous permettront tous de programmer et de suivre le reste
de ce cours sans problème.
6 | 12
6 Introduction au langage C++ | Chapitre 1 : Notions de base
Durant tout ce cours, j'utiliserai Code::Blocks. Il s’agit d’un IDE libre et
gratuit, disponible pour Windows, Mac et Linux.
Si vous voulez avoir exactement les mêmes écrans que moi, surtout au début pour ne pas
être perdus, je vous recommande donc de commencer par installer Code::Blocks2
. Pour le
faire vous pouvez consulter le lien : http://www.codeblocks.org/downloads/binaries.
Si vous êtes sous Windows, repérez la section « Windows » un peu plus bas sur cette page.
Téléchargez le logiciel en choisissant le programme dont le nom contient mingw (ex. :
codeblocks-16.01mingw-setup.exe) (Figure 5).
Figure 5 : Code Blocks avec mingw (version à installer)
Création et lancement d’un premier programme
Pour commencer à programmer, la première étape consiste à créer un nouveau projet. Pour
cela, sélectionnez File > New > Project (Figure 6).
2
http://www.codeblocks.org/
7 | 12
7 Introduction au langage C++ | Chapitre 1 : Notions de base
Figure 6 : Création de Nouveau projet sur Code::Blocks
Un assistant s'ouvre « New from template », choisissez « console application ».
À la fin des étapes de l'assistant, le projet est créé et contient un premier fichier
main.cpp. Ce fichier est notre premier code source et il est déjà un peu rempli (Figure
7).
Figure 7 : Mon premier programme
Sans trop entrer dans les détails, nous allons expliquer à quoi sert chacune des lignes de
ce code (code de la Figure 7).
8 | 12
8 Introduction au langage C++ | Chapitre 1 : Notions de base
#include
1 #include <iostream>
On place en général au début du programme un certain nombre d'instructions commençant
par #include. C'est ce qu'on appelle une directive de préprocesseur. Son rôle est de «
charger » des fonctionnalités du C++ pour que nous puissions effectuer certaines actions
(la définition de certains objets, types ou fonctions). Ces extensions qui nous offrent de
nouvelles possibilités sont appelées des bibliothèques.
Dans cet exemple (première ligne de la Figure 7), nous chargeons le fichier iostream, ce
qui nous permet d'utiliser la bibliothèque d'affichage de messages à l'écran dans la
console.
iostream est pour « Input Output Stream » ou bien « Flux d'entrée-sortie », ce que
signifie que cette bibliothèque nous permet également de faire plus qu'afficher des
messages à l'écran : on pourra aussi récupérer ce que saisit l'utilisateur au clavier, comme
nous le verrons plus tard.
Dans un ordinateur, l'entrée correspond en général au clavier ou à la souris, et la sortie à
l'écran.
Notez bien qu'on peut charger autant de bibliothèques que l'on veut à la fois (chaque une
par ligne).
using namespace std;
3 using namespace std;
Un programme important utilise de nombreuses bibliothèques, fonctions et objets ou
variables. Pour éviter les problèmes de conflit de noms, on utilise des espaces de noms
(namespace) :
- on associe un nom à un ensemble de variables, types, fonctions
- leur nom complet est : leur nom d’espace suivi de :: et de leur nom
la fonction int f(){...} définie dans le domaine A aura pour nom complet A::f()
Figure 8 : Exemple d'utilisation de namespace
Les noms complets de cout et cin sont std::cout et std::cin. Pour éviter d’écrire
les noms complets, on utilise : using namespace std ;
Créer un espace de nom
namespace toto {
int N = 10 ;
int Test() {
cout << "test... " ;
}
9 | 12
9 Introduction au langage C++ | Chapitre 1 : Notions de base
}
Figure 9 : Exemple de Création d’un namespace
Les objets N et Test ont pour nom toto::N et toto::Test.
La fonction main()
12 int main()
13 {
... ... ;
23 }
C'est ici que commence vraiment le cœur du programme. Comme nous le verrons un peu
plus tard, les programmes sont essentiellement constitués de fonctions. Chaque fonction
a un rôle et peut appeler d'autres fonctions pour effectuer certaines actions.
Tous les programmes possèdent une fonction dénommée « main », ce qui signifie la
fonction principale du programme.
Une fonction a la forme suivante :
Les accolades ({ et }) déterminent le début et la fin de la fonction. Comme vous le voyez
dans le code source qui a été généré par Code::Blocks (Figure 7), il n'y a rien après la
fonction main(). C'est normal : à la fin de la fonction main() le programme s'arrête !
Tout programme commence au début de la fonction main() et se termine à la fin de celle-
ci.
Cout
7 cout << "Hello world!" << endl;
Voici enfin la première ligne qui sera exécutée par l'ordinateur (les lignes que nous avons
vues précédemment ne sont en fait que des préparatifs pour le programme).
Il y a 3 éléments sur cette ligne :
- cout : commande l'affichage d'un message à l'écran ;
- "Hello world!" : indique le message à afficher ;
- endl : crée un retour à la ligne dans la console.
Il est possible de combiner plusieurs messages en une instruction.
Notez bien que :
 cout est fourni par iostream. Si vous n'incluez pas iostream au début de votre
programme, le compilateur se plaindra de ne pas connaître cout et vous ne pourrez pas
générer votre programme !
 Chaque instruction se termine par un point-virgule ! C'est d'ailleurs ce qui vous permet de
différencier les instructions du reste. Si vous oubliez le point-virgule, la compilation ne
fonctionnera pas et votre programme ne pourra pas être créé !
return ou le Retour de la fonction
return 0;
10 | 12
10 Introduction au langage C++ | Chapitre 1 : Notions de base
Cette instruction clôt généralement les fonctions. En fait, la plupart des fonctions
renvoient à la fin de son exécution une valeur appelée « retour de la fonction » (un nombre,
une chaine de caractères, etc.). Ici, la fonction main() renvoie 0 pour indiquer que tout
s'est bien passé (toute valeur différente de 0 aurait indiqué un problème).
Commentez vos programmes !
En plus du code qui donne des instructions à l'ordinateur, vous pouvez écrire des
commentaires pour expliquer le fonctionnement de votre programme. Par exemple, si vous
envoyez votre code à un ami, il aura des difficultés pour comprendre ce que vous avez
essayé de faire juste en lisant votre code source. C'est là que les commentaires entrent
en jeu !
Les commentaires n'ont aucun impact sur le fonctionnement de votre logiciel : en fait, le
compilateur ne les lit même pas et ils n'apparaissent pas dans le programme généré.
Il existe deux types de commentaires en C++ : les commentaires de type C et les
commentaires de fin de ligne (qui ne sont disponibles qu’en C++).
Il y a deux façons d'écrire des commentaires selon leur longueur :
Les commentaires courts : uniligne
Pour écrire un commentaire court, sur une seule ligne, il suffit de commencer par // puis
d'écrire votre commentaire.
// Ceci est un commentaire court sur une seule ligne
Les commentaires longs : multilignes
Si votre commentaire tient sur plusieurs lignes, ouvrez la zone de commentaire avec /* et
fermez-la avec */.
/* Ceci est un commentaire long peu
complexe alors je l’écris sur plusieurs
lignes */
Exemple
Reprenons le code source que nous avons étudié dans ce chapitre (Figure 7) et complétons-
le de quelques commentaires pour nous souvenir de ce qu'il fait (Figure 10).
1 #include <iostream> // Inclut la bibliothèque iostream (affichage de texte)
2
3 using namespace std; // Indique quel espace de noms on va utiliser
4
5 /*
6 Fonction principale "main"
7 Tous les programmes commencent par la fonction main
8 */
9 int main()
10 {
11 cout << "Hello world!" << endl; // Affiche un message
11 | 12
11 Introduction au langage C++ | Chapitre 1 : Notions de base
12 return 0; // Termine la fonction main et donc le programme
13
Figure 10 : Mon premier programme complété par quelques commentaires
Mettez votre code en forme
Imaginez maintenant que votre programme fasse des centaines de lignes de long, si vous
n’avez pas met votre code en forme de manière plus lisible, cela deviendra vite
incompréhensible.
Pour nous aider dans cette tâche, Code::Blocks met à disposition un outil. Ouvrez le
menu Plugins puis sélectionnez Source code formatter (AStyle).
Figure 11 : Mettre son code en forme
Votre code source se met alors en forme tout seul et devient automatiquement plus lisible.
Cela n'a rien changé pour le compilateur, le programme fera toujours exactement la même
chose, par contre, pour vous (et vos collègues travaillant sur le même projet), cela change
tout. Vous verrez que plus on avance dans ce cours, plus cela deviendra important d'avoir
un code mis en forme proprement et bien commenté.
Ce que vous devez retenir !
 Les programmes permettent de réaliser toutes sortes d'actions sur un ordinateur
: navigation sur le Web, rédaction de textes, manipulation des fichiers, etc.
 Pour réaliser des programmes, on écrit des instructions pour l'ordinateur dans un
langage de programmation. C'est ce qu’on appelle « code source ».
 Le « code source » doit être traduit en « code binaire » (ou code
exécutable ») par un outil (un programme) appelé compilateur. En effet,
l'ordinateur ne comprend que le binaire (l’exécutable).
12 | 12
12 Introduction au langage C++ | Chapitre 1 : Notions de base
 Le C++ est un langage de programmation très répandu et rapide. C'est une évolution
du langage C.
 Un IDE est un outil tout-en-un à destination des développeurs, qui permet de créer
des programmes. Il est composé d'un éditeur de texte, d'un compilateur et
d'un debugger.
 Code::Blocks, Visual C++ et Xcode sont parmi les IDE les plus connus pour
programmer en C++.
 On distingue deux types de programmes : les programmes graphiques (GUI) et les
programmes console.
 Un programme possède toujours une fonction main() : c'est son point de
démarrage.
 La directive cout permet d'afficher du texte dans une console.
 On peut ajouter des commentaires dans notre « code source » pour expliquer son
fonctionnement. Ils prennent la forme // Commentaire (pour des commentaires
uniligne) ou /* Commentaire */ (pour des commentaires multilignes).

Contenu connexe

Tendances

Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en cbenouini rachid
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfRedaBelattar
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionECAM Brussels Engineering School
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 

Tendances (20)

Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
Cours langage-c
Cours langage-cCours langage-c
Cours langage-c
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 

Similaire à Chapitre 01 - Notions de base

Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxOlyvierNzighou1
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxOlyvierNzighou1
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxLuneSabsPericolo1
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NETAziz Darouichi
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfbenfifiaymen36
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et ProgrammationMonssifNajim1
 
Cours langage C et C++
Cours langage C et C++Cours langage C et C++
Cours langage C et C++mohamednacim
 
Comment devenir un bon programmeur en c#
Comment devenir un bon programmeur en c#Comment devenir un bon programmeur en c#
Comment devenir un bon programmeur en c#O'neil Konan
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdfNoamHaythem
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxDanielATCHADE
 
Projet1 mastermind 2010-2011
Projet1 mastermind 2010-2011Projet1 mastermind 2010-2011
Projet1 mastermind 2010-2011nadi noura
 

Similaire à Chapitre 01 - Notions de base (20)

Microsoft07coursbaptiste
Microsoft07coursbaptisteMicrosoft07coursbaptiste
Microsoft07coursbaptiste
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptx
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NET
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdf
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et Programmation
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
introduction au CPP
introduction au CPPintroduction au CPP
introduction au CPP
 
Cours langage C et C++
Cours langage C et C++Cours langage C et C++
Cours langage C et C++
 
Comment devenir un bon programmeur en c#
Comment devenir un bon programmeur en c#Comment devenir un bon programmeur en c#
Comment devenir un bon programmeur en c#
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptx
 
Projet1 mastermind 2010-2011
Projet1 mastermind 2010-2011Projet1 mastermind 2010-2011
Projet1 mastermind 2010-2011
 
algo & prog python.pptx
algo & prog python.pptxalgo & prog python.pptx
algo & prog python.pptx
 
Logiciels 3d-112-ktcufc
Logiciels 3d-112-ktcufcLogiciels 3d-112-ktcufc
Logiciels 3d-112-ktcufc
 

Dernier

L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Coursebenezerngoran
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 

Dernier (18)

L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 

Chapitre 01 - Notions de base

  • 1. Introduction au langage C++ Chapitre 1 Notions de base Youssouf EL ALLIOUI, youssouf.elallioui@uhp.ac.ma Université Hassan Premier de Settat Objectif de ce chapitre  Notions de base :  programme  programmation  langages de programmation  Une petite introduction au langage C++ :  Historique  Place de C++ par rapport aux autres langages de programmation  Mettre en place les différents outils nécessaires pour pouvoir programmer en C++ :  éditeur de texte  compilateur  débugger  les programmes « 3 in 1 » ou IDE - Environnement de Développement Intégré  Création et discussion de notre premier programme C++ Entraînez-vous via  Exercices applicatifs  QCM fourni à la fin de la séance  Les TPs 2016
  • 2. 1 | 12 1 Introduction au langage C++ | Chapitre 1 : Notions de base Sommaire Qu’est-ce qu’un programme ? ______________________________________________ 2 Les langages de programmation ____________________________________________ 2 Le C++ face aux autres langages de programmation _____________________________ 3 De C au C++ ____________________________________________________________ 5 Les logiciels nécessaires pour programmer ____________________________________ 5 Création et lancement d’un premier programme _______________________________ 6 Commentez vos programmes ! ____________________________________________ 10 Mettez votre code en forme ______________________________________________ 11 Ce que vous devez retenir ! _______________________________________________ 11 Références Cours de C/C++ [Ouvrage] / aut. Casteyde Christian. - 2001. - Vol. Version 1.40.1 : p. 501. Programmez avec le langage C++ [Ouvrage] / aut. Mathieu Nebra et Matthieu Schaller. - [s.l.] : le Livre du Zéro, 2015.
  • 3. 2 | 12 2 Introduction au langage C++ | Chapitre 1 : Notions de base Qu’est-ce qu’un programme ? Les programmes sont à la base de l'informatique. Ce sont eux qui vous permettent d'exécuter des actions sur votre ordinateur. Prenons par exemple la figure suivante qui représente une capture d'écran de mon ordinateur. On y distingue 3 fenêtres correspondant à 3 programmes différents (Figure 1 : Exemple de programmes) : - Le navigateur web Google Chrome - L’explorateur de fichiers - Microsoft Word Figure 1 : Exemple de programmes Comment alors, pouvons-nous réaliser des programmes ? La réponse est tout simplement via l’utilisation des langages de programmation qui permettent d'expliquer à l'ordinateur ce qu'il doit faire. Qu’est-ce que alors un langage de programmation ? Les langages de programmation Votre ordinateur est une machine étonnante et complexe. À la base, il ne comprend qu'un langage très simple constitué de 0 et de 1. Ainsi, un message tel que la Figure 2 peut signifier quelque chose comme « Affiche une fenêtre à l'écran » ! 1010010010100011010101001010111010100011010010 Figure 2 : Exemple d'un message écrit en langage machine Est-ce qu’on va être obligé d'apprendre ce langage ? bien sûr que non. Ce qu’on doit apprendre c’est un langage intermédiaire qui s’appelle langage de programmation.
  • 4. 3 | 12 3 Introduction au langage C++ | Chapitre 1 : Notions de base Un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent1 . Tous les langages de programmation ont le même but : vous permettre de parler à l'ordinateur plus simplement qu'en binaire. Voici comment cela fonctionne (Figure 3) : Figure 3 : Compilation d'un code source en code machine - Etape 1 : Vous écrivez des instructions pour l'ordinateur dans un langage de programmation, c’est le code source. - Etape 2 : Les instructions sont traduites en binaire grâce à un programme de « traduction » appelé Compilateur. - Etape 3 : L'ordinateur peut alors lire le binaire et faire ce que vous avez demandé. Le C++ est un langage de programmation : il sert donc à écrire des applications informatiques. Il s'agit d'ailleurs d'un des langages de programmation les plus utilisés aujourd'hui. Chaque programme en C++ doit être écrit en respectant des règles d'écriture très strictes que nous étudierons petit à petit. Le C++ face aux autres langages de programmation Parmi les centaines de langages de programmation qui existent, certains sont plus populaires que d'autres. Sans aucun doute, le C++ est un langage très populaire. La popularité n’est pas le seul critère pour choisir un langage. Le plus important est le niveau du langage. Il existe des langages de haut niveau et d'autres de plus bas niveau (Figure 4). Les langages de haut niveau sont plus simples mais plus éloigné du fonctionnement de la machine. Par contre, les langages de bas niveau sont plus complexe mais plus proche du fonctionnement de la machine. NB : En programmation, la notion de « niveau » est relative. Globalement, on peut dire que le C++ est « bas niveau » par rapport au Python, mais il est plus « haut niveau » que l'assembleur. Tout dépend de quel point de vue on se place. 1 https://fr.wikipedia.org/wiki/Langage_de_programmation
  • 5. 4 | 12 4 Introduction au langage C++ | Chapitre 1 : Notions de base Figure 4 : Niveaux des langages de programmation Les points forts du langage C++ Il est très répandu : On trouve beaucoup de documentation sur Internet et on peut facilement avoir de l'aide sur les forums. Il est rapide : C’est un langage de bas niveau (Figure 4), ce qui en fait un langage de choix pour les applications critiques qui ont besoin de performances. Il est portable : en effet, c’est un langage multiplateforme. Le même code source peut théoriquement être transformé sans problème en exécutable sous Windows, Mac OS et Linux. Il existe de nombreuses bibliothèques pour le C++ : De base, le C++ ne sait pas faire grande chose mais, en le combinant avec de bonnes bibliothèques, on peut créer des programmes 3D, réseaux, audio, fenêtrés, etc. Il est multi-paradigmes : ce que signifie qu'on peut programmer de différentes façons en C++. L’une des plus célèbres façons de programmation est la Programmation Orientée Objet (POO). C'est une technique qui permet de simplifier l'organisation du code dans nos programmes et de rendre facilement certains morceaux de codes réutilisables. Les points faibles du langage C++ Bien entendu, le C++ n'est pas le langage incontournable. Il a lui-même ses défauts par rapport à d'autres langages, sa complexité en particulier. Vous avez beaucoup de contrôle sur le fonctionnement de votre ordinateur (et sur la gestion de la mémoire) : cela offre une grande puissance mais, si vous l'utilisez mal, vous pouvez plus facilement faire planter votre programme. Ne vous en faites pas, nous découvrirons tout cela progressivement dans ce cours. Langage Binaire Langages de bas niveau Langages de haut niveau
  • 6. 5 | 12 5 Introduction au langage C++ | Chapitre 1 : Notions de base De C au C++ Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au début des années 70. Au début des années 80, Bjarne Stroustrup, un informaticien originaire du Danemark, fait évoluer le langage C vers le langage C++ en lui rajoutant notamment les notions orientées objet. Toutefois, bien que le C++ ait évolué à partir du C, et ait gardé un grand nombre de notions et de syntaxes de son «ancêtre», il s'agit de deux langages différents. Bjarne Stroustrup est aujourd'hui professeur d'informatique à l'université Texas A&M, aux Etats-Unis. Il s'agit d'une importante figure de l'univers informatique qu'il faut connaître, au moins de nom. De nombreux langages de programmation se sont par la suite inspirés du C++. C'est notamment le cas du langage Java. Le langage C++, bien que relativement ancien, continue à être amélioré. Les logiciels nécessaires pour programmer Pour pouvoir programmer en C++, Voici le strict minimum dont vous avez besoin : - Un éditeur de texte pour écrire le code source du programme en C++. Les fichiers source sont des fichiers texte lisibles dont le nom se termine en général par .c, .cpp ou .h. - Un compilateur pour transformer (« compiler ») votre code source en binaire (ou exécutable). Les fichiers exécutables portent en général l'extension .exe sous windows et ne portent pas d'extension sous Linux. - Un débugger (« Débogueur » ou « Débugueur » en français) pour vous aider à traquer les erreurs dans votre programme (un truc qui corrigerait tout seul nos erreurs). À partir de maintenant nous avons deux possibilités : 1) Soit récupérer chacun de ces 3 programmes séparément. C'est plus compliquée, mais elle fonctionne. 2) Soit on utilise un programme « 3-en-1 » qui combine éditeur de texte, compilateur et débugger. Ces programmes « 3-en-1 » sont appelés IDE (ou en français « EDI » pour « Environnement de Développement Intégré »). Il existe plusieurs IDE. Ils vous permettront tous de programmer et de suivre le reste de ce cours sans problème.
  • 7. 6 | 12 6 Introduction au langage C++ | Chapitre 1 : Notions de base Durant tout ce cours, j'utiliserai Code::Blocks. Il s’agit d’un IDE libre et gratuit, disponible pour Windows, Mac et Linux. Si vous voulez avoir exactement les mêmes écrans que moi, surtout au début pour ne pas être perdus, je vous recommande donc de commencer par installer Code::Blocks2 . Pour le faire vous pouvez consulter le lien : http://www.codeblocks.org/downloads/binaries. Si vous êtes sous Windows, repérez la section « Windows » un peu plus bas sur cette page. Téléchargez le logiciel en choisissant le programme dont le nom contient mingw (ex. : codeblocks-16.01mingw-setup.exe) (Figure 5). Figure 5 : Code Blocks avec mingw (version à installer) Création et lancement d’un premier programme Pour commencer à programmer, la première étape consiste à créer un nouveau projet. Pour cela, sélectionnez File > New > Project (Figure 6). 2 http://www.codeblocks.org/
  • 8. 7 | 12 7 Introduction au langage C++ | Chapitre 1 : Notions de base Figure 6 : Création de Nouveau projet sur Code::Blocks Un assistant s'ouvre « New from template », choisissez « console application ». À la fin des étapes de l'assistant, le projet est créé et contient un premier fichier main.cpp. Ce fichier est notre premier code source et il est déjà un peu rempli (Figure 7). Figure 7 : Mon premier programme Sans trop entrer dans les détails, nous allons expliquer à quoi sert chacune des lignes de ce code (code de la Figure 7).
  • 9. 8 | 12 8 Introduction au langage C++ | Chapitre 1 : Notions de base #include 1 #include <iostream> On place en général au début du programme un certain nombre d'instructions commençant par #include. C'est ce qu'on appelle une directive de préprocesseur. Son rôle est de « charger » des fonctionnalités du C++ pour que nous puissions effectuer certaines actions (la définition de certains objets, types ou fonctions). Ces extensions qui nous offrent de nouvelles possibilités sont appelées des bibliothèques. Dans cet exemple (première ligne de la Figure 7), nous chargeons le fichier iostream, ce qui nous permet d'utiliser la bibliothèque d'affichage de messages à l'écran dans la console. iostream est pour « Input Output Stream » ou bien « Flux d'entrée-sortie », ce que signifie que cette bibliothèque nous permet également de faire plus qu'afficher des messages à l'écran : on pourra aussi récupérer ce que saisit l'utilisateur au clavier, comme nous le verrons plus tard. Dans un ordinateur, l'entrée correspond en général au clavier ou à la souris, et la sortie à l'écran. Notez bien qu'on peut charger autant de bibliothèques que l'on veut à la fois (chaque une par ligne). using namespace std; 3 using namespace std; Un programme important utilise de nombreuses bibliothèques, fonctions et objets ou variables. Pour éviter les problèmes de conflit de noms, on utilise des espaces de noms (namespace) : - on associe un nom à un ensemble de variables, types, fonctions - leur nom complet est : leur nom d’espace suivi de :: et de leur nom la fonction int f(){...} définie dans le domaine A aura pour nom complet A::f() Figure 8 : Exemple d'utilisation de namespace Les noms complets de cout et cin sont std::cout et std::cin. Pour éviter d’écrire les noms complets, on utilise : using namespace std ; Créer un espace de nom namespace toto { int N = 10 ; int Test() { cout << "test... " ; }
  • 10. 9 | 12 9 Introduction au langage C++ | Chapitre 1 : Notions de base } Figure 9 : Exemple de Création d’un namespace Les objets N et Test ont pour nom toto::N et toto::Test. La fonction main() 12 int main() 13 { ... ... ; 23 } C'est ici que commence vraiment le cœur du programme. Comme nous le verrons un peu plus tard, les programmes sont essentiellement constitués de fonctions. Chaque fonction a un rôle et peut appeler d'autres fonctions pour effectuer certaines actions. Tous les programmes possèdent une fonction dénommée « main », ce qui signifie la fonction principale du programme. Une fonction a la forme suivante : Les accolades ({ et }) déterminent le début et la fin de la fonction. Comme vous le voyez dans le code source qui a été généré par Code::Blocks (Figure 7), il n'y a rien après la fonction main(). C'est normal : à la fin de la fonction main() le programme s'arrête ! Tout programme commence au début de la fonction main() et se termine à la fin de celle- ci. Cout 7 cout << "Hello world!" << endl; Voici enfin la première ligne qui sera exécutée par l'ordinateur (les lignes que nous avons vues précédemment ne sont en fait que des préparatifs pour le programme). Il y a 3 éléments sur cette ligne : - cout : commande l'affichage d'un message à l'écran ; - "Hello world!" : indique le message à afficher ; - endl : crée un retour à la ligne dans la console. Il est possible de combiner plusieurs messages en une instruction. Notez bien que :  cout est fourni par iostream. Si vous n'incluez pas iostream au début de votre programme, le compilateur se plaindra de ne pas connaître cout et vous ne pourrez pas générer votre programme !  Chaque instruction se termine par un point-virgule ! C'est d'ailleurs ce qui vous permet de différencier les instructions du reste. Si vous oubliez le point-virgule, la compilation ne fonctionnera pas et votre programme ne pourra pas être créé ! return ou le Retour de la fonction return 0;
  • 11. 10 | 12 10 Introduction au langage C++ | Chapitre 1 : Notions de base Cette instruction clôt généralement les fonctions. En fait, la plupart des fonctions renvoient à la fin de son exécution une valeur appelée « retour de la fonction » (un nombre, une chaine de caractères, etc.). Ici, la fonction main() renvoie 0 pour indiquer que tout s'est bien passé (toute valeur différente de 0 aurait indiqué un problème). Commentez vos programmes ! En plus du code qui donne des instructions à l'ordinateur, vous pouvez écrire des commentaires pour expliquer le fonctionnement de votre programme. Par exemple, si vous envoyez votre code à un ami, il aura des difficultés pour comprendre ce que vous avez essayé de faire juste en lisant votre code source. C'est là que les commentaires entrent en jeu ! Les commentaires n'ont aucun impact sur le fonctionnement de votre logiciel : en fait, le compilateur ne les lit même pas et ils n'apparaissent pas dans le programme généré. Il existe deux types de commentaires en C++ : les commentaires de type C et les commentaires de fin de ligne (qui ne sont disponibles qu’en C++). Il y a deux façons d'écrire des commentaires selon leur longueur : Les commentaires courts : uniligne Pour écrire un commentaire court, sur une seule ligne, il suffit de commencer par // puis d'écrire votre commentaire. // Ceci est un commentaire court sur une seule ligne Les commentaires longs : multilignes Si votre commentaire tient sur plusieurs lignes, ouvrez la zone de commentaire avec /* et fermez-la avec */. /* Ceci est un commentaire long peu complexe alors je l’écris sur plusieurs lignes */ Exemple Reprenons le code source que nous avons étudié dans ce chapitre (Figure 7) et complétons- le de quelques commentaires pour nous souvenir de ce qu'il fait (Figure 10). 1 #include <iostream> // Inclut la bibliothèque iostream (affichage de texte) 2 3 using namespace std; // Indique quel espace de noms on va utiliser 4 5 /* 6 Fonction principale "main" 7 Tous les programmes commencent par la fonction main 8 */ 9 int main() 10 { 11 cout << "Hello world!" << endl; // Affiche un message
  • 12. 11 | 12 11 Introduction au langage C++ | Chapitre 1 : Notions de base 12 return 0; // Termine la fonction main et donc le programme 13 Figure 10 : Mon premier programme complété par quelques commentaires Mettez votre code en forme Imaginez maintenant que votre programme fasse des centaines de lignes de long, si vous n’avez pas met votre code en forme de manière plus lisible, cela deviendra vite incompréhensible. Pour nous aider dans cette tâche, Code::Blocks met à disposition un outil. Ouvrez le menu Plugins puis sélectionnez Source code formatter (AStyle). Figure 11 : Mettre son code en forme Votre code source se met alors en forme tout seul et devient automatiquement plus lisible. Cela n'a rien changé pour le compilateur, le programme fera toujours exactement la même chose, par contre, pour vous (et vos collègues travaillant sur le même projet), cela change tout. Vous verrez que plus on avance dans ce cours, plus cela deviendra important d'avoir un code mis en forme proprement et bien commenté. Ce que vous devez retenir !  Les programmes permettent de réaliser toutes sortes d'actions sur un ordinateur : navigation sur le Web, rédaction de textes, manipulation des fichiers, etc.  Pour réaliser des programmes, on écrit des instructions pour l'ordinateur dans un langage de programmation. C'est ce qu’on appelle « code source ».  Le « code source » doit être traduit en « code binaire » (ou code exécutable ») par un outil (un programme) appelé compilateur. En effet, l'ordinateur ne comprend que le binaire (l’exécutable).
  • 13. 12 | 12 12 Introduction au langage C++ | Chapitre 1 : Notions de base  Le C++ est un langage de programmation très répandu et rapide. C'est une évolution du langage C.  Un IDE est un outil tout-en-un à destination des développeurs, qui permet de créer des programmes. Il est composé d'un éditeur de texte, d'un compilateur et d'un debugger.  Code::Blocks, Visual C++ et Xcode sont parmi les IDE les plus connus pour programmer en C++.  On distingue deux types de programmes : les programmes graphiques (GUI) et les programmes console.  Un programme possède toujours une fonction main() : c'est son point de démarrage.  La directive cout permet d'afficher du texte dans une console.  On peut ajouter des commentaires dans notre « code source » pour expliquer son fonctionnement. Ils prennent la forme // Commentaire (pour des commentaires uniligne) ou /* Commentaire */ (pour des commentaires multilignes).