CONDITIONS ET BOUCLES

Salut ce forum apprends les bases du c++

Moderator: Rick

Post Reply
Hydraxx
Site Admin
Posts: 114
Joined: Mon Jan 12, 2026 4:04 pm
Location: France
Contact:

CONDITIONS ET BOUCLES

Post by Hydraxx »

CONDITIONS ET BOUCLES

À QUOI ÇA SERT ?

Un programme doit prendre des décisions et répéter des opérations.

Les conditions répondent à :

"Est-ce que je dois exécuter ce bloc ?"

Les boucles répondent à :

"Combien de fois dois-je répéter cette opération ?"


1. if

Code: Select all

if (size == 0)
{
    return;
}
Cela signifie :

"Si size vaut 0, exécute ce bloc."


2. if / else

Code: Select all

if (connected)
{
    sendData();
}
else
{
    reconnect();
}

3. INITIALIZER DANS if

Code: Select all

if (int result = openFile(); result != 0)
{
    handleError(result);
}
Pourquoi c’est pratique ?

result n’existe que dans le if/else.

Cela réduit la portée et évite de conserver inutilement des variables.


4. switch


Très utile pour des codes de commandes.

Code: Select all

switch (command)
{
case 1:
    start();
    break;

case 2:
    stop();
    break;

default:
    unknown();
    break;
}
En système, cela ressemble souvent à :

Code: Select all

switch (ioctlCode)
{
case IOCTL_START:
    ...
    break;

case IOCTL_STOP:
    ...
    break;
}

5. FALLTHROUGH


Sans break :

Code: Select all

case 1:
    functionA();

case 2:
    functionB();
Si case 1 est exécuté, functionB() sera aussi exécutée.

Si c’est volontaire :

Code: Select all

[[fallthrough]];
rend l’intention claire.


6. while

Code: Select all

while (running)
{
    process();
}
La condition est testée avant chaque tour.


7. do while

Code: Select all

do
{
    readInput();
}
while (!valid);
Le bloc est exécuté au moins une fois.


8. for

Code: Select all

for (int i = 0; i < 10; ++i)
{
}
Étapes :

1. int i = 0
2. test i < 10
3. exécution du corps
4. ++i
5. retour au test


9. RANGE-BASED FOR

Code: Select all

for (const auto& item : items)
{
    print(item);
}
Pourquoi const auto& ?
  • auto déduit le type ;
  • & évite une copie ;
  • const empêche de modifier l’élément.
Pour modifier :

Code: Select all

for (auto& item : items)
{
    item.reset();
}

10. break


Quitte immédiatement la boucle.

Code: Select all

for (...)
{
    if (found)
        break;
}

11. continue


Passe directement à l’itération suivante.

Code: Select all

for (int value : values)
{
    if (value < 0)
        continue;

    process(value);
}

À RETENIR


En code système, les conditions sont partout :
  • vérification de pointeurs ;
  • codes d’erreur ;
  • flags ;
  • état d’un handle ;
  • lecture en boucle ;
  • traitement de paquets ;
  • dispatch d’IOCTL.

Return to “Bases du C++”

Who is online

Users browsing this forum: No registered users and 1 guest