Il existe deux types de programmes: les programmes graphiques (GUI) et les programmes en console. Les programmes graphiques affichent des fenêtres interactives, comme Microsoft Word, tandis que les programmes en console affichent du texte en blanc sur fond noir et fonctionnent au clavier. Dans ce cours, nous allons créer des programmes en console car c’est plus simple pour les débutants. Le C++ est plus difficile à maitriser que les autres langages, c'est un langage qui demande beaucoup de rigueur. En revanche, ce langage permet de mieux comprendre les interactions avec l'électronique d'un ordinateur.
Créer un projet
Exécuter le programme en mode debug
Le programme affiche "hello world !", il a été compilé et ensuite exécuté.
Code 0 indique que tout s'est bien passé sans erreur.
Analyse du code Hello World!
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}
Ce code est un programme simple en C++ qui affiche “Hello World!” à l’écran. La première ligne inclut la bibliothèque d’entrée/sortie standard, qui permet d’utiliser std::cout pour afficher du texte à l’écran. La fonction main est la fonction principale du programme, c’est là que commence l’exécution du code. Dans cette fonction, on utilise std::cout pour afficher “Hello World!” suivi d’un saut de ligne à l’écran.
Une directive : #include
La directive #include est une directive de préprocesseur en C++ qui indique au préprocesseur d’inclure le contenu d’un fichier spécifié à l’endroit où la directive apparaît. Vous pouvez organiser les définitions de constantes et de macros en fichiers include (également appelés fichiers d’en-tête) et utiliser des directives #include pour les ajouter à n’importe quel fichier source. Les fichiers Include sont également utiles pour incorporer des déclarations de variables externes et de types de données complexes1.
Il existe deux formes syntaxiques pour la directive #include:
#include "path-spec": Le préprocesseur recherche les fichiers Include dans l’ordre suivant: 1) Dans le même répertoire que le fichier qui contient l’instruction #include. 2) Dans les répertoires des fichiers actuellement ouverts, incluez les fichiers, dans l’ordre inverse dans lequel ils ont été ouverts. La recherche commence dans le répertoire du fichier Include parent et continue vers le haut, dans les répertoires de tous les fichiers Include grands-parents. 3) Le long du chemin spécifié par chaque option /I du compilateur. 4) Le long des chemins spécifiés par la variable d’environnement INCLUDE1.
#include <path-spec>: Le préprocesseur recherche les fichiers Include dans l’ordre suivant:
1) Le long du chemin spécifié par chaque option /I du compilateur.
2) Lors de la compilation se produit sur la ligne de commande, le long des chemins spécifiés par la variable d’environnement INCLUDE1.
Le préprocesseur arrête de chercher dès qu’il trouve un fichier portant le nom spécifié1. Si vous placez une spécification de chemin complète et non ambiguë pour le fichier include entre guillemets doubles ( " " ), le préprocesseur recherche uniquement cette spécification de chemin et ignore les répertoires standard1. Si le nom de fichier placé entre guillemets doubles est une spécification de chemin d’accès incomplète, le préprocesseur recherche d’abord le répertoire du fichier parent1.
int main()
La fonction int main() est la fonction principale d’un programme en C++. C’est là que commence l’exécution du code source. Tous les programmes C++ doivent avoir une fonction main. Si vous essayez de compiler un programme C++ sans fonction main, le compilateur générera une erreur1.
La fonction main renvoie un entier (int) qui représente le code de sortie du programme. Si aucune valeur de retour n’est spécifiée dans main, le compilateur fournit une valeur de retour de zéro1.
Il existe plusieurs restrictions qui s’appliquent à la fonction main et qui ne s’appliquent à aucune autre fonction C++. La fonction main ne peut pas être surchargée, ne peut pas être déclarée en tant que inline ou static, son adresse ne peut pas être prise et elle ne peut pas être appelée à partir de votre programme1.
Il existe deux formes courantes pour la fonction main:
int main(): Cette forme ne prend aucun argument.
int main(int argc, char* argv[]): Cette forme prend deux arguments, argc et argv, qui permettent de passer des arguments de ligne de commande au programmeargc est un entier qui contient le nombre d’arguments passés au programme, et argv est un tableau de chaînes de caractères qui représentent les arguments passés au programme2.
En résumé, la fonction int main() est la fonction principale d’un programme en C++ où commence l’exécution du code source. Elle renvoie un entier qui représente le code de sortie du programme et peut prendre des arguments pour passer des arguments de ligne de commande au programme.
cout
cout est un objet de la classe ostream en C++ qui est défini dans l’en-tête iostream. Il est utilisé pour afficher la sortie sur le périphérique de sortie standard, c’est-à-dire l’écran. Il est associé au flux de sortie standard C stdout
Le “c” dans cout signifie “caractère” et “out” signifie “sortie”. Par conséquent, cout signifie "sortie de caractères".
L’objet cout est utilisé avec l’opérateur d’insertion << pour afficher un flux de caractères. Par exemple, pour afficher une variable entière et une chaîne de caractères, vous pouvez utiliser le code suivant:
Cela affichera la valeur de var1 suivie de la chaîne de caractères “Some String” à l’écran. Vous pouvez également utiliser plusieurs opérateurs d’insertion << dans une seule instruction pour afficher plusieurs valeurs à la fois.
En résumé, cout est un objet en C++ qui permet d’afficher la sortie sur l’écran en utilisant l’opérateur d’insertion <<.
endl ajoute un retour chariot pour passer à la ligne
using namespace std
using namespace std; est une instruction en C++ qui indique au compilateur d’utiliser l’espace de noms std. Un espace de noms est un conteneur pour un ensemble de déclarations et de définitions, qui permet d’éviter les conflits de noms entre les différentes parties du code.
L’espace de noms std est l’espace de noms standard en C++, qui contient toutes les classes, fonctions et variables de la bibliothèque standard C++. Par exemple, les objets cout et cin, ainsi que les fonctionsstring et vector, sont tous définis dans l’espace de noms std.
Lorsque vous utilisez l’instruction using namespace std;, vous indiquez au compilateur que vous souhaitez utiliser les éléments de l’espace de noms std sans avoir à spécifier leur nom complet. Par exemple, au lieu d’écrire std::cout << "Hello World!";, vous pouvez simplement écrire cout << "Hello World!"; si vous avez utilisé l’instruction using namespace std;.
Il est important de noter que l’utilisation de l’instruction using namespace std; peut parfois causer des conflits de noms si vous utilisez également d’autres espaces de noms ou si vous avez défini vos propres fonctions ou variables avec des noms identiques à ceux de l’espace de noms std. Dans ces cas, il peut être préférable d’éviter d’utiliser cette instruction et de spécifier explicitement l’espace de noms pour chaque élément que vous utilisez.
En résumé, using namespace std; est une instruction en C++ qui indique au compilateur d’utiliser l’espace de noms std, qui contient toutes les classes, fonctions et variables de la bibliothèque standard C++. Cette instruction permet d’utiliser les éléments de cet espace de noms sans avoir à spécifier leur nom complet, mais elle peut parfois causer des conflits de noms.
Commentaires
Les commentaires sont des notes que vous pouvez ajouter à votre code pour expliquer son fonctionnement. Ils sont ignorés par le compilateur et n’apparaissent pas dans le programme généré, mais ils sont utiles pour vous et pour les autres personnes qui lisent votre code. Il existe deux façons d’écrire des commentaires en C++: les commentaires courts, qui commencent par // et sont placés sur une seule ligne, et les commentaires longs, qui s’ouvrent avec /* et se ferment avec */ et peuvent s’étendre sur plusieurs lignes. Les commentaires sont utiles pour expliquer le fonctionnement d’une série d’instructions, mais il n’est pas nécessaire de commenter chaque ligne de code si son fonctionnement est évident.
#include <iostream> // Inclut la bibliothèque d'entrée/sortie standard
using namespace std;
int main() // Définit la fonction principale du programme
{
cout << "Hello World!\n"; // Affiche "Hello World!" suivi d'un saut de ligne à l'écran
}
Résumé
Il existe deux types de programmes: les programmes graphiques, qui utilisent une interface utilisateur graphique (GUI), et les programmes en console, qui affichent du texte dans une fenêtre de console.
Tout programme doit avoir une fonction main(), qui est le point de départ de l’exécution du code.
La directive cout permet d’afficher du texte dans la console.
Vous pouvez ajouter des commentaires à votre code pour expliquer son fonctionnement en utilisant //Commentaire ou /*Commentaire*/.