Pętla while wykonuje blok instrukcji tak długo, jak podany warunek logiczny jest prawdziwy. Warunek jest sprawdzany przed każdym wykonaniem ciała pętli.
Składnia
while (warunek) {
// instrukcje wykonywane, gdy warunek jest prawdziwy
}
Jeżeli warunek od razu jest fałszywy, ciało pętli nie wykona się ani razu.
Prosty przykład
int a = 1;
while (a <= 5) {
cout << a << " ";
a++;
}
Wynik:
1 2 3 4 5
W tym przykładzie zmienna a pełni rolę licznika. Po każdym obiegu pętli jest zwiększana o 1.
Warunek z operatorem inkrementacji
W C++ w warunku można umieszczać także wyrażenia zmieniające wartość zmiennej, np. a++ < 6.
int a = 1;
while (a++ < 6) {
cout << a << " ";
}
Tutaj operator a++ oznacza postinkrementację: najpierw porównywana jest stara wartość a, a potem a zwiększa się o 1. Dlatego w pierwszym obiegu warunek sprawdza 1 < 6, ale w pętli wypisywana jest już wartość 2.
Typowe błędy
- Brak zmiany wartości zmiennej sterującej może spowodować pętlę nieskończoną.
- Mylenie
a++z++aprowadzi do błędnego wyniku. - Należy pamiętać, że warunek
whilejest sprawdzany przed wejściem do pętli.