Sisukord:
- Mis on silmus C++-s
- Sõnumi while Loop süntaks
- Kuidas kasutada tsükli ajal C++
- C++ pesastatud silmuse ajal
- C++ Infinite while Loop
- Paaris- ja paarituarvude printimine tsüklitega C++ keeles
- Järeldus
Mis on silmus C++-s
Ajasilmus on juhtstruktuur, mis jätkab töötamist seni, kuni tingimus on tõene, ja peatub, kui tingimus muutub vääraks. See on kasulik juhtudel, kui soovite teatud toimingut korrata, kuni konkreetne tingimus on täidetud.
Näiteks , saate tsüklit kasutada numbrite 1 kuni 10 printimiseks või antud arvu faktoriaali arvutamiseks.
Sõnumi while Loop süntaks
C++-i while-tsükli põhisüntaks on järgmine:
samal ajal ( tingimus ) {
// käivitatav kood
}
Sulgudes olevat koodi käivitatakse korduvalt seni, kuni tingimus on tõene. Tingimust kontrollitakse iga kord, kui silmus töötab.
Kuidas kasutada tsükli ajal C++
Üks levinumaid näiteid sellest, et while-tsüklid loevad alguspunktist lõpp-punktini. Näiteks, järgmine kood loeb 1 kuni 10:
#includekasutades nimeruumi std ;
int peamine ( ) {
int i = 1 ; // lähtesta loenduri muutuja väärtuseks 1
// silmus, kui loenduri muutuja on väiksem kui 10 või sellega võrdne
samal ajal ( i <= 10 ) {
cout << i << endl ; // väljastab loenduri muutuja praeguse väärtuse
i ++; // loenduri muutuja suurendamine
}
tagasi 0 ;
}
See kood näitab, kuidas kasutada C++-i while-tsüklit. Programm initsialiseerib loenduri muutuja i 1-ni ja seejärel käivitab tsükli, mis jätkub kuni i muutub suuremaks kui 10.
While-tsükli sees prinditakse loenduri muutuja praegune väärtus konsooli kasutades cout lause, millele järgneb reavahetus kasutades endl . Seejärel suurendatakse loenduri muutujat 1 võrra, kasutades i++ avaldus.
Silmus jätkab täitmist kuni loenduri muutujani i jõuab väärtuseni 11, mil tsüklist while väljutakse ja programm lõpeb tagastatava väärtusega 0.
C++ pesastatud silmuse ajal
Kuigi tsüklid võivad olla ka pesastatud , mis tähendab, et teise while-tsükli sees võib olla while-tsükkel. See on kasulik juhtudel, kui peate täitma toimingut korduvalt, kuni konkreetne tingimus on täidetud, ja selle ülesande sees peate sooritama teist toimingut korduvalt, kuni mõni muu tingimus on täidetud.
Pesastatud while-tsüklis käivitatakse välimine tsükkel üks kord ja seejärel käivitatakse sisemine tsükkel iga kord, kui välimine silmus töötab. Sisemine tsükkel täidetakse täielikult üks kord iga välimise tsükli iteratsiooni kohta.
Näide
Järgmine on näidiskood, kuidas kasutada C++ tsüklit Nested while:
#includekasutades nimeruumi std ;
int peamine ( ) {
int i = 1 ; // lähtesta loenduri muutuja väärtuseks 1
// silmus, samas kui loenduri muutuja on väiksem kui 3 või sellega võrdne
samal ajal ( i <= 3 ) {
int j = 1 ; // lähtestage sisemine loenduri muutuja väärtuseks 1
// silmus, samas kui sisemine loenduri muutuja on väiksem või võrdne 3-ga
samal ajal ( j <= 3 ) {
cout << i << ' ' << j << ' \n ' ; // väljastab loenduri muutujate praegused väärtused
j ++; // sisemise loenduri muutuja juurdekasv
}
i ++; // välimise loenduri muutuja juurdekasvu
}
tagasi 0 ;
}
Selles koodis kestab välimine while-tsükkel sama kaua kui i muutub võrdseks 3-ga, kui väärtus i muutub suuremaks kui 3, silmus peatub. Iga välimise tsükli iteratsiooni korral sisemine loenduri muutuja j lähtestatakse väärtuseks 1 ja see käivitab sisemise while-tsükli. See sisemine tsükkel kestab kuni väärtuseni j muutub suuremaks kui 3 .
Sisemise tsükli sees väljastame väärtused i ja j . Pärast seda suurendasime j . See jätkub seni, kuni sisemist silmust on kolm korda täidetud. Iga kord, kui välimist tsüklit suurendatakse, käivitatakse uuesti ka sisemine tsükkel.
Seda protsessi korratakse seni, kuni välimist silmust on kolm korda teostatud ja mõlemad tsüklid on lõppenud. Selle koodi väljundiks on väärtuste tabel vahemikus 1 1 kuni 3 3, nagu on näidatud alloleval pildil.
C++ Infinite while Loop
C++ puhul on võimalikud ka lõpmatud while-tsüklid. Lõpmatu while-tsükkel jookseb pidevalt, kuna ükski määratletud tingimus ei saa olla vale. On ainult üks tõeline tingimus , see võimaldab while tsüklil pidevalt töötada lõpmatu arv kordi.
Näiteks , käivitatakse alltoodud tsükkel igavesti ja selle tsükli peatamiseks peame selle tsükli lõpus defineerima katkestuslause.
samal ajal ( tõsi ) {// käivitatav kood
}
Lõpmatu tsükkel võib mõnel juhul olla kasulik, näiteks manussüsteemides või kasutaja sisendi ootamisel.
Näide
Allpool on näide C++ programmist, mis käivitab C++ koodis lõpmatu while-tsükli:
#includekasutades nimeruumi std ;
int peamine ( ) {
int loendama = 0 ;
samal ajal ( tõsi ) {
cout << 'Infinitiiv While Loop \n ' ;
loendama ++;
kui ( loendama >= 10 ) {
murda ;
}
}
tagasi 0 ;
}
Antud kood loob lõpmatu tsükli, mis väljastab konsooli pidevalt stringi 'Infinitive While Loop'. Selle põhjuseks on asjaolu, et while-tsükli tingimuseks on seatud tõene, mis on alati tõene, silmus ei lõpe.
Lõpmatu tsükli peatamiseks saame kasutada katkestuslauset tsüklist väljumiseks, kui teatud tingimus on täidetud. Ülaltoodud programmis oleme seadnud maksimaalseks iteratsioonide arvuks 10, mida juhib loendama muutuja ja katkestuslause.
Ülaltoodud kood töötab lõputult, kuid katkestuslause kasutamine peatab selle pärast 10 iteratsiooni.
Paaris- ja paarituarvude printimine while Loopiga
Veel üks näide, kui tsüklid prindivad paaris ja paarituid numbreid. Näiteks , kasutab järgnev antud kood C++ keeles while-tsüklit paarisarvude 2 kuni 10 väljastamiseks.
#includekasutades nimeruumi std ;
int peamine ( ) {
int i = 2 ; // lähtestage loenduri muutuja väärtuseks 2
// silmus, samas kui loenduri muutuja on väiksem kui 10 või sellega võrdne
samal ajal ( i <= 10 ) {
cout << i << endl ; // väljastab loenduri muutuja praeguse väärtuse
i += 2 ; // suurendage loenduri muutujat 2 võrra
}
tagasi 0 ;
}
See C++ kood initsialiseerib loenduri muutuja i 2-le ja kasutab tsüklit while, et korduvalt väljastada väärtust i seni, kuni see on väiksem kui 10 või sellega võrdne. Silmuse igal iteratsioonil see suureneb i 2. Iga kord, kui silmus töötab, prinditakse väljund terminalile. Pärast tsükli lõppemist tagastab programm 0, mis näitab edukat täitmist.
Samamoodi saame ka printida kummaline numbrid 1 kuni 9:
#includekasutades nimeruumi std ;
int peamine ( ) {
int i = 1 ; // lähtesta loenduri muutuja väärtuseks 1
// silmus, samas kui loenduri muutuja on väiksem või võrdne 9-ga
samal ajal ( i <= 9 ) {
cout << i << endl ; // väljastab loenduri muutuja praeguse väärtuse
i += 2 ; // suurendage loenduri muutujat 2 võrra
}
tagasi 0 ;
}
Selles koodis töötab tsükli tingimus kuni loenduri muutujani i on väiksem või võrdne 9-ga cout ahela sees olev lause väljastab praeguse väärtuse i , ja seejärel i muutujat suurendatakse 2 võrra, kasutades i += 2 avaldus. See tagab, et silmus prindib ainult paarituid numbreid.
Programmi lõpus kasutatakse tagastuslauset, mis näitab, et funktsioon main() on täidetud.
Järeldus
Ahelsilmus on juhtimisstruktuur, mis käivitab programmi seni, kuni defineeritud tingimus on tõene. Siin oleme käsitlenud põhisüntaksit ja näiteid while-tsüklite kasutamisest C++-s. Samuti kirjeldame, kuidas kasutada while-tsüklit pesastatud kujul ja kuidas saab käivitada while-tsüklit lõpmatu arv kordi. C++ while-tsükli kohta lisateabe saamiseks lugege artiklit.