C++ while en do...while Loop
C++ while en do...while Loop
In deze tutorial leren we het gebruik van while en do...while loops in C++ programmeren met behulp van enkele voorbeelden.
Bij computerprogrammering worden loops gebruikt om een codeblok te herhalen.
Laten we bijvoorbeeld zeggen dat we een bericht 100 keer willen weergeven. In plaats van het printstatement 100 keer te schrijven, kunnen we een lus gebruiken.
Dat was maar een simpel voorbeeld; we kunnen veel meer efficiëntie en verfijning in onze programma's bereiken door effectief gebruik te maken van loops.
Er zijn 3 soorten lussen in C++.
for
luswhile
lusdo...while
lus
In de vorige zelfstudie hebben we geleerd over de C++ for-lus. Hier gaan we leren over while
en do...while
lussen.
C++ while-lus
De syntaxis van de while
lus is:
while (condition) {
// body of the loop
}
Hier,
- Een
while
loop evalueert decondition
- Als de
condition
evalueert tottrue
, de code in dewhile
lus wordt uitgevoerd. - De
condition
wordt opnieuw geëvalueerd. - Dit proces gaat door tot de
condition
isfalse
. - Als de
condition
evalueert totfalse
, de lus wordt beëindigd.
Voor meer informatie over de conditions
, bezoek C++ relationele en logische operators.
Stroomdiagram van while-lus
Voorbeeld 1:Toon getallen van 1 tot 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;
}
Uitvoer
1 2 3 4 5
Hier is hoe het programma werkt.
Iteratie | Variabele | ik <=5 | Actie |
---|---|---|---|
1e | i = 1 | true |
1
is afgedrukt en i wordt verhoogd tot 2 . |
2e | i = 2 | true |
2
is afgedrukt en i wordt verhoogd tot 3 . |
3e | i = 3 | true |
3
is afgedrukt en i wordt verhoogd tot 4 |
4e | i = 4 | true |
4
is afgedrukt en i wordt verhoogd tot 5 . |
5e | i = 5 | true |
5
is afgedrukt en i wordt verhoogd tot 6 . |
6e | i = 6 | false | De lus wordt beëindigd |
Voorbeeld 2:Alleen som van positieve getallen
// 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;
}
Uitvoer
Enter a number: 6 Enter a number: 12 Enter a number: 7 Enter a number: 0 Enter a number: -2 The sum is 25
In dit programma wordt de gebruiker gevraagd een nummer in te voeren, dat is opgeslagen in de variabele nummer .
Om de som van de getallen op te slaan, declareren we een variabele som en initialiseer het naar de waarde van 0
.
De while
lus gaat door totdat de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde getal opgeteld bij de som variabel.
Wanneer de gebruiker een negatief getal invoert, wordt de lus beëindigd. Ten slotte wordt het totale bedrag weergegeven.
C++ do...while-lus
De do...while
loop is een variant van de while
loop met één belangrijk verschil:de body van do...while
lus wordt eenmaal uitgevoerd vóór de condition
is aangevinkt.
De syntaxis is:
do {
// body of loop;
}
while (condition);
Hier,
- De hoofdtekst van de lus wordt eerst uitgevoerd. Dan de
condition
wordt geëvalueerd. - Als de
condition
evalueert tottrue
, de body van de lus binnen dedo
instructie wordt opnieuw uitgevoerd. - De
condition
wordt opnieuw geëvalueerd. - Als de
condition
evalueert tottrue
, de body van de lus binnen dedo
instructie wordt opnieuw uitgevoerd. - Dit proces gaat door tot de
condition
evalueert totfalse
. Dan stopt de lus.
Stroomdiagram van do...while Loop
Voorbeeld 3:Toon getallen van 1 tot 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;
}
Uitvoer
1 2 3 4 5
Hier is hoe het programma werkt.
Iteratie | Variabele | ik <=5 | Actie |
---|---|---|---|
i = 1 | niet aangevinkt |
1
is afgedrukt en i wordt verhoogd tot 2 | |
1e | i = 2 | true |
2
is afgedrukt en i wordt verhoogd tot 3 |
2e | i = 3 | true |
3
is afgedrukt en i wordt verhoogd tot 4 |
3e | i = 4 | true |
4
is afgedrukt en i wordt verhoogd tot 5 |
4e | i = 5 | true |
5
is afgedrukt en i wordt verhoogd tot 6 |
5e | i = 6 | false | De lus wordt beëindigd |
Voorbeeld 4:Alleen som van positieve getallen
// 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;
}
Uitgang 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
Hier, de do...while
lus gaat door totdat de gebruiker een negatief getal invoert. Wanneer het getal negatief is, eindigt de lus; het negatieve getal wordt niet toegevoegd aan de sum
variabel.
Uitgang 2
Enter a number: -6 The sum is 0.
De hoofdtekst van de do...while
lus wordt slechts één keer uitgevoerd als de gebruiker een negatief getal invoert.
Oneindige while-lus
Als de condition
van een lus is altijd true
, loopt de lus oneindig lang (totdat het geheugen vol is). Bijvoorbeeld,
// infinite while loop
while(true) {
// body of the loop
}
Hier is een voorbeeld van een oneindige do...while
lus.
// infinite do...while loop
int count = 1;
do {
// body of loop
}
while(count == 1);
In de bovenstaande programma's is de condition
is altijd true
. Daarom zal de loop-body oneindig lang draaien.
voor vs while-lussen
Een for
lus wordt meestal gebruikt als het aantal iteraties bekend is. Bijvoorbeeld,
// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
// body of the loop
}
Hier weten we dat de for-loop 5 keer zal worden uitgevoerd.
Echter, while
en do...while
loops worden meestal gebruikt wanneer het aantal iteraties onbekend is. Bijvoorbeeld,
while (condition) {
// body of the loop
}
Bekijk deze voorbeelden voor meer informatie:
- C++-programma om Fibonacci-reeksen weer te geven
- C++-programma om GCD te vinden
- C++-programma om LCM te vinden
C Taal
- C# if, if...else, if...else if en Nested if Statement
- C++ klassen en objecten
- C++ Geheugenbeheer:nieuw en verwijderen
- C++ Openbare, beschermde en privé-erfenis
- C++ vriend Functie en vriend Klassen
- C++ do...while-lus met voorbeelden
- Verschil tussen while en do-while:uitgelegd met voorbeelden
- Palindroomnummerprogramma in Java While &for Loop gebruiken
- C++ Datum en tijd
- C++ overbelasting (operator en functie)
- C++-bestanden en -streams