Pętla while w C++

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

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 ++a prowadzi do błędnego wyniku.
  • Należy pamiętać, że warunek while jest sprawdzany przed wejściem do pętli.