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.
Stel dat we een bericht 100 keer willen laten zien. In plaats van de printinstructie 100 keer te schrijven, kunnen we een lus gebruiken.
Dat was slechts een eenvoudig 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 ++.
forluswhilelusdo… whilelus
In de vorige tutorial hebben we geleerd over de C ++ for-lus. Hier gaan we leren over whileen do… whileloops.
C ++ while Loop
De syntaxis van de whilelus is:
while (condition) ( // body of the loop )
Hier,
- Een
whilelus evalueert decondition - Als het
conditionevalueert naartrue, wordt de code in dewhilelus uitgevoerd. - Het
conditionwordt opnieuw geëvalueerd. - Dit proces gaat door totdat het
conditionisfalse. - Wanneer het
conditionevalueert totfalse, eindigt de lus.
conditionsBezoek C ++ Relationele en logische operatoren voor meer informatie over de .
Stroomdiagram van while-lus
Stroomdiagram van C ++ while-lus
Voorbeeld 1: nummers van 1 tot 5 weergeven
// C++ Program to print numbers from 1 to 5 #include 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 | Variabel | ik <= 5 | Actie |
|---|---|---|---|
| 1e | i = 1 | true | 1 wordt afgedrukt en iwordt verhoogd tot 2. |
| 2e | i = 2 | true | 2 wordt afgedrukt en iwordt verhoogd tot 3. |
| 3e | i = 3 | true | 3 wordt afgedrukt en iwordt verhoogd tot4 |
| 4e | i = 4 | true | 4 wordt afgedrukt en iwordt verhoogd tot 5. |
| 5e | i = 5 | true | 5 wordt afgedrukt en iwordt verhoogd tot 6. |
| 6e | i = 6 | false | De lus is beëindigd |
Voorbeeld 2: som van alleen 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 using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )
Uitvoer
Voer een getal in: 6 Voer een getal in: 12 Voer een getal in: 7 Voer een getal in: 0 Voer een getal in: -2 De som is 25
In dit programma wordt de gebruiker gevraagd een nummer in te voeren, dat wordt opgeslagen in het variabelenummer.
Om de som van de getallen op te slaan, declareren we een variabele som en initialiseren deze met de waarde van 0.
De whilelus gaat door totdat de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde aantal opgeteld bij de somvariabele.
Wanneer de gebruiker een negatief getal invoert, wordt de lus beëindigd. Ten slotte wordt de totale som weergegeven.
C ++ do… while Loop
De do… whilelus is een variant van de whilelus met één belangrijk verschil: de do… whilelus wordt eenmaal uitgevoerd voordat de conditionwordt gecontroleerd.
De syntaxis is:
do ( // body of loop; ) while (condition);
Hier,
- De body van de lus wordt eerst uitgevoerd. Vervolgens
conditionwordt het geëvalueerd. - Als de
conditionevalueert naartrue, wordt de body van de lus in dedoinstructie opnieuw uitgevoerd. - Het
conditionwordt nogmaals geëvalueerd. - Als de
conditionevalueert naartrue, wordt de body van de lus in dedoinstructie opnieuw uitgevoerd. - Dit proces gaat door totdat het
conditionevalueertfalse. Dan stopt de lus.
Stroomschema van do… while Loop
Stroomdiagram van C ++ do… while loop
Voorbeeld 3: nummers van 1 tot 5 weergeven
// C++ Program to print numbers from 1 to 5 #include 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 | Variabel | ik <= 5 | Actie |
|---|---|---|---|
i = 1 | niet aangevinkt | 1 wordt afgedrukt en iwordt verhoogd tot 2 |
|
| 1e | i = 2 | true | 2 wordt afgedrukt en iwordt verhoogd tot 3 |
| 2e | i = 3 | true | 3 wordt afgedrukt en iwordt verhoogd tot 4 |
| 3e | i = 4 | true | 4 wordt afgedrukt en iwordt verhoogd tot 5 |
| 4e | i = 5 | true | 5 wordt afgedrukt en iwordt verhoogd tot 6 |
| 5e | i = 6 | false | De lus is beëindigd |
Voorbeeld 4: som van alleen 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 using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )
Uitgang 1
Voer een getal in: 6 Voer een getal in: 12 Voer een getal in: 7 Voer een getal in: 0 Voer een getal in: -2 De som is 25
Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.
Output 2
Enter a number: -6 The sum is 0.
The body of the do… while loop runs only once if the user enters a negative number.
Infinite while loop
If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true) ( // body of the loop )
Here is an example of an infinite do… while loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
In the above programs, the condition is always true. Hence, the loop body will run for infinite times.
for vs while loops
A for loop is usually used when the number of iterations is known. For example,
// This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )
Here, we know that the for-loop will be executed 5 times.
Echter, whileen do… whilelussen worden meestal gebruikt wanneer het aantal iteraties is onbekend. Bijvoorbeeld,
while (condition) ( // body of the loop )
Bekijk deze voorbeelden voor meer informatie:
- C ++ programma om de Fibonacci-serie weer te geven
- C ++ - programma om GCD te vinden
- C ++ - programma om LCM te vinden








