Ebben az oktatóanyagban néhány példa segítségével megtanuljuk a while és do… while használatát a C ++ programozásban.
A számítógépes programozás során a ciklusokat egy kódblokk megismétlésére használják.
Tegyük fel például, hogy 100-szor szeretnénk üzenetet mutatni. Aztán ahelyett, hogy a nyomtatási utasítást 100-szor írnánk, használhatunk egy ciklust.
Ez csak egy egyszerű példa volt; a ciklusok hatékony felhasználásával sokkal nagyobb hatékonyságot és kifinomultságot érhetünk el programjainkban.
A C ++ rendszerben 3 típusú hurok létezik.
for
hurokwhile
hurokdo… while
hurok
Az előző oktatóanyagban megismertük a C ++ for ciklust. Itt fogunk tanulni while
és do… while
hurkok.
C ++, míg a hurok
A while
hurok szintaxisa :
while (condition) ( // body of the loop )
Itt,
- Egy
while
hurok értékeli acondition
- Ha
condition
kiértékelitrue
, awhile
ciklus belsejében lévő kód végrehajtásra kerül. - A
condition
értékeljük újra. - Ez a folyamat addig folytatódik, amíg a
condition
vanfalse
. - A
condition
kiértékeléskorfalse
a hurok véget ér.
Ha többet szeretne megtudni erről conditions
, keresse fel a C ++ relációs és logikai operátorokat.
A Hurok folyamatábrája

1. példa: Számok megjelenítése 1-től 5-ig
// 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; )
Kimenet
1 2 3 4 5
Így működik a program.
Ismétlés | Változó | i <= 5 | Akció |
---|---|---|---|
1 | i = 1 | true | Az 1-et kinyomtatják és i a méretre növelik 2 . |
2. | i = 2 | true | A 2. ábra kinyomtatva, és i a méretre nő 3 . |
3 | i = 3 | true | A 3 kinyomtatva van, és i megnövekszik4 |
4 | i = 4 | true | A 4-et kinyomtatják, és i a méretre növelik 5 . |
5. | i = 5 | true | Az 5. ábra kinyomtatva van, és i megnövekszik 6 . |
6. | i = 6 | false | A hurok megszűnik |
2. példa: Csak a pozitív számok összege
// 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; )
Kimenet
Írjon be egy számot: 6 Írjon be egy számot: 12 Írjon be egy számot: 7 Írjon be egy számot: 0 Írjon be egy számot: -2 Az összeg 25
Ebben a programban a felhasználót arra kéri, hogy adjon meg egy számot, amelyet a változó száma tárol.
A számok összegének tárolásához deklarálunk egy változó összeget, és inicializáljuk azt az értékre 0
.
A while
hurok addig folytatódik, amíg a felhasználó negatív számot nem ír be. Minden iteráció során a felhasználó által megadott szám hozzáadódik az összegváltozóhoz.
Amikor a felhasználó negatív számot ír be, a hurok véget ér. Végül megjelenik a teljes összeg.
C ++ csinál … miközben hurok
A do… while
hurok a hurok egy változata, while
amelynek egyetlen fontos különbsége van: a do… while
hurok törzse egyszer végrehajtásra kerül, mielőtt a ciklust condition
ellenőriznék.
Szintaxisa:
do ( // body of loop; ) while (condition);
Itt,
- A hurok testét először végrehajtják. Ezután a
condition
kiértékelődik. - Ha az értéket a (z)
condition
értékre értékelitrue
, akkor azdo
utasítás belsejében lévő hurok törzse újra végrehajtásra kerül. - Az értéket
condition
még egyszer kiértékelik. - Ha az értéket a (z)
condition
értékre értékelitrue
, akkor azdo
utasítás belsejében lévő hurok törzse újra végrehajtásra kerül. - Ez a folyamat addig tart, amíg ki nem
condition
értékelifalse
. Ezután a hurok leáll.
A do folyamatábrája … míg a hurok

3. példa: Számok megjelenítése 1-től 5-ig
// 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; )
Kimenet
1 2 3 4 5
Így működik a program.
Ismétlés | Változó | i <= 5 | Akció |
---|---|---|---|
i = 1 | nem ellenőrzött | Az 1 kinyomtatva i 2-re nő |
|
1 | i = 2 | true | A 2 kinyomtatva i 3-ra nő |
2. | i = 3 | true | A 3 kinyomtatva i 4-re nő |
3 | i = 4 | true | A 4-et kinyomtatják és i 5-re növelik |
4 | i = 5 | true | Az 5-et kinyomtatják és 6-rai növelik |
5. | i = 6 | false | A hurok megszűnik |
4. példa: Csak a pozitív számok összege
// 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. kimenet
Írjon be egy számot: 6 Írjon be egy számot: 12 Írjon be egy számot: 7 Írjon be egy számot: 0 Írjon be egy számot: -2 Az összeg 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.
Azonban while
és do… while
hurkokat általában használják, amikor az ismétlések számát ismeretlen. Például,
while (condition) ( // body of the loop )
Nézze meg ezeket a példákat további információkért:
- C ++ program a Fibonacci sorozat megjelenítésére
- C ++ program a GCD megkeresésére
- C ++ program az LCM megtalálásához