59
PĘTLE
Jak wklać, pętla for znacznie różni się od tego typu pętli, znanych w innych językach programowania. Opiszemy więc, co oznaczają poszczególne wyrażenia:
• wyrażeniel jest to instrukcja, która będzie wykonana przed pierwszym przebiegiem pętli. Zwykle jest to inicjalizacja zmiennej, która ljędzie służyła jako “licznik" przebiegów pętli.
• wyrażenie2 jest warunkiem zakończenia pętli. Pętla wykonuje się tak długo, jak prawdziwy jest ten warunek.
• wyrażenie3 jest to instrukcja, która wykonywana będzie po każdym przejściu pętli. Zamieszczone są tu instrukcje, które zwiększają licznik o odpowiednią wartość.
Jeżeli wewnątrz pętli nie ma żadnych instrukcji continue (opisanych niżej) to jest ona równoważna z:
{
wyrażeniel;
while (vyrażenie2) {
/* instrukcje do wykonania w pętli */ wyrażenie3;
/* dalsze instrukcje */
Ważną rzeczą jest tutaj to, żeby zrozumieć i zapamiętać jak tak naprawdę działa pętla for. Początkującym programistom nieznajomość tego faktu sprawia wiele probantów.
W pierwszej kolejności w i>ętli for wykonuje się wyrażeniel. Wykonuje się ono zawsze, nawet jeżeli warunek przebiegu pętli jest od samego początku fałszywy. Po wykonaniu wyrażeniel pętla for sprawdza warunek zawarty w wyrażenie2. jeżeli jest on prawdziwy, to wykonywana jest treść pętli for, czyli najczęściej to co znajduje się między klamrami, lub gdy ich nie ma. następna pojedyncza instrukcja. W szczególności musimy pamiętać, że sam średnik też jest instrukcją instrukcją pustą. Gdy już zostanie wykonana treść pętli for. następuje wykonanie wyrazenie3. Należy zapamiętać, że wyrażenic3 zostanie wykonane, nawet jeżeli był to już ostatni obieg pętli. Poniższe 3 przykłady pętli for w rezultacie dadzą ten sam wynik. Wypiszą na ekran liczby od 1 do 10.
for(i*l; i<*10; ++i){ printf("*/,d", i);
for(i-l; i<-10; ++i) printf(-/.d", i);
for(i«l; i<*10; printf("fcd", ++i ) );
Dwa pierwsze przykłady korzystają z własności struktury blokowej, kolejny przykład jest już banlziej wyrafinowany i korzysta z tego. że jako wyrażenie3 może zostać podane dowolne bardziej skomplikowane wyrażenie, zawierające w sobie inne podwy-rażenia. A oto kolejny program, który najpierw wyświetla liczby w kolejności rosnącej, a następnie WTaca.