Autor: Dondu
Kurs języka C: Spis treści
Pętla for( ) jest bardzo rozbudowaną pętlą, która w jednej linijce kodu zawiera trzy argumenty determinujące jej wykonanie. Podstawowa składnia pętli:
for( wyrazenie1 ; wyrazenie2 ; wyrazenie3 ) { //tutaj kod do wykonania }
Argumenty:
- wyrazenie1 - to wyrażenie wykonywane przed pierwszym wykonaniem pętli. Najczęściej jest to deklaracja zmiennej służącej jako licznik poszczególnych kroków wykonywanej pętli.
- wyrazenie2 - to wyrażenie determinujące moment zakończenia wykonywania pętli, która wykonuje się tak długo, jak długo wyrazenie2 jest spełnione.
- wyrazenie3 - to wyrażenie wykonywane po każdym kroku pętli. Najczęściej są to instrukcje zwiększające lub zmniejszające licznik kroków pętli.
Poniżej przykład najczęściej spotykanego przypadku wykorzystania pętli for( ):
Przykład 1 (w kompilatorze)
int a; //licznik kroków pętli //rozpocznij od a=0 //zakończ gdy a=4 (a jest liczbą całkowitą) //po wykonaniu każdego kroku pętli zwiększ a o jeden for( a=0 ; a<5 ; a++) { //tutaj kod do wykonania }Sprawdź w kompilatorze CManiak, czy kod przykładu 1 wykonuje się tak jak sądzisz.
Możesz pominąć pierwszy argument, jeżeli wcześniej zadeklarowałeś odpowiednio zmienne wykorzystywane w pozostałych argumentach pętli for( ).
Przykład 2 (w kompilatorze)
int a=2; //licznik kroków pętli //rozpocznij od a=2, gdyż tak zadeklarowaliśmy powyżej //zakończ gdy a=4 (a jest liczbą całkowitą) //po wykonaniu każdego kroku pętli zwiększ a o jeden for( ; a<5 ; a++) { printf("a=%d \\n", a); }
Możesz także nie podawać trzeciego argumentu przenosząc go do środka pętli.
Przykład 3 (w kompilatorze)
int a=2; //licznik kroków pętli //rozpocznij od a=2 //zakończ gdy a=4 (a jest liczbą całkowitą) //po wykonaniu każdego kroku pętli zwiększ a o jeden for(; a<5 ;) { //tutaj kod do wykonania a++; }
Czy tak zmieniona pętla for( ) nie przypomina Ci czegoś?
int a=2; //licznik kroków pętli for(; a<5 ;) { //tutaj kod do wykonania a++; } //odpowiada pętli int a=2; //licznik kroków pętli while(a<5) { //tutaj kod do wykonania a++; }Więcej na temat pętli: while(...) {...}
.
Break
Czasami zachodzi potrzeba przerwania wykonywania pętli pomimo, że warunek jest nadal spełniony.
Służy do tego instrukcja break.
Przykład 4 (w kompilatorze)
for( a=0 ; a<5 ; a++) { //przerwij pętlę, gdy a=3 if(a == 3) break; }
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, ale tylko wtedy, gdy warunek (czyli wyrazenie2) nadal będzie spełniony.
Przykład 5 (w kompilatorze)
for( a=0 ; a<5 ; a++) { //tutaj jakiś kod if(a == 2) continue; //nie wykonuj poniższego kodu pętli, gdy a=2 //tutaj jakiś kod }Po uruchomieniu powyższego przykładu w kompilatorze CManiak zauważysz, że krok gdy a=2 został przerwany i wykonany następny.
Kurs języka C: Spis treści
27
W przykładzie 2 jest błąd, a mianowicie dodatkowa kreska po printif jak jest przeniesienie do następnej linii (\\n).
OdpowiedzUsuń