![]()
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.
  for (inicialzace; podmínka; přírůstky)
  {
    příkazy
  }
| 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, jež zobrazí hodnoty od 1 do 10.
  for (int i = 1; i <= 10; i++)
  {
    printf("Hodnota čítače je : " + i);
  }
![]()
Jednotlivé části příkazu for (inicializace; podmínka; změna) je možné vynechat, středníky MUSÍ být uvedeny.
![]()
Cyklus while probíhá tak dlouho dokud jistá podmínka není splněna.
  while (podmínka)
  {
    příkazy
  }
| 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 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
![]()
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.
  do 
  {
    příkazy
  } while (podmínka);
| 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, 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.