1. Programme C++ minimal
int main() // Programme C++ minimal
{
} Langage du code : JavaScript (javascript)
- Ce code définit une fonction nommée
mainsans paramètres et sans aucune opération interne. - L’accolade ouvrante { marque le début du corps de la fonction main, l’accolade fermante } sa fin. Tous les codes exécutables se placent entre les deux accolades.
- Les doubles barres obliques
//correspondent à un commentaire sur une seule ligne. Tout ce qui suit//jusqu’à la fin de la ligne est destiné à la lecture humaine et ignoré par le compilateur. - Tout programme C++ complet doit comporter exactement une seule fonction globale
main(); l’exécution du programme débute parmain. intsignifie que la fonction renvoie une valeur entière. Dans le corps de la fonction, renvoyer 0 indique une exécution normale, renvoyer une valeur non nulle signale une erreur.- La valeur de retour citée au point 5 est lue par les systèmes Unix/Linux, tandis que la plupart des logiciels Windows ne l’utilisent pas.
2. Exemple complet d’affichage standard Hello World
#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
}Langage du code : C++ (cpp)
#include <iostream>: Indique au compilateur d’importer les déclarations de la bibliothèque de flux d’entrées/sorties standard. Sans cette ligne, l’instruction d’affichagestd::coutne sera pas reconnue.
iostreamest l’une des bibliothèques standards vues précédemment : c’est du code C++ préécrit intégré aux compilateurs, dédié aux opérations d’entrée et de sortie comme l’affichage de texte dans la console.
- L’opérateur d’affichage
<<écrit le contenu de sa partie droite dans l’objet de sortie std::cout. Dans cet exemple, la chaîne de caractères"Hello, World!\n"est affichée (sur la console, pas sur une imprimante physique) viastd::cout. - « Hello, World!\n » est une chaîne littérale : du texte encadré par des guillemets doubles. Le caractère d’échappement
\nest un saut de ligne qui ramène le curseur au rang suivant après l’affichage. std::: qualificateur d’espace de noms, il indique quecoutest un composant de l’espace de noms standardstd. Nous verrons plus tardusing namespace std;pour omettre le préfixestd::et utiliser directementcout.
Le qualificateur d’espace de noms existe pour éviter les conflits de noms en ajoutant un préfixe aux composants des bibliothèques. Par analogie : si deux élèves portent le même nom dans une classe, le professeur peut leur attribuer des étiquettes comme Jason Un et Jason Deux pour les distinguer ; le préfixe
stdjoue exactement ce rôle.
Exemple complet
L’exemple ci-dessous définit deux fonctions supplémentaires. L’une est appelée depuis main, et elle appelle à son tour la seconde. Ce programme calcule l’aire d’un cercle : on fournit un rayon, puis le logiciel affiche l’aire correspondante.
#include <iostream>
using namespace std; // Après avoir importé l'espace de noms std, on peut supprimer le préfixe std:: par la suite
// Calcul de l'aire d'un cercle
double circle_area(double x)
{
return 3.14 * x * x;
}
// Affichage de l'aire du cercle
void print_circle_area(double r)
{
cout << "The area of circle with radius " << r << " is " << circle_area(r) << "\n";
}
int main()
{
print_circle_area(2.0); // Rayon égal à 2, affichage de l'aire du cercle
return 0;
}
Résultat de l’exécution
The area of circle with radius 2 is 12.56
On peut chaîner plusieurs opérateurs << avec cout pour afficher plusieurs contenus consécutivement. Sans le caractère \n, tout s’affiche sur une seule ligne. On peut afficher aussi bien des chaînes littérales que des variables comme la variable double r.
Dans void print_circle_area(double r), les parenthèses (double r) contiennent les paramètres formels. Un paramètre formel r reçoit une valeur transmise lors de l’appel externe. Quand on exécute print_circle_area(2.0); dans main, la valeur 2,0 est transmise à la fonction, donc r vaut 2,0 à l’intérieur. L’instruction cout suivante affiche du texte, la variable r, puis appelle circle_area(r). Lors de cet appel, la valeur 2,0 stockée dans r est transmise au paramètre x de double circle_area(double x), donc x vaut également 2,0 dans cette fonction. L’expression 3,14 * 2 * 2 calcule 12,56, qui est renvoyée par l’instruction return vers l’appelant. La logique d’exécution équivaut au code ci-dessous :
cout << "The area of circle with radius " << r << " is " << 12.56 << "\n";
Une fois l’affichage terminé, l’accolade fermante met fin à print_circle_area, et l’exécution reprend dans la fonction main.
