Programowanie w języku C/C++

Pętle

<center>Pętle w C</center>

W języku programowania C istnieją zasadniczo 3 rodzaje pętli: for, while, do while. 3 pętle różnią się zastosowaniem, ale w przeciwieństwie do innych języków programowania każda pętla jest w stanie (przy odrobinie pracy) wykonać to co może wykonać inna pęŧla (a nie jak for i while w pascal).

A więc zacznijmy omawiać poszczególne pętle:

1. pętla for

składnia:

for (inicjalizacja licznika; warunek działania; czynność po wykonaniu jednego obrotu pętli) {
instrukcje
}
(Jeżeli pętla wykonuje jedną instrukcję można pominąć klamry)

przykład:

// W kwesti przypomnienienia nie można stosować czegoś takiego jak for (int i=1; ...) To dozwolone jest tylko w C++

for (i = 0; i<max; ++i)="++i)" printf="printf" lub="lub" for="for" (i="1;" i<max2;="i&lt;max2;" i="i" +="2)" ('s');="('s');" najbardziej="najbardziej" nadaje="nadaje" się="się" w="w" tedy="tedy" gdy="gdy" zazwyczaj="zazwyczaj" wykonujemy="wykonujemy" określoną="określoną" liczbę="liczbę" iteracji="iteracji" pętli.="pętli." postacie="postacie" pętli:="pętli:" (;;)="(;;)" ="" nieskończona="nieskończona" pętla="pętla" odpowiednik="odpowiednik" (while(1))="(while(1))" (;="(;" i<max;)="i&lt;max;)" while="while" (i<max)="(i&lt;max)" 2.="2." składnia:="składnia:" (warunek)="(warunek)" {="{" instrukcje="instrukcje" }="}" (klamry="(klamry" dla="dla" jednej="jednej" instrukcji="instrukcji" można="można" ominąć)="ominąć)" np,="np," (blokada!="false)" ma="ma" blokady="blokady" licznika:="licznika:" %d',="%d'," i);="i);" ++i;="++i;" do="do" wykonywania="wykonywania" nieznanej="nieznanej" ilości="ilości" iteracji.="iteracji." wiadomości="wiadomości" przypadki:="przypadki:" (1)="(1)" {printf="{printf" ('s');}="('s');}" nieskońćzona="nieskońćzona" 3.="3." (warunek);="(warunek);" (i<12);="(i&lt;12);" zaznaczam="zaznaczam" że="że" zawsze="zawsze" wykona="wykona" przynajmniej="przynajmniej" przeciwieństwie="przeciwieństwie" ('oks');="('Oks');" szczególne="Szczególne" ('a');="('A');" ('nie="('Nie" np.="Np." winapi="WinApi" tu="Tu">=1.

Np. Pętla wiadomości w WinApi

Szczególne przypadki:

do {} while (1); {printf ('s');} // nieskońćzona pętla

Alternatywne i szczegółne metody (w większości przypadków niepolecane):

1) rekurencja

Przykład

int silnia (int liczba) {
if (liczba==0 || liczba==1) return 1; else return liczba * silnia (liczba-1);
}

int NWD (int a, int b){}

int quick_sort (int *tablica, int rozmiar) {}

UWAGA: wywoływanie kosztuje w pamięci i obliczeniowo. Pamięć na stosie jest ograniczona.

2) zabawy z if i goto (metody ulubione w assemblerze ale nie w c/c++)

przykład:

etykieta:

if (i<12) goto etykieta;

Zaburza strukturę i zaciemnia ideę przewodnią programu.

Jeżeli chcesz stosować goto nagminnie do przejdź na asma.