Šajā apmācībā mēs uzzināsim, kā izmantot un darīt … kamēr cilpas C ++ programmēšanā, izmantojot dažus piemērus.
Datorprogrammēšanā tiek izmantotas cilpas, lai atkārtotu koda bloku.
Piemēram, pieņemsim, ka mēs vēlamies parādīt ziņojumu 100 reizes. Tad tā vietā, lai 100 reizes rakstītu drukas paziņojumu, mēs varam izmantot cilpu.
Tas bija tikai vienkāršs piemērs; mēs varam panākt daudz lielāku efektivitāti un izsmalcinātību savās programmās, efektīvi izmantojot cilpas.
C ++ ir 3 veidu cilpas.
for
cilpawhile
cilpado… while
cilpa
Iepriekšējā apmācībā mēs uzzinājām par C ++ for loop. Šeit mēs uzzināsim par while
un do… while
cilpām.
C ++, kamēr cilpa
while
Cilpas sintakse ir šāda:
while (condition) ( // body of the loop )
Šeit,
while
Cilpa tiek novērtētacondition
- Ja
condition
novērtē līdztrue
,while
tiek izpildīts kods cilpas iekšpusē . condition
Tiek novērtēta atkārtoti.- Šis process turpinās līdz brīdim, kad
condition
irfalse
. - Kad
condition
novērtē līdzfalse
, cilpa tiek pārtraukta.
Lai uzzinātu vairāk par vietni conditions
, apmeklējiet C ++ relāciju un loģisko operatoru vietni.
Bloka diagramma, kamēr cilpa
C ++ blokshēma, kamēr cilpa1. piemērs: attēlot skaitļus no 1 līdz 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; )
Rezultāts
1 2 3 4 5
Programma darbojas šādi.
Atkārtojums | Mainīgs | i <= 5 | Darbība |
---|---|---|---|
1 | i = 1 | true | 1 ir iespiests un i tiek palielināts līdz 2 . |
2 | i = 2 | true | 2 ir iespiests un i tiek palielināts līdz 3 . |
3 | i = 3 | true | 3 ir iespiests un i tiek palielināts līdz4 |
4 | i = 4 | true | 4 ir iespiests un i tiek palielināts līdz 5 . |
5 | i = 5 | true | 5 ir iespiests un i tiek palielināts līdz 6 . |
6 | i = 6 | false | Cilpa ir pārtraukta |
2. piemērs: tikai pozitīvo skaitļu summa
// 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; )
Rezultāts
Ievadiet numuru: 6 Ievadiet numuru: 12 Ievadiet numuru: 7 Ievadiet numuru: 0 Ievadiet numuru: -2 Summa ir 25
Šajā programmā lietotājam tiek piedāvāts ievadīt numuru, kas tiek saglabāts mainīgā skaitā.
Lai saglabātu skaitļu summu, mēs deklarējam mainīgu summu un inicializējam to līdz vērtībai 0
.
while
Cilpa turpinās līdz brīdim, kad lietotājs ievada negatīvu skaitli. Katras iterācijas laikā lietotāja ievadītais skaitlis tiek pievienots mainīgajam summai.
Kad lietotājs ievada negatīvu skaitli, cilpa tiek pārtraukta. Visbeidzot tiek parādīta kopējā summa.
C ++ darīt … kamēr cilpa
do… while
Cilpa ir variants no while
cilpas ar vienu svarīgu atšķirību: ķermeņa do… while
cilpas tiek izpildīts, kad pirms condition
tiek pārbaudīta.
Tās sintakse ir:
do ( // body of loop; ) while (condition);
Šeit,
- Sākumā tiek izpildīts cilpas korpuss. Tad
condition
tiek novērtēts. - Ja
condition
novērtē uztrue
,do
paziņojuma iekšpusē esošās cilpas ķermenis tiek izpildīts vēlreiz. condition
Tiek vērtēta vēlreiz.- Ja
condition
novērtē uztrue
,do
paziņojuma iekšpusē esošās cilpas ķermenis tiek izpildīts vēlreiz. - Šis process turpinās, līdz
condition
novērtēfalse
. Tad cilpa apstājas.
Plāna do… kamēr cikls
C ++ blokshēma do… while loop3. piemērs: attēlot skaitļus no 1 līdz 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; )
Rezultāts
1 2 3 4 5
Programma darbojas šādi.
Atkārtojums | Mainīgs | i <= 5 | Darbība |
---|---|---|---|
i = 1 | nav pārbaudīts | 1 tiek izdrukāts un i tiek palielināts līdz 2 |
|
1 | i = 2 | true | 2 tiek izdrukāts un i tiek palielināts līdz 3 |
2 | i = 3 | true | 3 tiek izdrukāts un i tiek palielināts līdz 4 |
3 | i = 4 | true | 4 ir iespiests un i tiek palielināts līdz 5 |
4 | i = 5 | true | 5 tiek izdrukāts un i tiek palielināts līdz 6 |
5 | i = 6 | false | Cilpa ir pārtraukta |
4. piemērs: tikai pozitīvo skaitļu summa
// 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. izeja
Ievadiet numuru: 6 Ievadiet numuru: 12 Ievadiet numuru: 7 Ievadiet numuru: 0 Ievadiet numuru: -2 Summa ir 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.
Tomēr while
un do… while
cilpas parasti lieto, ja iterāciju skaits nav zināms. Piemēram,
while (condition) ( // body of the loop )
Pārbaudiet šos piemērus, lai uzzinātu vairāk:
- C ++ programma Fibonacci sērijas parādīšanai
- C ++ programma GCD atrašanai
- C ++ programma LCM atrašanai