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.
for
silmuswhile
silmusdo… while
silmus
Eelmises õpetuses õppisime C ++ for loopi kohta. Siit saame teada while
ja tutvuda do… while
.
C ++, samas kui aas
while
Silmuse süntaks on:
while (condition) ( // body of the loop )
Siin,
while
Loop hindabcondition
- Kui
condition
hindabtrue
,while
käivitatakse tsükli sees olev kood . condition
Hinnatakse uuesti.- See protsess kestab seni, kuni
condition
onfalse
. - Kui
condition
hindab kunifalse
, lõpeb silmus.
Selle kohta lisateabe saamiseks conditions
külastage veebisaiti C ++ suhte- ja loogikaoperaatorid.
Loopi voo diagramm

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 i suurendatakse väärtuseni 2 . |
2 | i = 2 | true | 2 trükitakse ja i suurendatakse väärtuseni 3 . |
3 | i = 3 | true | 3 trükitakse ja i suurendatakse väärtuseni4 |
4 | i = 4 | true | 4 trükitakse ja i suurendatakse väärtuseni 5 . |
5 | i = 5 | true | 5 trükitakse ja i suurendatakse 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
.
while
Loop 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… while
Loop on variant while
loop ühe erinevusega: keha do… while
loop täidetakse üks kord enne condition
kontrollitakse.
Selle süntaks on:
do ( // body of loop; ) while (condition);
Siin,
- Esmalt täidetakse silmuse keha. Siis
condition
hinnatakse. - Kui
condition
hindabtrue
,do
käivitatakse lause sees olev silmusekeha uuesti. condition
Hinnatakse taas.- Kui
condition
hindabtrue
,do
käivitatakse lause sees olev silmusekeha uuesti. - See protsess kestab seni, kuni
condition
hindabfalse
. Siis silmus peatub.
Voo diagramm teha … samal ajal Loop

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 i suurendatakse 2-ni |
|
1. | i = 2 | true | 2 trükitakse ja i suurendatakse 3-ni |
2 | i = 3 | true | 3 trükitakse ja i suurendatakse 4-ni |
3 | i = 4 | true | 4 trükitakse ja i suurendatakse 5-ni |
4 | i = 5 | true | 5 trükitakse ja i suurendatakse 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… while
jätkub tsükkel seni, kuni kasutaja sisestab negatiivse arvu. Kui arv on negatiivne, lõpeb silmus; negatiivset arvu sum
muutujale ei lisata .
Väljund 2
Sisestage arv: -6 Summa on 0.
do… while
Kui kasutaja sisestab negatiivse numbri, töötab silmuse keha ainult üks kord.
Lõputu, kui silmus
Kui condition
silmuse 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… while
silmusest.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
Ülaltoodud programmides condition
on alati true
. Seega töötab silmuse keha lõpmatuid kordi.
for vs while silmuseid
for
Loop 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 while
ja do… while
silmad 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