I denne opplæringen lærer vi bruken av mens og gjør… mens sløyfer i C ++ programmering ved hjelp av noen eksempler.
I dataprogrammering brukes sløyfer til å gjenta en blokk med kode.
La oss for eksempel si at vi vil vise en melding 100 ganger. Så i stedet for å skrive utskriftsuttalelsen 100 ganger, kan vi bruke en løkke.
Det var bare et enkelt eksempel; vi kan oppnå mye mer effektivitet og raffinement i programmene våre ved å bruke løkker effektivt.
Det er 3 typer løkker i C ++.
forLøkkewhileLøkkedo… whileLøkke
I forrige opplæring lærte vi om C ++ for loop. Her skal vi lære om whileog do… whileløkker.
C ++ mens Loop
Syntaksen til whilesløyfen er:
while (condition) ( // body of the loop )
Her,
- En
whileløkke evaluerercondition - Hvis det
conditionevalueres tiltrue, blir koden iwhilesløyfen utført. - Den
conditionblir evaluert på nytt. - Denne prosessen fortsetter til den
conditionerfalse. - Når
conditionevaluerer tilfalse, avsluttes sløyfen.
For å lære mer om dette conditions, besøk C ++ Relational and Logical Operators.
Flytskjema for mens Loop
Flytskjema for C ++ mens sløyfe
Eksempel 1: Vis tall 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; )
Produksjon
1 2 3 4 5
Slik fungerer programmet.
| Iterasjon | Variabel | jeg <= 5 | Handling |
|---|---|---|---|
| Første | i = 1 | true | 1 skrives ut og iøkes til 2. |
| 2. plass | i = 2 | true | 2 skrives ut og iøkes til 3. |
| 3. | i = 3 | true | 3 er trykt og iøkes til4 |
| 4. plass | i = 4 | true | 4 er trykt og iøkes til 5. |
| 5. | i = 5 | true | 5 er trykt og iøkes til 6. |
| Sjette | i = 6 | false | Sløyfen er avsluttet |
Eksempel 2: Bare summen av positive tall
// 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; )
Produksjon
Tast inn et tall: 6 Tast inn et tall: 12 Tast inn et tall: 7 Tast inn et tall: 0 Tast inn et tall: -2 Summen er 25
I dette programmet blir brukeren bedt om å angi et nummer som er lagret i det variable nummeret.
For å lagre summen av tallene, erklærer vi en variabel sum og initialiserer den til verdien av 0.
Den whilesløyfen fortsetter inntil brukeren angir et negativt tall. Under hver iterasjon blir nummeret som er angitt av brukeren lagt til sumvariabelen.
Når brukeren skriver inn et negativt tall, avsluttes sløyfen. Til slutt vises totalsummen.
C ++ gjør … mens Loop
Den do… whilesløyfe er en variant av den whilesløyfe med en viktig forskjell: hoveddelen av do… whilesløyfen blir utført en gang før den conditionblir kontrollert.
Dens syntaks er:
do ( // body of loop; ) while (condition);
Her,
- Sløyfens kropp utføres først. Deretter
conditionblir det evaluert. - Hvis det
conditionevalueres tiltrue, blir kroppen av løkken inne idouttalelsen utført på nytt. - Det
conditionblir evaluert igjen. - Hvis det
conditionevalueres tiltrue, blir kroppen av løkken inne idouttalelsen utført på nytt. - Denne prosessen fortsetter til
conditionevalueringen tilfalse. Så stopper løkken.
Flytskjema over gjør… mens Loop
Flytskjema for C ++ gjør… mens sløyfe
Eksempel 3: Vis tall 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; )
Produksjon
1 2 3 4 5
Slik fungerer programmet.
| Iterasjon | Variabel | jeg <= 5 | Handling |
|---|---|---|---|
i = 1 | ikke sjekket | 1 skrives ut og iøkes til 2 |
|
| Første | i = 2 | true | 2 skrives ut og iøkes til 3 |
| 2. plass | i = 3 | true | 3 er trykt og iøkes til 4 |
| 3. | i = 4 | true | 4 er trykt og iøkes til 5 |
| 4. plass | i = 5 | true | 5 er trykt og iøkes til 6 |
| 5. | i = 6 | false | Sløyfen er avsluttet |
Eksempel 4: Bare summen av positive tall
// 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; )
Utgang 1
Tast inn et tall: 6 Tast inn et tall: 12 Tast inn et tall: 7 Tast inn et tall: 0 Tast inn et tall: -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… whileløkkene blir vanligvis brukt når antall iterasjoner er ikke kjent. For eksempel,
while (condition) ( // body of the loop )
Ta en titt på disse eksemplene for å lære mer:
- C ++ Program for å vise Fibonacci-serien
- C ++ Program for å finne GCD
- C ++ Program for å finne LCM








