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í:
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)