Fiche de révision : Bases du langage C++

Plan du Cours

  1. Objectifs et organisation du module
  2. Systèmes intelligents et programmation
  3. Algorithmique et pseudo-code
  4. Structure d’un programme C++
  5. Composants fondamentaux d’un programme
  6. Structures conditionnelles
  7. Boucles et répétitions
  8. Fonctions et bibliothèques
  9. Déclaration et appel des fonctions
  10. Bibliothèques et appel de fonctions
  11. Passage des paramètres par copie
  12. Tableaux statiques et indices
  13. Chaînes de caractères en C++

1. Objectifs et organisation du module

Notions clés & Définitions

  • Programmation informatique : Discipline permettant à un être humain de communiquer à une machine des instructions codifiées dans un langage.

★ À maîtriser

  • 🔄 La réalisation d’une fiche pratique suit quatre étapes:
    1. Préparer avant le cours magistral
    2. Compléter pendant le cours magistral
    3. Enrichir en TD et TP
    4. Mettre au propre la fiche finale

📌 Les fiches pratiques manuscrites sont le seul document autorisé en évaluation et doivent respecter un format de 2 à 3 pages A4 maximum par séquence.

  • À la fin du module, l’étudiant doit connaître les outils génériques de programmation en C/C++, savoir coder des programmes simples, respecter les bonnes pratiques et tester puis déboguer ses programmes.

Compléments

  • Le module comprend 7 séances de cours magistraux, 11 séances de travaux dirigés d’1 h 30 et 8 séances de travaux pratiques de 3 h.

  • Les évaluations comprennent environ 5 sprints de code de 20 à 30 minutes, un contrôle pratique intermédiaire de 1 h 30 en décembre et un partiel pratique final de 2 h après les vacances de Noël.

Astuce mémo

Préparer → compléter → pratiquer → évaluer

2. Systèmes intelligents et programmation

Notions clés & Définitions

  • Système électronique numérique : Système complet comportant une unité centrale qui réalise les opérations, une mémoire qui stocke l’information et des ports d’entrée/sortie qui assurent la communication avec les périphériques.
  • Compilateur : Programme qui convertit un programme écrit dans un langage intermédiaire en un autre programme en langage machine.
  • Informatique embarquée : Cas où des périphériques sont eux-mêmes équipés d’une intelligence pour traiter l’information reçue et l’adapter à leur fonction spécifique.

★ À maîtriser

  • Pour réaliser une tâche, un système intelligent transfère l’information entre la mémoire et l’unité centrale, puis entre l’unité centrale et les périphériques afin de les piloter ou de recevoir leur action.

Compléments

  • Le jeu du « Plus ou Moins » fait deviner à l’utilisateur un entier généré aléatoirement entre 0 et 999 et indique si le nombre mystère est plus petit ou plus grand que la proposition.

  • Les ports d’entrée/sortie peuvent:

    • Afficher sur un écran
    • Récupérer une saisie au clavier ou à la souris
    • Écrire dans un fichier
    • Récupérer les mesures d’un capteur
    • Commander un actionneur comme un moteur, une pompe ou un vérin

Astuce mémo

Données → calculs → entrées/sorties → tâche réalisée

3. Algorithmique et pseudo-code

Notions clés & Définitions

  • Algorithme : Suite d’instructions appliquées dans un ordre spécifique à un nombre fini de données pour résoudre une tâche sur un ordinateur et obtenir un résultat.
  • Pseudo-code : Langage algorithmique générique qui décrit les données et les instructions d’un programme sans dépendre de la machine physique ni du langage de programmation.

★ À maîtriser

  • Le jeu du « Plus ou Moins » génère un nombre mystère entre 0 et 999, répète la saisie et la comparaison jusqu’à l’égalité, affiche un indice, annonce la victoire, attend 10 secondes puis recommence.

📌 Un algorithme doit définir les comportements de la machine pour tous les cas possibles, y compris les cas d’erreur, afin d’assurer la robustesse et la reproductibilité du programme.

  • Le canevas général d’un pseudo-code comprend:
    • Une idée générale
    • Une déclaration des fonctions
    • Une déclaration des variables
    • Un programme principal délimité par Début et Fin

Compléments

📌 Dans un pseudo-code, les commentaires placés entre accolades expliquent l’algorithme mais ne constituent pas des instructions, tandis que les instructions du programme principal sont exécutées séquentiellement de haut en bas entre Début et Fin.

Astuce mémo

Algorithme indépendant de la machine, code dépendant du langage

4. Structure d’un programme C++

Notions clés & Définitions

  • IDE : Logiciel qui regroupe les fonctionnalités nécessaires à l’édition, à la compilation et au débogage d’un programme.
  • Programme principal main : Dans un programme C++, le fichier source main.cpp contient le programme principal, qui doit comprendre les inclusions nécessaires, la fonction int main(), les déclarations de variables, les instructions du programme et return 0.

★ À maîtriser

  • 🔄 Pour lancer un programme C++, il faut:
    1. Compiler le programme
    2. Vérifier l’absence d’erreur et d’avertissement dans le Build log
    3. Exécuter le programme

