Cyklus while
Cyklus while je cyklem s podmínkou na začátku. Nejprve se vyhodnotí podmínka a pokud platí, provede se příkaz/blok cyklu. Pak se znovu vyhodnotí podmínka a opět se provede tělo cyklu. Cyklus skončí, až podmínka nebude platit.
Cyklus while se skládá ze dvou částí:
- Podmínka
- klíčové slovo while
- podmínka cyklu
- Příkaz/blok příkazů které se budou vykonávat
Syntaxe cyklu while
// S jedním příkazem while (podminka) prikaz; // S blokem příkazů while (podminka) { prikaz1; prikaz2; // ... prikazN; }
Poznámky
- Podmínka cyklu nemusí být platná už před první iterací. Cyklus pak nevykoná ani jednu iteraci.
- Cykly while a for se dají mezi sebou navzájem transformovat.
- Pokud bude podmínka vždy pravdivá (tautologie), dojede k zacyklení programu v místě cyklu.
Průběh cyklu while
- ověření podmínky
- podmínka platí
- vykonání těla cyklu
- jdi zpět na ověření podmínky
- podmínka neplatí
- konec cyklu
Ukázky
Výpis čísel od 1 do 10 pomocí cyklu while
int cislo = 1; // Inicializujeme řídící proměnnou while (cislo <= 10) // Podmínka cyklu { printf("%d\n", cislo); // Příkaz cyklu cislo++; // Zvětšení hodnoty o jedničku }
Ekvivalentní výpis čísel od 1 do 10 pomocí cyklu for
for (int cislo = 1; cislo <= 10; cislo++; ) // Inicializační část; Podmínka cyklu; Aktualizační část { printf("%d\n", cislo); // Příkaz cyklu }
Příklady k procvičení
- Výpis čísel od 10 do 1
- Vypsat N-krát znak * (N je celé číslo ze vstupu)
- Výpis násobků zadaného čísla N (1 * N, 2 * N, … 10 * N)
- Výpis celých čísel v zadaném intervalu <A, B>, (A, B>, nebo (A, B)