Šioje pamokoje sužinosime, kaip naudoti „while“ ir „do … while“ ciklus programuojant C ++, naudodamiesi keliais pavyzdžiais.
Programuojant kompiuterį, ciklas naudojamas pakartoti kodo bloką.
Pavyzdžiui, tarkime, kad norime parodyti pranešimą 100 kartų. Tada užuot 100 kartų rašę spausdinimo ataskaitą, galime naudoti kilpą.
Tai buvo tik paprastas pavyzdys; mes galime pasiekti daug didesnį savo programų efektyvumą ir rafinuotumą, efektyviai išnaudodami kilpas.
C ++ yra 3 tipų kilpos.
for
kilpawhile
kilpado… while
kilpa
Ankstesnėje pamokoje sužinojome apie C ++ for loop. Čia mes sužinosime apie while
ir do… while
kilpas.
C ++, o ciklas
Kilpos sintaksė while
yra:
while (condition) ( // body of the loop )
Čia
while
Kilpa įvertinanticondition
- Jei
condition
įvertinstrue
,while
bus vykdomas ciklo viduje esantis kodas . condition
Vertinamas dar kartą.- Šis procesas tęsiasi tol, kol
condition
yrafalse
. - Kai
condition
įvertinafalse
, ciklas baigiasi.
Norėdami sužinoti daugiau apie conditions
, apsilankykite „C ++ Relational and Logical Operators“.
„Loop“ schema

1 pavyzdys: rodyti skaičius nuo 1 iki 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; )
Rezultatas
1 2 3 4 5
Štai kaip programa veikia.
Kartojimas | Kintamas | i <= 5 | Veiksmas |
---|---|---|---|
1-oji | i = 1 | true | 1 atspausdintas ir i padidintas iki 2 . |
2-oji | i = 2 | true | 2 atspausdintas ir i padidintas iki 3 . |
3 d | i = 3 | true | 3 atspausdintas ir i padidintas iki4 |
4-oji | i = 4 | true | 4 atspausdintas ir i padidintas iki 5 . |
5 d | i = 5 | true | 5 atspausdintas ir i padidintas iki 6 . |
6-oji | i = 6 | false | Kilpa nutraukiama |
2 pavyzdys: tik teigiamų skaičių suma
// 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; )
Rezultatas
Įveskite skaičių: 6 Įveskite numerį: 12 Įveskite numerį: 7 Įveskite skaičių: 0 Įveskite skaičių: -2 Suma yra 25
Šioje programoje vartotojas raginamas įvesti skaičių, kuris saugomas kintamajame numeryje.
Norėdami išsaugoti skaičių sumą, deklaruojame kintamą sumą ir inicijuojame ją iki vertės 0
.
while
Kilpa tęsiasi tol, kol vartotojas įveda neigiamas skaičius. Kiekvienos kartojimo metu vartotojo įvestas skaičius pridedamas prie sumos kintamojo.
Vartotojui įvedus neigiamą skaičių, kilpa nutrūksta. Galiausiai rodoma visa suma.
„C ++“ daro … o „Loop“
do… while
Kilpa yra variantas while
kilpa su vienu svarbiu skirtumu: kūno do… while
linijos yra įvykdytas, kai prieš condition
tai patikrinti.
Jo sintaksė yra:
do ( // body of loop; ) while (condition);
Čia
- Iš pradžių atliekamas kilpos kūnas. Tada
condition
įvertinama. - Jei
condition
vertinimas bustrue
,do
sakinio viduje esančios kilpos kūnas bus vykdomas dar kartą. condition
Vėl vertinamas.- Jei
condition
vertinimas bustrue
,do
sakinio viduje esančios kilpos kūnas bus vykdomas dar kartą. - Šis procesas tęsiasi tol, kol
condition
įvertinsfalse
. Tada kilpa sustoja.
„Do“, o ciklo, schema

3 pavyzdys: rodyti skaičius nuo 1 iki 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; )
Rezultatas
1 2 3 4 5
Štai kaip programa veikia.
Kartojimas | Kintamas | i <= 5 | Veiksmas |
---|---|---|---|
i = 1 | nepatikrinta | 1 atspausdintas ir i padidintas iki 2 |
|
1-oji | i = 2 | true | 2 atspausdintas ir i padidintas iki 3 |
2-oji | i = 3 | true | 3 atspausdintas ir i padidintas iki 4 |
3 d | i = 4 | true | 4 atspausdintas ir i padidintas iki 5 |
4-oji | i = 5 | true | 5 atspausdintas ir i padidintas iki 6 |
5 d | i = 6 | false | Kilpa nutraukiama |
4 pavyzdys: tik teigiamų skaičių suma
// 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; )
1 rezultatas
Įveskite skaičių: 6 Įveskite numerį: 12 Įveskite numerį: 7 Įveskite skaičių: 0 Įveskite skaičių: -2 Suma yra 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.
Tačiau while
ir do… while
kilpos dažniausiai naudojamos, kai nežinomas pakartojimų skaičius. Pavyzdžiui,
while (condition) ( // body of the loop )
Peržiūrėkite šiuos pavyzdžius, kad sužinotumėte daugiau:
- „C ++“ programa, rodanti „Fibonacci“ serijas
- C ++ programa, skirta rasti GCD
- C ++ programa, skirta rasti LCM