📌 La structure minimale obligatoire d’un programme C++ est int main() { ... }, et l’intégralité du code effectif doit être placée entre les accolades de cette fonction.

Compléments

  • Dans ce module, l’IDE utilisé est Code::Blocks et la première étape consiste à créer un projet.

📌 Le canevas du programme C++ reprend le pseudo-code : l’idée générale correspond aux commentaires, la déclaration des variables aux zones mémoire et le programme principal à la fonction main().

Astuce mémo

Projet → main.cpp → compilation → exécution

5. Composants fondamentaux d’un programme

Notions clés & Définitions

  • Variable : Une variable est une case mémoire réservée pour stocker une donnée du programme.

★ À maîtriser

  • La saisie et l’affichage d’une valeur utilisent respectivement cin et cout, avec des chevrons orientés selon l’opération.

  • Les types usuels présentés sont:

    • int pour un entier
    • float pour un nombre décimal
    • char pour un caractère ASCII
    • bool pour une valeur vraie ou fausse
  • Les opérateurs mathématiques usuels sont:

      • pour l’addition
      • pour la soustraction
      • pour la multiplication
    • / pour la division
    • % pour le reste d’une division entière

Compléments

  • Dans le jeu du « Plus ou Moins », l’instruction nombre_mystere_impair = nombre_mystere * 2 + 1 transforme le nombre mystère en nombre impair.

Astuce mémo

Déclarer → saisir/afficher → traiter

6. Structures conditionnelles

Notions clés & Définitions

  • Structure conditionnelle : Une structure conditionnelle exécute des instructions différentes selon que le test est vrai ou faux.

★ À maîtriser

  • La structure if...else exécute le bloc du if si le test est vrai et le bloc du else si le test est faux.

  • Une structure if...else if...else enchaîne des tests différents et exclusifs, puis la clause else traite le cas restant.

  • Les opérateurs de comparaison sont ==, !=, <, <=, > et >=, tandis que les opérateurs logiques sont && pour ET, || pour OU et ! pour NON.

Compléments

📌 Les tests imbriqués doivent être indentés afin de rendre visibles les différents niveaux de la structure décisionnelle.

Astuce mémo

VRAI ouvre une branche, FAUX mène à else

7. Boucles et répétitions

Notions clés & Définitions

  • Boucle while : Une boucle while répète un bloc d’instructions tant que son test est vrai, puis poursuit le programme après l’accolade fermante lorsque le test devient faux.
  • Boucle do...while : Une boucle do...while exécute ses instructions avant d’évaluer la condition placée après l’accolade fermante.

★ À maîtriser

  • Une boucle while exige une initialisation avant la boucle, une condition de maintien et un modificateur de la variable testée à l’intérieur de la boucle.

Compléments

📌 La syntaxe do...while(test); impose un point-virgule après la clause while.

  • Dans le jeu du « Plus ou Moins », la boucle do...while répète la saisie et les indications « C’est plus » ou « C’est moins » tant que nombre_propose != NOMBRE_MYSTERE.

Astuce mémo

while teste avant, do...while teste après

8. Fonctions et bibliothèques

Notions clés & Définitions

  • Fonction : Une fonction est un bloc d’instructions appelable à volonté qui compartimente le code pour améliorer sa gestion et sa lisibilité.

★ À maîtriser

📌 Une fonction peut renvoyer une valeur avec un type de sortie comme int ou ne rien renvoyer avec le type void.

  • La fonction rand() appartient à la bibliothèque stdlib.h, importée avec l’instruction #include <stdlib.h>.

  • La génération d’un entier aléatoire dans l’intervalle [input_min,input_max] utilise rand()%(input_max−input_min+1)+input_minrand()\%(input\_max-input\_min+1)+input\_min.

Compléments

  • 🔄 La création d’une bibliothèque maison suit ces étapes:

    1. Placer les prototypes dans fonctions.h
    2. Placer les définitions dans fonctions.cpp
    3. Importer fonctions.h dans main.cpp
  • Le prototype de rand est int rand(void);, ce qui indique qu’il ne reçoit aucun paramètre et renvoie un entier.

Astuce mémo

Déclarer → appeler → définir

9. Déclaration et appel des fonctions

★ À maîtriser

  • Lors d’un appel, les valeurs des paramètres sont copiées dans des variables locales, les instructions travaillent sur ces variables, puis la fonction retourne éventuellement une valeur du type prévu.

📌 Les paramètres fournis lors de l’appel doivent respecter le nombre, les types et l’ordre indiqués dans le prototype de la fonction.

📌 La déclaration d’une fonction donne son prototype et se termine par un point-virgule, tandis que sa définition contient le code entre accolades et ne se termine pas par un point-virgule après l’en-tête.

Compléments

  • L’appel nombre_mystere = GenererNombreMystere(VALEUR_MIN_MYST, VALEUR_MAX_MYST) transmet deux paramètres et affecte la valeur retournée à nombre_mystere.

Astuce mémo

Entrées copiées → traitement local → retour

10. Bibliothèques et appel de fonctions

