Toto je starší verze dokumentu!
Cyklus while
Cyklus while je cyklem s podmínkou na začátku. Nejprve se vyhodnotí podmínka apokud platí, provede se tělo 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í:
- hlavička
- klíčové slovo while
- podmínka cyklu
- tělo cyklu
- vlastní příkaz, nebo blok kódu, který se bude vykonávat.
Syntaxe cyklu while
// S jedním příkazem v těle while (podminka) prikaz; // S blokem příkazů v těle while (podminka) { prikaz1; prikaz2; //... }
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.
- V těle cyklu musí být příkaz, který má vliv na podmínku. Jinak dojede k zacyklení programu.
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; // Inicializační část; while (cislo <= 10) //Podmínka cyklu { printf("%d\n", cislo); // Příkaz cyklu cislo++; //Aktualizační část }
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 }
Největší společní dělitel čísel X a Y
while(X != Y) if (X > Y) X = X - Y else Y = Y - X printf("%i", X);