7. Instrukcje sterujące

7.5. Pętle o nieznanej liczbie iteracji

W C++, podobnie jak w innych językach programowania, mamy do dyspozycji trzy typowe pętle:

  • pętlę o nieznanej liczbie iteracji która nie musi być wykonana ani razu - while,
  • pętlę o nieznanej liczbie iteracji która musi się wykonać co najmniej raz – do-while,
  • pętlę o zadanej liczbie iteracji for.

Dodatkowo, od C++11 mamy jeszcze pętlę zakresową (działającą na elementach w kontenerze) - jest to wersja pętli for z jednym argumentem. 

Jednakże w przeciwieństwie do większości pozostałych języków – każda ze wspomnianych pętli może zostać prosto przekształcona w dowolną inną (są to bardzo elastyczne konstrukcje). 

Na początek zajmiemy się pętlami typu while i do-while. Zasada działania obu z nich jest analogiczna, jedyna różnica polega na momencie sprawdzenia warunku – w pierwszym przypadku warunek jest sprawdzany w momencie wejścia do pętli, w drugim – w momencie wyjścia z niej.

Składnia obu pętli wygląda następująco:


// pętla while
while (wyrazenie)
  // instrukcja wykonywana w pętli
  instrukcja_w_petli();

// pętla do – while
do
  // instrukcja wykonywana w pętli
  instrukcja_w_petli();
while (wyrazenie);

Podobnie jak w przypadku if, wyrażenie może być dowolnego typu który ma jakąś wartość (czyli każdego poza void). Zasady wartościowania wyrażenia są również identyczne jak w przypadku instrukcji warunkowej.

Pętla jest wykonywana dopóki wyrażenie jest prawdziwe, wg pokazanego schematu: