Selles õpetuses õpime näidete abil jätkamise avaldust ja selle töötamist silmustega.
Arvuti programmeerimisel kasutatakse continuelauset tsükli praeguse iteratsiooni vahele jätmiseks ja programmi juhtimine läheb järgmisele iteratsioonile.
Avalduse süntaks continueon:
continue;
Enne jätkamisavalduse tundmaõppimist veenduge, et teaksite,
- C ++ silmuse jaoks
- C ++, kui … muidu
- C ++ silmuse ajal
C ++ jätkamise avalduse töö
Jätkamise avalduse töötamine C ++ keeles
Näide 1: jätkake silmusega
Ühes forloop, continueignoreerib praegune iteratsiooni ja kontrolli voolu hüppab updateekspressiooni.
// program to print the value of i #include using namespace std; int main() ( for (int i = 1; i <= 5; i++) ( // condition to continue if (i == 3) ( continue; ) cout << i << endl; ) return 0; )
Väljund
1 2 4 5
Ülaltoodud programmis oleme forsilmusega kasutanud i iteratsiooni i väärtuse printimiseks. Pange tähele koodi,
if (i == 3) ( continue; )
See tähendab
- Kui i on võrdne
3,continuejätab lause praeguse iteratsiooni vahele ja alustab järgmist iteratsiooni - Seejärel i muutub
4, jaconditionhinnatakse uuesti. - Seega
4ja5trükitakse kahes järgmises korduses.
Märkus : continueavaldust kasutatakse peaaegu alati koos otsuste tegemise avaldustega.
Märkus . breakAvaldus lõpetab tsükli täielikult. Kuid continueavaldus jätab praeguse iteratsiooni ainult vahele.
Näide 2: jätkake silmusega
Ühes whileloop, continueignoreerib praegune iteratsiooni ja kontrolli programmi kulgu siirdub tagasi while condition.
// program to calculate positive numbers till 50 only // if the user enters a negative number, // that number is skipped from the calculation // negative number -> loop terminate // numbers above 50 -> skip iteration #include using namespace std; int main() ( int sum = 0; int number = 0; while (number>= 0) ( // add all positive numbers sum += number; // take input from the user cout <> number; // continue condition if (number> 50) ( cout << "The number is greater than 50 and won't be calculated." << endl; number = 0; // the value of number is made 0 again continue; ) ) // display the sum cout << "The sum is " << sum << endl; return 0; )
Väljund
Sisestage number: 12 Sisestage number: 0 Sisestage number: 2 Sisestage number: 30 Sisestage number: 50 Sisestage number: 56 Number on suurem kui 50 ja seda ei arvutata. Sisestage number: 5 Sisestage number: -3 Summa on 99
Ülaltoodud programmis sisestab kasutaja numbri. whileLoop kasutatakse prindi kogusummas positiivsed arvud kasutaja poolt sisestatud, niikaua kantud numbrit ei ületa 50.
Pange tähele continuelause kasutamist.
if (number> 50)( continue; )
- Kui kasutaja sisestab suurema arvu kui
50,continuejätab lause praeguse iteratsiooni vahele. Siis kontrolli programmi kulgu lähebconditionofwhileloop. - Kui kasutaja sisestab numbri, mis on väiksem kui
0, lõpetatakse silmus.
Märkus . continueAvaldus töötab samamoodi do… whilesilmuste puhul.
jätkake sisestatud silmusega
Kui continueseda kasutatakse pesastatud silmustega, jätab see sisemise silmuse praeguse iteratsiooni vahele. Näiteks,
// using continue statement inside // nested for loop #include using namespace std; int main() ( int number; int sum = 0; // nested for loops // first loop for (int i = 1; i <= 3; i++) ( // second loop for (int j = 1; j <= 3; j++) ( if (j == 2) ( continue; ) cout << "i = " << i << ", j = " << j << endl; ) ) return 0; )
Väljund
i = 1, j = 1 i = 1, j = 3 i = 2, j = 1 i = 2, j = 3 i = 3, j = 1 i = 3, j = 3
Ülaltoodud programmis continuejätab lause täitmisel vahele sisemise silmuse praeguse iteratsiooni. Ja programmi juhtimine liigub sisemise silmuse värskendusavaldusele .
Seega ei kuvata väljundis kunagi väärtust j = 2.