★ À maîtriser

  • Lors d’un appel fonction, les valeurs transmises sont copiées dans des paramètres locaux, les instructions travaillent sur ces variables locales, la fonction retourne une valeur du type annoncé, cette valeur peut être récupérée dans le programme appelant, puis les variables locales deviennent inaccessibles.

  • Une bibliothèque de fonctions se construit avec un fichier d’en-tête fonctions.h contenant les prototypes et un fichier source fonctions.cpp contenant les définitions, puis elle est importée dans main.cpp avec #include "fonctions.h". — IUT, Université Jean Monnet, Saint-Étienne, 2026-2027

📐 Formule — L’appel d’une fonction s’écrit sous la forme var_sortie=NomFonction(val_1,val_2,…);var\_sortie = NomFonction(val\_1, val\_2, \ldots);.

Compléments

  • La compilation de fonctions.cpp produit le fichier objet binaire fonctions.o, qui peut être distribué comme bibliothèque précompilée.

Astuce mémo

Prototype → main → définition : annoncer, appeler, exécuter

11. Passage des paramètres par copie

★ À maîtriser

📌 Une fonction déclarée avec le type de retour void ne renvoie aucune valeur au programme appelant.

📌 Lors d’un passage par copie, les paramètres d’entrée de la fonction sont des copies locales des variables du programme principal et leur modification ne modifie pas les variables originales.

Compléments

  • Pour copier manuellement une chaîne, il faut copier chaque caractère tant que le caractère source n’est pas '\0', puis copier également '\0' dans la chaîne destination.

  • Dans MaFonctionModifInputs, les valeurs initiales var1 = 21 et var2 = 3.3 sont copiées dans in1 et in2, puis in1 devient 42 et in2 devient 4.5 sans modifier var1 ni var2.

Astuce mémo

Variables du main ≠ copies locales de la fonction

12. Tableaux statiques et indices

Notions clés & Définitions

  • Tableau statique : Réservation de plusieurs cases contiguës en mémoire, de taille fixée, contenant des valeurs de type identique.

★ À maîtriser

📌 Les cases d’un tableau de taille taille sont indexées de 0 à taille − 1 et la valeur de la case i se note tab[i].

  • Un tableau peut être déclaré avec une taille explicite, une constante unsigned int, une liste d’initialisation immédiate ou le qualificatif const avec initialisation obligatoire.

📐 Formule — Dans l’exemple d’approximation de la racine carrée, la suite est initialisée par suite[0]=1.0suite[0] = 1.0 puis calculée pour i allant de 1 à TAILLE − 1 selon suite[i]=suite[i−1]+asuite[i−1]2suite[i] = \frac{suite[i-1] + \frac{a}{suite[i-1]}}{2}.

Compléments

📌 Lorsqu’une initialisation de tableau fournit moins de valeurs que la taille déclarée, les cases restantes sont initialisées à 0.

Astuce mémo

Des cases contiguës alignées, numérotées de 0 à taille − 1

13. Chaînes de caractères en C++

Notions clés & Définitions

  • Chaîne de caractères : Tableau de caractères terminé par le caractère caché '\0'.

★ À maîtriser

  • Une chaîne contenant taille caractères effectifs nécessite un tableau de taille + 1 caractères afin de réserver une case au caractère final '\0'.

  • Un tableau de caractères déjà déclaré ne peut pas recevoir directement une nouvelle chaîne par affectation avec = ; il faut utiliser la fonction strcpy de la bibliothèque string.h.

  • Lors d’une initialisation caractère par caractère, le caractère '\0' doit être écrit explicitement, tandis qu’une initialisation entre doubles guillemets l’ajoute implicitement.

Compléments

  • La copie manuelle de chaine1 dans chaine2 consiste à parcourir chaine1 avec un indice, copier chaque caractère jusqu’à '\0', puis copier '\0' pour terminer correctement chaine2.

Astuce mémo

Oublier « \0 » → la chaîne conserve les caractères résiduels

Tableaux de synthèse

Algorithme et programme C++

ÉlémentPseudo-codeC++
Idée généraleCommentaire décrivant la tâcheCommentaires en tête du fichier
VariablesDéclaration des donnéesDéclarations dans main()
InstructionsEntre Début et FinEntre les accolades de main()
ExécutionLecture séquentielle des instructionsCompilation puis exécution

Structures de contrôle

StructureMoment du testExécution minimale
if...elseAvant le choixSelon le résultat du test
whileAvant chaque itération0 fois possible
do...whileAprès les instructions1 fois obligatoire

Teste tes connaissances

Teste tes connaissances sur Bases du langage C++ avec 45 questions à choix multiples et corrections détaillées.

1. Quelle distinction décrit correctement la programmation informatique et l’algorithmique ?

2. Quel ensemble d’objectifs correspond à la fin du module de programmation ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Bases du langage C++ avec 85 flashcards interactives.

Qu'est-ce que la programmation informatique ?

La discipline permettant à un humain de communiquer des instructions codifiées à une machine.

Que doit savoir faire l’étudiant à la fin du module ?

Connaître les outils C/C++, coder, respecter bonnes pratiques, tester et déboguer.

Combien de séances de cours magistraux comprend le module ?

Le module comprend 7 séances de cours magistraux.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches