V tomto tutoriáli sa pomocou niektorých príkladov naučíme používanie cyklov while a do … while v programovaní v C ++.
V počítačovom programovaní sa slučky používajú na opakovanie bloku kódu.
Povedzme napríklad, že chceme zobraziť správu 100-krát. Potom namiesto toho, aby sme tlačené vyhlásenie napísali stokrát, môžeme použiť slučku.
Bol to iba jednoduchý príklad; môžeme efektívnejšie využívať slučky dosiahnuť oveľa vyššiu efektivitu a sofistikovanosť našich programov.
V C ++ existujú 3 typy slučiek.
forslučkawhileslučkado… whileslučka
V predchádzajúcom tutoriáli sme sa dozvedeli o cykle C ++ for. Tu sa budeme učiť whilea robiť do… whileslučky.
C ++ while Loop
Syntax whileslučky je:
while (condition) ( // body of the loop )
Tu,
whileslučka hodnotícondition- Ak sa
conditionvyhodnotítrue,whilevykoná sa kód vo vnútri slučky. conditionJe opäť vyhodnotený.- Tento proces pokračuje, kým nie
conditionjefalse. - Keď sa
conditionvyhodnotífalse, slučka sa ukončí.
Ak sa chcete dozvedieť viac informácií o tejto conditionstéme, navštívte C ++ relačné a logické operátory.
Vývojový diagram while Loop
Vývojový diagram cyklu C ++ while
Príklad 1: Zobrazenie čísel od 1 do 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; )
Výkon
1 2 3 4 5
Program funguje takto.
| Iterácia | Variabilné | i <= 5 | Akcia |
|---|---|---|---|
| 1 | i = 1 | true | 1 je vytlačený a ije zväčšený na 2. |
| 2 | i = 2 | true | 2 je vytlačený a ije zväčšený na 3. |
| 3 | i = 3 | true | 3 je vytlačený a ije zväčšený na4 |
| 4 | i = 4 | true | 4 je vytlačený a ije zväčšený na 5. |
| 5 | i = 5 | true | 5 je vytlačený a ije zväčšený na 6. |
| 6. | i = 6 | false | Slučka je ukončená |
Príklad 2: Súčet iba kladných čísel
// 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; )
Výkon
Zadajte číslo: 6 Zadajte číslo: 12 Zadajte číslo: 7 Zadajte číslo: 0 Zadajte číslo: -2 Súčet je 25
V tomto programe je používateľ vyzvaný na zadanie čísla, ktoré je uložené v premennej number.
Aby sme uložili súčet čísel, deklarujeme premenný súčet a inicializujeme ho na hodnotu 0.
whileSlučka pokračuje, kým používateľ zadá číslo negatívny. Počas každej iterácie sa do premennej súčet pripočíta číslo zadané používateľom.
Keď užívateľ zadá záporné číslo, slučka sa ukončí. Nakoniec sa zobrazí celková suma.
C ++ robiť … zatiaľ čo Loop
do… whileSlučka je variant whileslučku s jedným dôležitým rozdielom: telo do… whileslučky je vykonaný raz pred tým, než conditionsa kontroluje.
Jeho syntax je:
do ( // body of loop; ) while (condition);
Tu,
- Najskôr sa vykoná telo slučky. Potom
conditionsa vyhodnotí. - Ak sa
conditionvyhodnotí akotrue, telo slučky vo vnútridopríkazu sa vykoná znova. conditionJe hodnotená ešte raz.- Ak sa
conditionvyhodnotí akotrue, telo slučky vo vnútridopríkazu sa vykoná znova. - Tento proces pokračuje, kým
conditionvyhodnotenie nebudefalse. Potom sa slučka zastaví.
Vývojový diagram úloh … zatiaľ čo slučka
Vývojový diagram C ++ cyklu … while
Príklad 3: Zobrazenie čísel od 1 do 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; )
Výkon
1 2 3 4 5
Program funguje takto.
| Iterácia | Variabilné | i <= 5 | Akcia |
|---|---|---|---|
i = 1 | nekontrolované | 1 sa vytlačí a izvýši sa na 2 |
|
| 1 | i = 2 | true | 2 je vytlačený a ije zväčšený na 3 |
| 2 | i = 3 | true | 3 je vytlačený a ije zväčšený na 4 |
| 3 | i = 4 | true | 4 je vytlačený a ije zväčšený na 5 |
| 4 | i = 5 | true | 5 je vytlačený a ije zvýšený na 6 |
| 5 | i = 6 | false | Slučka je ukončená |
Príklad 4: Súčet iba kladných čísel
// 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; )
Výstup 1
Zadajte číslo: 6 Zadajte číslo: 12 Zadajte číslo: 7 Zadajte číslo: 0 Zadajte číslo: -2 Súčet je 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.
Smyčky whilea do… whilesa však zvyčajne používajú, keď nie je známy počet iterácií. Napríklad,
while (condition) ( // body of the loop )
Ak sa chcete dozvedieť viac, pozrite si tieto príklady:
- Program C ++ na zobrazenie série Fibonacci
- Program C ++ na vyhľadanie GCD
- Program C ++ na vyhľadanie LCM








