SlideShare une entreprise Scribd logo
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

Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
benouini rachid
 
Partie 11: Héritage — Programmation orientée objet en C++
Partie 11: Héritage — Programmation orientée objet en C++Partie 11: Héritage — Programmation orientée objet en C++
Partie 11: Héritage — Programmation orientée objet en C++
Fabio Hernandez
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
L’Université Hassan 1er Settat
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
Houda TOUKABRI
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...
SAAD SARHANI
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Mehdi Hamime
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
tayebbousfiha1
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
L’Université Hassan 1er Settat
 
Les fondamentaux de langage C#
Les fondamentaux de langage C#Les fondamentaux de langage C#
Les fondamentaux de langage C#
Youness Boukouchi
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
Ines Ouaz
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
L’Université Hassan 1er Settat
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
Ramzi Noumairi
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
Ikram Benabdelouahab
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
fehmi arbi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
Youness Boukouchi
 
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
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
Abel LIFAEFI MBULA
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
Cours de c
Cours de cCours de c
Cours de c
Nada Riahi
 

Tendances (20)

Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
Partie 11: Héritage — Programmation orientée objet en C++
Partie 11: Héritage — Programmation orientée objet en C++Partie 11: Héritage — Programmation orientée objet en C++
Partie 11: Héritage — Programmation orientée objet en C++
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
Les fondamentaux de langage C#
Les fondamentaux de langage C#Les fondamentaux de langage C#
Les fondamentaux de langage C#
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
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++
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Cours de c
Cours de cCours de c
Cours de c
 

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.pptx
OlyvierNzighou1
 
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
OlyvierNzighou1
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
Missaoui Abdelbaki
 
Cours langage-c
Cours langage-cCours langage-c
Cours langage-c
Ahmed MSAFRI
 
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
LuneSabsPericolo1
 
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.NET
Aziz Darouichi
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdf
benfifiaymen36
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et Programmation
MonssifNajim1
 
introduction au CPP
introduction au CPPintroduction au CPP
introduction au CPP
sarah Benmerzouk
 
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
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
Lilia Sfaxi
 
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
RedaBelattar
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
NoamHaythem
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptx
DanielATCHADE
 
Projet1 mastermind 2010-2011
Projet1 mastermind 2010-2011Projet1 mastermind 2010-2011
Projet1 mastermind 2010-2011
nadi noura
 
algo & prog python.pptx
algo & prog python.pptxalgo & prog python.pptx
algo & prog python.pptx
KhalilThePianist
 

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 langage-c
Cours langage-cCours langage-c
Cours langage-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
 
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
 
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
 

Dernier

Compréhension orale La famille de Sophie (12).pdf
Compréhension orale  La famille de Sophie (12).pdfCompréhension orale  La famille de Sophie (12).pdf
Compréhension orale La famille de Sophie (12).pdf
lebaobabbleu
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
DjibrilToure5
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
lebaobabbleu
 
Bonnard, Pierre et Marthe.pptx
Bonnard,     Pierre     et    Marthe.pptxBonnard,     Pierre     et    Marthe.pptx
Bonnard, Pierre et Marthe.pptx
Txaruka
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
NadineHG
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
lebaobabbleu
 

Dernier (8)

Compréhension orale La famille de Sophie (12).pdf
Compréhension orale  La famille de Sophie (12).pdfCompréhension orale  La famille de Sophie (12).pdf
Compréhension orale La famille de Sophie (12).pdf
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
 
Bonnard, Pierre et Marthe.pptx
Bonnard,     Pierre     et    Marthe.pptxBonnard,     Pierre     et    Marthe.pptx
Bonnard, Pierre et Marthe.pptx
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
 

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).