Typy příkazů cyklu

Přehled informací

Cykly for

Cykly for slouží k provádění určité skupiny příkazů po pevný, předem daný počet opakování. Cyklus for má proto smysl například při provádění několika spolu souvisejících výpočtů, při páci s elementy na obrazovce nebo při zpracování určité množiny vstupních dat.

Syntaxe příkazu

  for (inicialzace; podmínka; přírůstky)
  {
    příkazy
  }

Argumenty příkazu

inicializace

Příkazy, které jsou vykonány před začátkem cyklu. V této části se inicializují proměnné.

Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu.

podmínka

Podmínka, je-li splněna je provedeno tělo cyklu.

Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu.

přírůstky

Výrazy zde uvedené se vyhodnotí po každém průchodu tělem cyklu. Nejčastěji jsou zde uvedeny výrazy měnící proměnné. Je-li zde uvedeno více výrazů musí být odděleny čárkami.

Přírůstek může být i <> 1 (i záporný). Při použití přírůstku <> od 1 je důležité zkontrolovat správnost podmínky.

příkazy
Posloupnost příkazů, které jsou opakovaně vykonávány podle zadaného počtu opakování.

Příklad použití cyklu for

Příklad použití cyklu for, jež zobrazí hodnoty od 1 do 10.

  for (int i = 1; i <= 10; i++)
  {
    printf("Hodnota čítače je : " + i);
  }

Poznámka - uvádění jednotlivých částí příkazu for

Jednotlivé části příkazu for (inicializace; podmínka; změna) je možné vynechat, středníky MUSÍ být uvedeny.

Cyklus while

Cyklus while probíhá tak dlouho dokud jistá podmínka není splněna.

Syntaxe příkazu

  while (podmínka)
  {
    příkazy
  }

Argumenty příkazu

podmínka

Podmínka opakování. Výraz podmínka musí být typu bool nebo s hodnotou, kterou lze na bool převést (čísla, ukazatele nebo objektové typy, pro které je definován vhodný přetypovací operátor).

Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu.

příkazy
Posloupnost příkazů, které jsou opakovaně vykonávány vstoupí-li cyklus do smyčky.

Postup práce cyklu while

Příklad použití cyklu while

Příklad vypisuje hodnoty do té chvíle, než je proměnná i < 0.

  int i = 3
  while (i > 0)
  {
    printf("Hodnota proměnné i = " + i);
    i- -         // zmenšení hodnoty proměnné i
  }

Výsledkem běhu příkladu je následující výpis:

  Hodnota proměnné i = 3
  Hodnota proměnné i = 2
  Hodnota proměnné i = 1

Cykly do - while

Cyklus do - while má podmínku na konci. To znamená, že tělo cyklu proběhne alespoň jednou. Vyhodnocení výrazu, které je součástí ukončovací podmínky cyklu, se děje vždy po provedení těla cyklu.

Syntaxe příkazu

  do 
  {
    příkazy
  } while (podmínka);

Argumenty příkazu

podmínka

Podmínka opakování. Výraz podmínka musí být typu bool nebo s hodnotou, kterou lze na bool převést (čísla, ukazatele nebo objektové typy, pro které je definován vhodný přetypovací operátor).

Může obsahovat i deklaraci proměnné. Takto deklarovaná proměnná je použitelná pouze v těle cyklu.

příkazy
Posloupnost příkazů, které jsou opakovaně vykonávány vstoupí-li cyklus do smyčky.

Příklad cyklu do - while

Příklad cyklu, který se vykonává, dokud je hodnota proměnné i > 10. Pokud je proměnná i > 10 již na začátku cyklu, cyklus se provede alespoň jedenkrát.

  int i = 3
  {
    printf("Hodnota proměnné i = " + i);
    i- -           // zmenšení hodnoty proměnné i
  }while (i > 10)


Cyklus v předchozím příkladě se provede jedenkrát, protože hodnota proměnné i < 10.