Petla while


Pętla to taka konstrukcja, która pozwala na wykonywanie tej samej instrukcji, aż zostanie spełniony zadany przez nas warunek. W języku C są dostępne 3 rodzaje pętli: while, do while oraz for. W tej lekcji omówimy pierwszą i drugą.

while(warunek){
  instrukcje;
}

Instrukcje zawarte w nawiasach klamrowych są powtarzane tak długo, jak wyrażenie zawarte w nawiasach () jest różne od 0.

#include <stdio.h>

int main(){
  int i = 0;
  while(i < 20){
    i++;
    printf("%4d", i);
    if(i % 5 == 0)
      putchar('\n');
  }
  return 0;
}

Program wypisuje na ekran liczby od 1 do 20. Instrukcja i % 5 oblicza resztę z dzielenia i przez 5, natomiast putchar wypisuje pojedyńczy znak. W tym przypadku jest to znak nowej lini. Zanim przejdziemy do innych pętli warto zwrócić uwagę na pewien istotny szczegół. W while najpierw jest sprawdzany warunek w pętli, a jeśli ten jest spełniony, to zostają wykonane instrukcje zawarte w pętli. Jeśli przy pierwszym sprawdzeniu warunek będzie fałszywy, to pętla w ogóle się nie wykona. Pętla do while różni się od while, tym że warunek jest sprawdzany po pierwszym wykonaniu pętli. Zatem pętla wykona się co najmniej raz.

do{
  instrukcje;
}while(warunek);

Ćwiczenie

Zmień poniższy tak, aby wyświetlał tabliczkę mnożenia do 10. W jednym wierszu tabliczki powinno znajdować się 10 liczb. Podczas pisania nie zmieniaj instrukcji printf.