Selles õpetuses õpime mõnede näidete abil C ++ programmeerimise silmuste kasutamist.
Arvuti programmeerimisel kasutatakse tsükleid koodiploki kordamiseks.
Oletame näiteks, et tahame 100 korda sõnumit näidata. Siis saame printimisavalduse 100-kordse kirjutamise asemel kasutada silmust.
See oli lihtsalt lihtne näide; silmuseid tõhusalt kasutades saame oma programmides saavutada palju suurema tõhususe ja keerukuse.
C ++ -s on 3 tüüpi silmuseid.
forsilmuswhilesilmusdo… whilesilmus
Eelmises õpetuses õppisime C ++ for loopi kohta. Siit saame teada whileja tutvuda do… while.
C ++, samas kui aas
whileSilmuse süntaks on:
while (condition) ( // body of the loop )
Siin,
whileLoop hindabcondition- Kui
conditionhindabtrue,whilekäivitatakse tsükli sees olev kood . conditionHinnatakse uuesti.- See protsess kestab seni, kuni
conditiononfalse. - Kui
conditionhindab kunifalse, lõpeb silmus.
Selle kohta lisateabe saamiseks conditionskülastage veebisaiti C ++ suhte- ja loogikaoperaatorid.
Loopi voo diagramm
C ++ voo diagramm silmuse ajal
Näide 1: kuvage numbrid vahemikus 1 kuni 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äljund
1 2 3 4 5
Siit saate teada, kuidas programm töötab.
| Kordus | Muutuv | i <= 5 | Tegevus |
|---|---|---|---|
| 1. | i = 1 | true | 1 trükitakse ja isuurendatakse väärtuseni 2. |
| 2 | i = 2 | true | 2 trükitakse ja isuurendatakse väärtuseni 3. |
| 3 | i = 3 | true | 3 trükitakse ja isuurendatakse väärtuseni4 |
| 4 | i = 4 | true | 4 trükitakse ja isuurendatakse väärtuseni 5. |
| 5 | i = 5 | true | 5 trükitakse ja isuurendatakse väärtuseni 6. |
| 6 | i = 6 | false | Silmus on lõpetatud |
Näide 2: ainult positiivsete arvude 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; )
Väljund
Sisestage number: 6 Sisestage number: 12 Sisestage number: 7 Sisestage number: 0 Sisestage number: -2 Summa on 25
Selles programmis palutakse kasutajal sisestada number, mis on salvestatud muutuja numbrisse.
Numbrite summa salvestamiseks deklareerime muutuja summa ja lähtestame selle väärtuseks 0.
whileLoop seni, kuni kasutaja sisestab negatiivse numbriga. Iga iteratsiooni ajal lisatakse summa muutujale kasutaja sisestatud number.
Kui kasutaja sisestab negatiivse arvu, lõpeb silmus. Lõpuks kuvatakse kogu summa.
C ++ teevad … aasaga
do… whileLoop on variant whileloop ühe erinevusega: keha do… whileloop täidetakse üks kord enne conditionkontrollitakse.
Selle süntaks on:
do ( // body of loop; ) while (condition);
Siin,
- Esmalt täidetakse silmuse keha. Siis
conditionhinnatakse. - Kui
conditionhindabtrue,dokäivitatakse lause sees olev silmusekeha uuesti. conditionHinnatakse taas.- Kui
conditionhindabtrue,dokäivitatakse lause sees olev silmusekeha uuesti. - See protsess kestab seni, kuni
conditionhindabfalse. Siis silmus peatub.
Voo diagramm teha … samal ajal Loop
C ++ vooskeem teeb … silmuse ajal
Näide 3: kuvage numbrid vahemikus 1 kuni 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äljund
1 2 3 4 5
Siit saate teada, kuidas programm töötab.
| Kordus | Muutuv | i <= 5 | Tegevus |
|---|---|---|---|
i = 1 | pole kontrollitud | 1 trükitakse ja isuurendatakse 2-ni |
|
| 1. | i = 2 | true | 2 trükitakse ja isuurendatakse 3-ni |
| 2 | i = 3 | true | 3 trükitakse ja isuurendatakse 4-ni |
| 3 | i = 4 | true | 4 trükitakse ja isuurendatakse 5-ni |
| 4 | i = 5 | true | 5 trükitakse ja isuurendatakse 6-ni |
| 5 | i = 6 | false | Silmus on lõpetatud |
Näide 4: ainult positiivsete arvude 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; )
Väljund 1
Sisestage number: 6 Sisestage number: 12 Sisestage number: 7 Sisestage number: 0 Sisestage number: -2 Summa on 25
Siin do… whilejätkub tsükkel seni, kuni kasutaja sisestab negatiivse arvu. Kui arv on negatiivne, lõpeb silmus; negatiivset arvu summuutujale ei lisata .
Väljund 2
Sisestage arv: -6 Summa on 0.
do… whileKui kasutaja sisestab negatiivse numbri, töötab silmuse keha ainult üks kord.
Lõputu, kui silmus
Kui conditionsilmuse a väärtus on alati true, kestab silmus lõpmatuseni (kuni mälu on täis). Näiteks,
// infinite while loop while(true) ( // body of the loop )
Siin on näide lõpmatust do… whilesilmusest.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
Ülaltoodud programmides conditionon alati true. Seega töötab silmuse keha lõpmatuid kordi.
for vs while silmuseid
forLoop kasutatakse tavaliselt siis, kui korduste arv on teada. Näiteks,
// This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )
Siin teame, et for-loop käivitatakse 5 korda.
Kuid whileja do… whilesilmad on tavaliselt kasutatakse, kui korduste arv on teadmata. Näiteks,
while (condition) ( // body of the loop )
Lisateabe saamiseks vaadake neid näiteid:
- C ++ programm Fibonacci seeria kuvamiseks
- C ++ programm GCD leidmiseks
- C ++ programm LCM leidmiseks








