C ++ mens og gør ... mens Loop (med eksempler)

I denne vejledning lærer vi brugen af ​​while and do … while loops i C ++ programmering ved hjælp af nogle eksempler.

I computerprogrammering bruges sløjfer til at gentage en blok kode.

Lad os for eksempel sige, at vi vil vise en besked 100 gange. Så i stedet for at skrive udskriftserklæringen 100 gange, kan vi bruge en løkke.

Det var bare et simpelt eksempel; vi kan opnå meget mere effektivitet og sofistikering i vores programmer ved at bruge sløjfer effektivt.

Der er 3 typer sløjfer i C ++.

  1. for løkke
  2. while løkke
  3. do… while løkke

I den foregående vejledning lærte vi om C ++ for loop. Her skal vi lære om whileog do… whilesløjfer.

C ++ mens Loop

Sløjfens syntaks whileer:

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

Her,

  • En whileløkke evaluerercondition
  • Hvis det conditionevalueres til true, whileudføres koden inde i sløjfen.
  • Den conditionevalueres igen.
  • Denne proces fortsætter, indtil den conditioner false.
  • Når conditionevalueres til false, slutter sløjfen.

For at lære mere om dette conditions, besøg C ++ Relational and Logical Operators.

Flowchart af mens Loop

Flowchart of C ++ while loop

Eksempel 1: Vis numre fra 1 til 5

 // 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; )

Produktion

 1 2 3 4 5

Sådan fungerer programmet.

Iteration Variabel jeg <= 5 Handling
1. i = 1 true 1 udskrives og iøges til 2.
2. plads i = 2 true 2 udskrives og iøges til 3.
3. i = 3 true 3 udskrives og iøges til4
4. plads i = 4 true 4 udskrives og iøges til 5.
5. plads i = 5 true 5 udskrives og iøges til 6.
6. i = 6 false Sløjfen er afsluttet

Eksempel 2: Kun summen af ​​positive tal

 // 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; )

Produktion

 Indtast et nummer: 6 Indtast et nummer: 12 Indtast et nummer: 7 Indtast et nummer: 0 Indtast et nummer: -2 Summen er 25

I dette program bliver brugeren bedt om at indtaste et nummer, der er gemt i det variable nummer.

For at gemme summen af ​​numrene erklærer vi en variabel sum og initialiserer den til værdien af 0.

Den whileløkke fortsætter, indtil brugeren indtaster et negativt tal. Under hver iteration føjes det antal, der er indtastet af brugeren, til sumvariablen.

Når brugeren indtaster et negativt tal, afsluttes sløjfen. Endelig vises den samlede sum.

C ++ gør… mens Loop

Den do… whileløkke er en variant af whileløkken med en vigtig forskel: kroppen af do… whileløkken udføres én gang, før den conditioner markeret.

Dens syntaks er:

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

Her,

  • Sløjfens krop udføres først. Derefter conditionevalueres den.
  • Hvis det conditionvurderes til true, doudføres sløjfens krop inde i udsagnet igen.
  • Den conditionevalueres igen.
  • Hvis det conditionvurderes til true, doudføres sløjfens krop inde i udsagnet igen.
  • Denne proces fortsætter indtil conditionevalueringen til false. Så stopper løkken.

Flowchart of do … while Loop

Flowchart of C ++ do… while loop

Eksempel 3: Vis numre fra 1 til 5

 // 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; )

Produktion

 1 2 3 4 5

Sådan fungerer programmet.

Iteration Variabel jeg <= 5 Handling
i = 1 ikke markeret 1 udskrives og iøges til 2
1. i = 2 true 2 udskrives og iøges til 3
2. plads i = 3 true 3 udskrives og iøges til 4
3. i = 4 true 4 udskrives og iøges til 5
4. plads i = 5 true 5 udskrives og iøges til 6
5. plads i = 6 false Sløjfen er afsluttet

Eksempel 4: Kun summen af ​​positive tal

 // 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; )

Udgang 1

 Indtast et nummer: 6 Indtast et nummer: 12 Indtast et nummer: 7 Indtast et nummer: 0 Indtast et nummer: -2 Summen er 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.

Imidlertid whileog do… whilesløjfer anvendes sædvanligvis, når antallet af iterationer er ukendt. For eksempel,

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

Se disse eksempler for at lære mere:

  • C ++ - program til visning af Fibonacci-serien
  • C ++ - program til at finde GCD
  • C ++ - program til at finde LCM

Interessante artikler...