C ++ while and do ... while Loop (z przykładami)

W tym samouczku nauczymy się korzystać z pętli while i do… while w programowaniu w języku C ++ na podstawie kilku przykładów.

W programowaniu komputerowym pętle służą do powtarzania bloku kodu.

Na przykład, powiedzmy, że chcemy wyświetlić wiadomość 100 razy. Wtedy zamiast pisać instrukcję print 100 razy, możemy użyć pętli.

To był tylko prosty przykład; możemy osiągnąć znacznie większą wydajność i złożoność w naszych programach, efektywnie wykorzystując pętle.

W C ++ istnieją 3 typy pętli.

  1. for pętla
  2. while pętla
  3. do… while pętla

W poprzednim samouczku dowiedzieliśmy się o pętli for w języku C ++. Tutaj będziemy się uczyć whilei do… whilepętle.

C ++ while Loop

Składnia whilepętli to:

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

Tutaj,

  • whilePętli oceniacondition
  • Jeśli conditionocenia się true, kod wewnątrz whilepętli jest wykonywany.
  • conditionPonownie ocenione.
  • Proces ten trwa dopóki conditionjest false.
  • Kiedy conditionzwraca false, pętla kończy się.

Aby dowiedzieć się więcej na temat conditions, odwiedź C ++ Relacyjne i logiczne operatory.

Schemat blokowy while Loop

Schemat blokowy C ++ pętli while

Przykład 1: Wyświetlanie liczb od 1 do 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; )

Wynik

 1 2 3 4 5

Oto jak działa program.

Iteracja Zmienna i <= 5 Akcja
1 i = 1 true 1 jest drukowane i izwiększane do 2.
2nd i = 2 true 2 jest drukowane i izwiększane do 3.
3rd i = 3 true 3 jest drukowane i izwiększane do4
4 i = 4 true 4 jest drukowane i izwiększane do 5.
5 i = 5 true 5 jest drukowane i izwiększane do 6.
6th i = 6 false Pętla jest zakończona

Przykład 2: Suma tylko liczb dodatnich

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

Wynik

 Podaj liczbę: 6 Podaj liczbę: 12 Podaj liczbę: 7 Podaj liczbę: 0 Podaj liczbę: -2 Suma wynosi 25

W tym programie użytkownik jest proszony o wpisanie liczby, która jest przechowywana w zmiennej numer.

Aby zapisać sumę liczb, deklarujemy zmienną sumę i inicjalizujemy ją do wartości 0.

whilePętla trwa aż użytkownik wprowadzi liczbę ujemną. Podczas każdej iteracji liczba wprowadzona przez użytkownika jest dodawana do zmiennej sumarycznej.

Gdy użytkownik wprowadzi liczbę ujemną, pętla się kończy. Na koniec wyświetlana jest łączna suma.

C ++ robi… while Loop

do… whilePętla jest odmianą whilepętli z jedną istotną różnicą: ciało do… whilepętli jest wykonywany raz przed conditionsprawdzane.

Jego składnia to:

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

Tutaj,

  • Ciało pętli jest wykonywane jako pierwsze. Następnie conditionjest oceniany.
  • Jeśli wynik conditionwyniesie true, treść pętli wewnątrz doinstrukcji jest wykonywana ponownie.
  • conditionJest oceniany po raz kolejny.
  • Jeśli wynik conditionwyniesie true, treść pętli wewnątrz doinstrukcji jest wykonywana ponownie.
  • Ten proces jest kontynuowany do czasu conditionoceny false. Następnie pętla się zatrzymuje.

Schemat blokowy funkcji do… while Loop

Schemat blokowy C ++ do… while w pętli

Przykład 3: Wyświetlanie liczb od 1 do 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; )

Wynik

 1 2 3 4 5

Oto jak działa program.

Iteracja Zmienna i <= 5 Akcja
i = 1 niesprawdzone 1 jest drukowane i izwiększane do 2
1 i = 2 true 2 jest drukowane i izwiększane do 3
2nd i = 3 true 3 jest drukowane i izwiększa się do 4
3rd i = 4 true 4 jest drukowane i izwiększa się do 5
4 i = 5 true 5 jest drukowane i izwiększa się do 6
5 i = 6 false Pętla jest zakończona

Przykład 4: Suma tylko liczb dodatnich

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

Wyjście 1

 Podaj liczbę: 6 Podaj liczbę: 12 Podaj liczbę: 7 Podaj liczbę: 0 Podaj liczbę: -2 Suma wynosi 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.

Jednak pętle whilei do… whilesą zwykle używane, gdy liczba iteracji jest nieznana. Na przykład,

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

Sprawdź te przykłady, aby dowiedzieć się więcej:

  • Program C ++ do wyświetlania serii Fibonacciego
  • Program w C ++ do wyszukiwania GCD
  • Program w C ++ do wyszukiwania LCM

Interesujące artykuły...