C/Instrukcje sterujące: Różnice pomiędzy wersjami

→‎Instrukcja for: nowy przykład
m (→‎Instrukcja for: wytłuszczenie tekstu)
(→‎Instrukcja for: nowy przykład)
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 problemów.
 
W pierwszej kolejności w pętli for wykonuje się <tt>wyrażenie1</tt>. Wykonuje się ono '''zawsze''', nawet jeżeli warunek przebiegu pętli jest od samego początku fałszywy. Po wykonaniu <tt>wyrażenie1</tt> pętla for sprawdza warunek zawarty w <tt>wyrażenie2</tt>, 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 <tt>wyrażenie3</tt>. Należy zapamiętać, że '''wyrażenie3 zostanie wykonane, nawet jeżeli był to już ostatni obieg pętli'''. Poniższe 34 przykłady pętli for w rezultacie dadzą ten sam wynik. Wypiszą na ekran liczby od 1 do 10.
<source lang="C">
printf("%d", i);
 
for(i=1; i<=10; printf("%d", i++i ) );
 
// 4 przykład
for(i=1; i<10; printf("i = %d", ++i ) );
printf(" i = %d", i ); // wyrażenie3 ++i zostanie wykonane, nawet jeżeli był to już ostatni obieg pętli
 
</source>
Dwa pierwsze przykłady korzystają z własności [[C/Podstawy#Struktura_blokowa|struktury blokowej]], kolejny przykład jest już bardziej wyrafinowany i korzysta z tego, że jako <tt>wyrażenie3</tt> może zostać podane dowolne bardziej skomplikowane wyrażenie, zawierające w sobie inne podwyrażenia. A oto kolejny program, który najpierw wyświetla liczby w kolejności rosnącej, a następnie wraca.
6840

edycji