Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Boucle C++ while et do...while

Boucle C++ while et do...while

Dans ce didacticiel, nous allons apprendre à utiliser les boucles while et do...while en programmation C++ à l'aide de quelques exemples.

En programmation informatique, les boucles sont utilisées pour répéter un bloc de code.

Par exemple, disons que nous voulons afficher un message 100 fois. Ensuite, au lieu d'écrire l'instruction print 100 fois, nous pouvons utiliser une boucle.

C'était juste un exemple simple; nous pouvons obtenir beaucoup plus d'efficacité et de sophistication dans nos programmes en utilisant efficacement les boucles.

Il y a 3 types de boucles en C++.

  1. for boucle
  2. while boucle
  3. do...while boucle

Dans le tutoriel précédent, nous avons découvert la boucle for C++. Ici, nous allons en savoir plus sur while et do...while boucles.

Boucle while C++

La syntaxe du while boucle est :

while (condition) {
    // body of the loop
}

Ici,

  • Un while la boucle évalue le condition
  • Si le condition évalue à true , le code à l'intérieur du while boucle est exécutée.
  • Le condition est à nouveau évalué.
  • Ce processus se poursuit jusqu'au condition est false .
  • Lorsque le condition évalue à false , la boucle se termine.

Pour en savoir plus sur le conditions , consultez Opérateurs relationnels et logiques C++.

Organigramme de la boucle while

Exemple 1 :Afficher les nombres de 1 à 5

// C++ Program to print numbers from 1 to 5

#include <iostream>

using namespace std;

int main() {
    int i = 1; 

    // while loop from 1 to 5
    while (i <= 5) {
        cout << i << " ";
        ++i;
    }
    
    return 0;
}

Sortie

1 2 3 4 5

Voici comment fonctionne le programme.

Itération Variable je <=5 Action
1er i = 1 true 1 est imprimé et i est augmenté à 2 .
2ème i = 2 true 2 est imprimé et i est augmenté à 3 .
3ème i = 3 true 3 est imprimé et i est augmenté à 4
4ème i = 4 true 4 est imprimé et i est augmenté à 5 .
5ème i = 5 true 5 est imprimé et i est augmenté à 6 .
6ème i = 6 false La boucle est terminée

Exemple 2 :Somme des nombres positifs uniquement

// program to find the sum of positive numbers
// if the user enters a negative number, the loop ends
// the negative number entered is not added to the sum

#include <iostream>
using namespace std;

int main() {
    int number;
    int sum = 0;

    // take input from the user
    cout << "Enter a number: ";
    cin >> number;

    while (number >= 0) {
        // add all positive numbers
        sum += number;

        // take input again if the number is positive
        cout << "Enter a number: ";
        cin >> number;
    }

    // display the sum
    cout << "\nThe sum is " << sum << endl;
    
    return 0;
}

Sortie

Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2

The sum is 25

Dans ce programme, l'utilisateur est invité à entrer un nombre, qui est stocké dans la variable numéro .

Afin de stocker la somme des nombres, on déclare une variable sum et l'initialiser à la valeur de 0 .

Le while la boucle continue jusqu'à ce que l'utilisateur entre un nombre négatif. Lors de chaque itération, le nombre entré par l'utilisateur est ajouté à la somme variables.

Lorsque l'utilisateur entre un nombre négatif, la boucle se termine. Enfin, la somme totale s'affiche.

C++ boucle do...while

Le do...while loop est une variante du while boucle avec une différence importante :le corps de do...while la boucle est exécutée une fois avant le condition est coché.

Sa syntaxe est :

do {
   // body of loop;
}
while (condition);

Ici,

  • Le corps de la boucle est exécuté en premier. Puis le condition est évalué.
  • Si le condition évalue à true , le corps de la boucle à l'intérieur du do l'instruction est exécutée à nouveau.
  • Le condition est évalué une fois de plus.
  • Si le condition évalue à true , le corps de la boucle à l'intérieur du do l'instruction est exécutée à nouveau.
  • Ce processus se poursuit jusqu'au condition évalue à false . Puis la boucle s'arrête.

Organigramme de la boucle do...while

Exemple 3 :Afficher les nombres de 1 à 5

// C++ Program to print numbers from 1 to 5

#include <iostream>

using namespace std;

int main() {
    int i = 1; 

    // do...while loop from 1 to 5
    do {
        cout << i << " ";
        ++i;
    }
    while (i <= 5);
    
    return 0;
}

Sortie

1 2 3 4 5

Voici comment fonctionne le programme.

Itération Variable je <=5 Action
  i = 1 non coché 1 est imprimé et i est porté à 2
1er i = 2 true 2 est imprimé et i est porté à 3
2ème i = 3 true 3 est imprimé et i est porté à 4
3ème i = 4 true 4 est imprimé et i est porté à 5
4ème i = 5 true 5 est imprimé et i est porté à 6
5ème i = 6 false La boucle est terminée

Exemple 4 :Somme des nombres positifs uniquement

// program to find the sum of positive numbers
// If the user enters a negative number, the loop ends
// the negative number entered is not added to the sum

#include <iostream>
using namespace std;

int main() {
    int number = 0;
    int sum = 0;

    do {
        sum += number;

        // take input from the user
        cout << "Enter a number: ";
        cin >> number;
    }
    while (number >= 0);
    
    // display the sum
    cout << "\nThe sum is " << sum << endl;
    
    return 0;
}

Sortie 1

Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2

The sum is 25

Ici, le do...while la boucle continue jusqu'à ce que l'utilisateur entre un nombre négatif. Lorsque le nombre est négatif, la boucle se termine; le nombre négatif n'est pas ajouté au sum variables.

Sortie 2

Enter a number: -6
The sum is 0.

Le corps du do...while la boucle ne s'exécute qu'une seule fois si l'utilisateur entre un nombre négatif.

Boucle while infinie

Si le condition d'une boucle est toujours true , la boucle s'exécute pendant une infinité de temps (jusqu'à ce que la mémoire soit pleine). Par exemple,

// infinite while loop
while(true) {
    // body of the loop
}

Voici un exemple d'infini do...while boucle.

// infinite do...while loop

int count = 1;

do {
   // body of loop
} 
while(count == 1);

Dans les programmes ci-dessus, le condition est toujours true . Par conséquent, le corps de la boucle s'exécutera pendant des durées infinies.

boucles for vs while

Un for La boucle est généralement utilisée lorsque le nombre d'itérations est connu. Par exemple,

// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
   // body of the loop
}

Ici, nous savons que la boucle for sera exécutée 5 fois.

Cependant, while et do...while les boucles sont généralement utilisées lorsque le nombre d'itérations est inconnu. Par exemple,

while (condition) {
    // body of the loop
}

Consultez ces exemples pour en savoir plus :

  • Programme C++ pour afficher les séries de Fibonacci
  • Programme C++ pour trouver GCD
  • Programme C++ pour trouver LCM

Langue C

  1. Classes et objets C++
  2. Gestion de la mémoire C++ :création et suppression
  3. Héritage C++ public, protégé et privé
  4. Fonction amie C++ et classes amies
  5. Boucle do…while C++ avec exemples
  6. Différence entre while et do-while :expliquée avec des exemples
  7. Programme de nombres Palindrome en Java Utilisation de la boucle while &for
  8. Date et heure C++
  9. Surcharge C++ (opérateur et fonction)