Autor: Dondu
Kurs języka C: Spis treści
Pętla while() jest pętlą, która:
- nie wykona się jeżeli warunek nie jest spełniony,
- wykonuje się dopóki warunek jest spełniony.
Innymi słowy, aby pętla wykonała się chociaż raz, warunek musi być spełniony, a żeby wyjść z pętli warunek musi przestać być spełniony.
Przykład 1 (w kompilatorze)
int warunek = 1; //symulujemy warunek spełniony while(warunek){ warunek=0; //symulujemy brak spełnionego warunku //czyli pętla drugi raz się już nie wykona }Najprościej zapamiętać to tak:
Dopóki warunek jest spełniony, dopóty pętla jest wykonywana.
Break
Czasami zachodzi potrzeba przerwania wykonywania pętli pomimo, że warunek jest nadal spełniony.
Służy do tego instrukcja break.
Przykład 2 (w kompilatorze)
int nr_petli=0; //licznik pętli int warunek = 1; //symulujemy warunek spełniony while(warunek){ ++nr_petli; //zwiększ licznik pętli o jeden if(nr_petli > 4) break; //wyjdź z pętli, gdy nr_petli jest większy od 4 }
Continue
Za pomocą tej instrukcji, można w dowolnym miejscu pętli nakazać przerwanie wykonywania aktualnej iteracji i rozpocząć wykonywanie następnej.
Innymi słowy wykonywanie kodu wewnątrz pętli zostanie przerwane i nastąpi wykonanie kodu pętli od jego początku, o ile warunek nadal będzie spełniony.
Przykład 3 (w kompilatorze)
int nr_petli=0; //licznik pętli int warunek = 1; //symulujemy warunek spełniony while(warunek){ ++nr_petli; //zwiększ licznik pętli o jeden if(nr_petli == 3) continue; //nie wykonuj poniższego kodu pętli, jeżeli //nr_petli jest równy 3 if(nr_petli > 4) break; //wyjdź z pętli, gdy nr_petli jest większy od 4 }Po uruchomieniu powyższego przykładu w kompilatorze CManiak zauważysz, że krok trzeci został przerwany.
Kurs języka C: Spis treści
25
#include
OdpowiedzUsuńint main(void)
{
int nr_petli=0; //licznik pętli
int warunek = 1; //symulujemy warunek spełniony
while(warunek){
++nr_petli; //zwiększ licznik pętli o jeden
printf("nr_petli punkt a=%d \n", nr_petli);
if(nr_petli == 3) continue; //nie wykonuj poniższego kodu pętli,
//gdy nr_petli jest równy 3
printf("nr_petli punkt b=%d \n", nr_petli);
if(nr_petli > 4) break; //wyjdź z pętli, gdy nr_petli > 4
}
printf("nr_petli punkt c=%d \n", nr_petli);
printf("koniec");
return 0; //zakończ wykonywanie programu
}