Hello, World!

1. Programme C++ minimal

int main()  // Programme C++ minimal
{

} Langage du code : JavaScript (javascript)
  1. Ce code définit une fonction nommée main sans paramètres et sans aucune opération interne.
  2. 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.
  3. 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.
  4. Tout programme C++ complet doit comporter exactement une seule fonction globale main() ; l’exécution du programme débute par main.
  5. int signifie 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.
  6. 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’affichage std::cout ne sera pas reconnue.

iostream est 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) via std::cout.
  • « Hello, World!\n » est une chaîne littérale : du texte encadré par des guillemets doubles. Le caractère d’échappement \n est un saut de ligne qui ramène le curseur au rang suivant après l’affichage.
  • std:: : qualificateur d’espace de noms, il indique que cout est un composant de l’espace de noms standard std. Nous verrons plus tard using namespace std; pour omettre le préfixe std:: et utiliser directement cout.

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 std joue 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *