V tej vadnici se bomo s pomočjo nekaterih primerov naučili uporabe zank while in do … while v programiranju na C ++.
Pri računalniškem programiranju se zanke uporabljajo za ponovitev bloka kode.
Recimo na primer, da želimo sporočilo prikazati 100-krat. Nato lahko namesto pisanja izjave 100-krat napišemo zanko.
To je bil le preprost primer; z učinkovito uporabo zank lahko dosežemo veliko večjo učinkovitost in prefinjenost naših programov.
V jeziku C ++ obstajajo 3 vrste zank.
forzankowhilezankodo… whilezanko
V prejšnji vadnici smo spoznali zanko C ++ for. Tu se bomo naučili whilein do… whilezanke.
C ++, medtem ko Loop
Sintaksa whilezanke je:
while (condition) ( // body of the loop )
Tukaj,
whileZanka ovrednoticondition- Če
conditionoceni natrue, se izvede koda znotrajwhilezanke. - Ponovno
conditionse oceni. - Ta postopek se nadaljuje, dokler
conditionnifalse. - Ko
conditionoceni nafalse, se zanka konča.
Če želite izvedeti več o tem conditions, obiščite relacijski in logični operaterji C ++.
Diagram poteka zanke while
Diagram poteka zanke C ++ while
Primer 1: Prikaži številke 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; )
Izhod
1 2 3 4 5
Tukaj je, kako program deluje.
| Ponavljanje | Spremenljiv | i <= 5 | Ukrepanje |
|---|---|---|---|
| 1. | i = 1 | true | 1 se natisne in ipoveča na 2. |
| 2. | i = 2 | true | 2 se natisne in ipoveča na 3. |
| 3. | i = 3 | true | 3 se natisne in ipoveča na4 |
| 4. | i = 4 | true | 4 se natisne in ipoveča na 5. |
| 5. | i = 5 | true | 5 se natisne in ipoveča na 6. |
| 6. | i = 6 | false | Zanka je prekinjena |
Primer 2: Vsota samo pozitivnih števil
// 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; )
Izhod
Vnesite številko: 6 Vnesite številko: 12 Vnesite številko: 7 Vnesite številko: 0 Vnesite številko: -2 Vsota je 25
V tem programu je uporabnik pozvan, da vnese številko, ki je shranjena v spremenljivki številka.
Da bi shranili vsoto števil, razglasimo spremenljivko vsota in jo inicializiramo na vrednost 0.
whileZanka se nadaljuje, dokler uporabnik ne vnese z negativnim predznakom. Med vsako ponovitvijo se številki, ki jo vnese uporabnik, doda spremenljivka vsote.
Ko uporabnik vnese negativno število, se zanka konča. Na koncu se prikaže skupna vsota.
C ++ do… medtem ko Loop
do… whileZanka je varianta whilezanke z eno pomembno razliko: telo do… whilezanke izvede enkrat, preden conditionse preveri.
Njegova sintaksa je:
do ( // body of loop; ) while (condition);
Tukaj,
- Telo zanke se najprej izvede. Nato
conditionse ovrednoti. - Če
conditionoceni natrue, se telo zanke znotrajdostavka znova izvede. - Ponovno
conditionse oceni. - Če
conditionoceni natrue, se telo zanke znotrajdostavka znova izvede. - Ta postopek se nadaljuje, dokler ne
conditionoceni dofalse. Nato se zanka ustavi.
Diagram poteka do … while Loop
Diagram poteka v zanki C ++ do… while
Primer 3: Prikaz številk 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; )
Izhod
1 2 3 4 5
Tukaj je, kako program deluje.
| Ponavljanje | Spremenljiv | i <= 5 | Ukrepanje |
|---|---|---|---|
i = 1 | ni preverjeno | 1 se natisne in ipoveča na 2 |
|
| 1. | i = 2 | true | 2 se natisne in ipoveča na 3 |
| 2. | i = 3 | true | 3 se natisne in ipoveča na 4 |
| 3. | i = 4 | true | 4 se natisne in ipoveča na 5 |
| 4. | i = 5 | true | 5 se natisne in ipoveča na 6 |
| 5. | i = 6 | false | Zanka je prekinjena |
Primer 4: Vsota samo pozitivnih števil
// 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; )
Izhod 1
Vnesite številko: 6 Vnesite številko: 12 Vnesite številko: 7 Vnesite številko: 0 Vnesite številko: -2 Vsota 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.
Vendar, whilein do… whilezanke se običajno uporablja, ko je število iteracij neznano. Na primer
while (condition) ( // body of the loop )
Oglejte si te primere, če želite izvedeti več:
- Program C ++ za prikaz Fibonaccijevih serij
- Program C ++ za iskanje GCD
- Program C ++ za iskanje LCM








