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ń