C ++ samal ajal ja tehke ... samal ajal kui aas (koos näidetega)

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.

  1. for silmus
  2. while silmus
  3. do… while silmus

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 conditionhindab true, whilekäivitatakse tsükli sees olev kood .
  • conditionHinnatakse uuesti.
  • See protsess kestab seni, kuni conditionon false.
  • Kui conditionhindab kuni false, 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 conditionhindab true, dokäivitatakse lause sees olev silmusekeha uuesti.
  • conditionHinnatakse taas.
  • Kui conditionhindab true, dokäivitatakse lause sees olev silmusekeha uuesti.
  • See protsess kestab seni, kuni conditionhindab false. 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

Huvitavad Artiklid...