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.
for
pętlawhile
pętlado… while
pętla
W poprzednim samouczku dowiedzieliśmy się o pętli for w języku C ++. Tutaj będziemy się uczyć while
i do… while
pętle.
C ++ while Loop
Składnia while
pętli to:
while (condition) ( // body of the loop )
Tutaj,
while
Pętli oceniacondition
- Jeśli
condition
ocenia siętrue
, kod wewnątrzwhile
pętli jest wykonywany. condition
Ponownie ocenione.- Proces ten trwa dopóki
condition
jestfalse
. - Kiedy
condition
zwracafalse
, pętla kończy się.
Aby dowiedzieć się więcej na temat conditions
, odwiedź C ++ Relacyjne i logiczne operatory.
Schemat blokowy while Loop

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 i zwiększane do 2 . |
2nd | i = 2 | true | 2 jest drukowane i i zwiększane do 3 . |
3rd | i = 3 | true | 3 jest drukowane i i zwiększane do4 |
4 | i = 4 | true | 4 jest drukowane i i zwiększane do 5 . |
5 | i = 5 | true | 5 jest drukowane i i zwię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
.
while
Pę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… while
Pętla jest odmianą while
pętli z jedną istotną różnicą: ciało do… while
pętli jest wykonywany raz przed condition
sprawdzane.
Jego składnia to:
do ( // body of loop; ) while (condition);
Tutaj,
- Ciało pętli jest wykonywane jako pierwsze. Następnie
condition
jest oceniany. - Jeśli wynik
condition
wyniesietrue
, treść pętli wewnątrzdo
instrukcji jest wykonywana ponownie. condition
Jest oceniany po raz kolejny.- Jeśli wynik
condition
wyniesietrue
, treść pętli wewnątrzdo
instrukcji jest wykonywana ponownie. - Ten proces jest kontynuowany do czasu
condition
ocenyfalse
. Następnie pętla się zatrzymuje.
Schemat blokowy funkcji do… while Loop

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 i zwiększane do 2 |
|
1 | i = 2 | true | 2 jest drukowane i i zwiększane do 3 |
2nd | i = 3 | true | 3 jest drukowane i i zwiększa się do 4 |
3rd | i = 4 | true | 4 jest drukowane i i zwiększa się do 5 |
4 | i = 5 | true | 5 jest drukowane i i zwię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 while
i do… while
są 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