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.
forhurokwhilehurokdo… whilehurok
Az előző oktatóanyagban megismertük a C ++ for ciklust. Itt fogunk tanulni whileés do… whilehurkok.
C ++, míg a hurok
A whilehurok szintaxisa :
while (condition) ( // body of the loop )
Itt,
- Egy
whilehurok értékeli acondition - Ha
conditionkiértékelitrue, awhileciklus 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
conditionvanfalse. - A
conditionkiértékeléskorfalsea 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
A C ++ while loop folyamatábra
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 ia méretre növelik 2. |
| 2. | i = 2 | true | A 2. ábra kinyomtatva, és ia méretre nő 3. |
| 3 | i = 3 | true | A 3 kinyomtatva van, és imegnövekszik4 |
| 4 | i = 4 | true | A 4-et kinyomtatják, és ia méretre növelik 5. |
| 5. | i = 5 | true | Az 5. ábra kinyomtatva van, és imegnö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 whilehurok 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… whilehurok a hurok egy változata, whileamelynek egyetlen fontos különbsége van: a do… whilehurok törzse egyszer végrehajtásra kerül, mielőtt a ciklust conditionellenőriznék.
Szintaxisa:
do ( // body of loop; ) while (condition);
Itt,
- A hurok testét először végrehajtják. Ezután a
conditionkiértékelődik. - Ha az értéket a (z)
conditionértékre értékelitrue, akkor azdoutasítás belsejében lévő hurok törzse újra végrehajtásra kerül. - Az értéket
conditionmég egyszer kiértékelik. - Ha az értéket a (z)
conditionértékre értékelitrue, akkor azdoutasí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
A C ++ folyamatábrája do… while ciklus
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 i2-re nő |
|
| 1 | i = 2 | true | A 2 kinyomtatva i3-ra nő |
| 2. | i = 3 | true | A 3 kinyomtatva i4-re nő |
| 3 | i = 4 | true | A 4-et kinyomtatják és i5-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… whilehurkokat á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








