38940

38940



60


ROZDZIA L 9. INSTR UKCJE STER UJĄCE

Sinclude <stdio.h> int mainO {

int i;

for(i«l; i<-5; ++i){ printf("%d", i);

>

for( ; i>-l; i—){ printf("%d", i);

>

return 0;

>

Po analizie powyższego kodu, początkujący programista inoże stwierdzić, że pętla wypisze 123454321. Stanic się natomiast inaczej. Wynikiem działania powyższego programu będzie ciąg cyfr 12345654321. Pierwsza |>ętla wypisze cyfry “12345”, lecz po ostatnim swoim obiegu pętla for (tak jak zwykle) zinkrementuje zmienną i. Gdy druga pętla przystąpi do pracy, zacznie ona odliczać począwszy od liczby i=6, a nie 5. By spowodować wyświetlanie liczb o 1 do 5 i z powrotem wystarczy gdzieś między ostatnim obiegiem pierwszej pętli for a pierwszym obiegiem drugiej pętli for zmniejszyć w'artość zmiennej i o 1.

Niech podsumowaniem będzie jakiś działający fragment kodu. który może obliczać wartości kwadratów liczb od 1 do 10.

Sinclude <stdio.h>

int main O

<

int a;

for (a-l; a<-10; ++a) { printf ("y,d\n", a*a);

>

return 0;

>

W kodzie źródłowym spotyka się często inkrementację i++. Jest to zły zwyczaj, biorący się z wzorowania się na nazwie języka C++. Post-inkrementacja i++ powoduje, że tworzony jest obiekt tymczasowy, który jest zwracany jako wynik operacji (choć wynik ten nie jest nigdzie czytany). Jedno kopiowanie liczby do zmiennej tymczasowej nie jest drogie, ale wf pętli “for” takie kopiowanie odbywa się po każdym przebiegu pętli. Dodatkowo, w C++ podobną konstrukcję stosuje się do obiektów — kopiowanie obiektu może być już czasochłonną czynnością. Dlatego w pętli “for” należy stosować wyłącznie ++i.




Wyszukiwarka

Podobne podstrony:
62 ROZDZIA L 9. INSTR UKCJE STER UJĄCE Break i pętle nieskończone W przypadku pętli for nic trzeba p
56 ROZDZIA L 9. INSTR UKCJE STER UJĄCE b - 6; if (a==b) { printf ("a jest równe b

58 ROZDZIA L 9. INSTR UKCJE STER UJĄCE PętleInstrukcja while Często zdarza się, że nasz program musi
61 ROZDZIA L 9. INSTR UKCJE STER UJĄCENatychmiastowe kończenie programu funkcja exit Program może zo
skan9 (2) 60 V ROZDZIALI mówi o „ludzkich reprezentacjach natury”, ich przemianach lub uwarunkowani
skanuj0051 (60) Rozdział IV - Elementy składowe dokumentu Gdy chcemy zmienić położenie pola tekstowe
s 60 61 60 __ROZDZIAŁ 3__ uzdolnień i zainteresowań ucznia poprzez dostosowanie zakresu treści i tei
skanuj0059 60 Rozdział 5. Do metod statycznych rzadziej stosowanych należy pomiar twardości warstwy
GENETYKA Anna Sadakierska Chudy , Grażyna Dąbrowska str9 60 Rozdział 5 Transdukcja ograniczona, wyw
11388 Prawo i p k s V Konarska Wrzosek (60) Rozdział 25POSTĘPOWANIE PRZED SĄDEM PIERWSZEJ INSTANCJ
58 (216) 60 Rozdział 3 Większą wartość poznawczą mają wielkości stosunkowe. Odzwierciedlając stosune
brzozowski 5 60 Rozdział 2 Jest prawdopodobne, że DUCHOWOŚĆ opiera się na odmiennych wartościach w k

więcej podobnych podstron