C ++ while and do ... míg hurok (példákkal)

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.

  1. for hurok
  2. while hurok
  3. do… while hurok

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ékeli true, a whileciklus 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 conditionvan false.
  • A conditionkiértékeléskor falsea 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ékeli true, akkor az doutasí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ékeli true, akkor az doutasí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ékeli false. 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

érdekes cikkek...