C ++ o ir daryk ... o kilpa (su pavyzdžiais)

Šioje pamokoje sužinosime, kaip naudoti „while“ ir „do … while“ ciklus programuojant C ++, naudodamiesi keliais pavyzdžiais.

Programuojant kompiuterį, ciklas naudojamas pakartoti kodo bloką.

Pavyzdžiui, tarkime, kad norime parodyti pranešimą 100 kartų. Tada užuot 100 kartų rašę spausdinimo ataskaitą, galime naudoti kilpą.

Tai buvo tik paprastas pavyzdys; mes galime pasiekti daug didesnį savo programų efektyvumą ir rafinuotumą, efektyviai išnaudodami kilpas.

C ++ yra 3 tipų kilpos.

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

Ankstesnėje pamokoje sužinojome apie C ++ for loop. Čia mes sužinosime apie whileir do… whilekilpas.

C ++, o ciklas

Kilpos sintaksė whileyra:

 while (condition) ( // body of the loop )

Čia

  • whileKilpa įvertinanticondition
  • Jei conditionįvertins true, whilebus vykdomas ciklo viduje esantis kodas .
  • conditionVertinamas dar kartą.
  • Šis procesas tęsiasi tol, kol conditionyra false.
  • Kai conditionįvertina false, ciklas baigiasi.

Norėdami sužinoti daugiau apie conditions, apsilankykite „C ++ Relational and Logical Operators“.

„Loop“ schema

C ++, o ciklo schema

1 pavyzdys: rodyti skaičius nuo 1 iki 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; )

Rezultatas

 1 2 3 4 5

Štai kaip programa veikia.

Kartojimas Kintamas i <= 5 Veiksmas
1-oji i = 1 true 1 atspausdintas ir ipadidintas iki 2.
2-oji i = 2 true 2 atspausdintas ir ipadidintas iki 3.
3 d i = 3 true 3 atspausdintas ir ipadidintas iki4
4-oji i = 4 true 4 atspausdintas ir ipadidintas iki 5.
5 d i = 5 true 5 atspausdintas ir ipadidintas iki 6.
6-oji i = 6 false Kilpa nutraukiama

2 pavyzdys: tik teigiamų skaičių suma

 // 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; )

Rezultatas

 Įveskite skaičių: 6 Įveskite numerį: 12 Įveskite numerį: 7 Įveskite skaičių: 0 Įveskite skaičių: -2 Suma yra 25

Šioje programoje vartotojas raginamas įvesti skaičių, kuris saugomas kintamajame numeryje.

Norėdami išsaugoti skaičių sumą, deklaruojame kintamą sumą ir inicijuojame ją iki vertės 0.

whileKilpa tęsiasi tol, kol vartotojas įveda neigiamas skaičius. Kiekvienos kartojimo metu vartotojo įvestas skaičius pridedamas prie sumos kintamojo.

Vartotojui įvedus neigiamą skaičių, kilpa nutrūksta. Galiausiai rodoma visa suma.

„C ++“ daro … o „Loop“

do… whileKilpa yra variantas whilekilpa su vienu svarbiu skirtumu: kūno do… whilelinijos yra įvykdytas, kai prieš conditiontai patikrinti.

Jo sintaksė yra:

 do ( // body of loop; ) while (condition);

Čia

  • Iš pradžių atliekamas kilpos kūnas. Tada conditionįvertinama.
  • Jei conditionvertinimas bus true, dosakinio viduje esančios kilpos kūnas bus vykdomas dar kartą.
  • conditionVėl vertinamas.
  • Jei conditionvertinimas bus true, dosakinio viduje esančios kilpos kūnas bus vykdomas dar kartą.
  • Šis procesas tęsiasi tol, kol conditionįvertins false. Tada kilpa sustoja.

„Do“, o ciklo, schema

C ++ schema daro … o ciklo metu

3 pavyzdys: rodyti skaičius nuo 1 iki 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; )

Rezultatas

 1 2 3 4 5

Štai kaip programa veikia.

Kartojimas Kintamas i <= 5 Veiksmas
i = 1 nepatikrinta 1 atspausdintas ir ipadidintas iki 2
1-oji i = 2 true 2 atspausdintas ir ipadidintas iki 3
2-oji i = 3 true 3 atspausdintas ir ipadidintas iki 4
3 d i = 4 true 4 atspausdintas ir ipadidintas iki 5
4-oji i = 5 true 5 atspausdintas ir ipadidintas iki 6
5 d i = 6 false Kilpa nutraukiama

4 pavyzdys: tik teigiamų skaičių suma

 // 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; )

1 rezultatas

 Įveskite skaičių: 6 Įveskite numerį: 12 Įveskite numerį: 7 Įveskite skaičių: 0 Įveskite skaičių: -2 Suma yra 25

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -6 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true) ( // body of the loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for vs while loops

A for loop is usually used when the number of iterations is known. For example,

 // This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )

Here, we know that the for-loop will be executed 5 times.

Tačiau whileir do… whilekilpos dažniausiai naudojamos, kai nežinomas pakartojimų skaičius. Pavyzdžiui,

 while (condition) ( // body of the loop )

Peržiūrėkite šiuos pavyzdžius, kad sužinotumėte daugiau:

  • „C ++“ programa, rodanti „Fibonacci“ serijas
  • C ++ programa, skirta rasti GCD
  • C ++ programa, skirta rasti LCM

Įdomios straipsniai...