V tomto kurzu se naučíte vytvářet smyčku v programování C pomocí příkladů.
V programování se smyčka používá k opakování bloku kódu, dokud není splněna zadaná podmínka.
Programování v C má tři typy smyček:
- pro smyčku
- zatímco smyčka
- dělat … zatímco smyčka
O for
smyčce se dozvíme v tomto tutoriálu. V další lekci budeme seznámí while
a do… while
smyčky.
pro Loop
Syntaxe for
smyčky je:
for (initializationStatement; testExpression; updateStatement) ( // statements inside the body of loop )
Jak funguje smyčka?
- Inicializační příkaz je proveden pouze jednou.
- Poté se vyhodnotí testovací výraz. Pokud je testovací výraz vyhodnocen jako false,
for
smyčka je ukončena. - Pokud je však testovací výraz vyhodnocen na true,
for
jsou provedeny příkazy uvnitř těla smyčky a aktualizovaný výraz je aktualizován. - Opět se vyhodnotí testovací výraz.
Tento proces pokračuje, dokud testovací výraz není falešný. Když je testovací výraz nepravdivý, smyčka se ukončí.
Pokud se chcete dozvědět více o testovacím výrazu (když je testovací výraz vyhodnocen na true a false), podívejte se na relační a logické operátory.
pro vývojový diagram smyčky
Příklad 1: pro smyčku
// Print numbers from 1 to 10 #include int main() ( int i; for (i = 1; i < 11; ++i) ( printf("%d ", i); ) return 0; )
Výstup
1 2 3 4 5 6 7 8 9 10
- i je inicializováno na 1.
- Vyhodnocuje se testovací výraz
i < 11
. Protože 1 je menší než 11, je provedeno tělofor
smyčky. Tím se vytiskne 1 (hodnota i) na obrazovce. - Je
++i
proveden příkaz k aktualizaci . Nyní bude hodnota i 2. Opět se testovací výraz vyhodnotí na true a provede se tělo smyčky for. Tím se na obrazovce vytiskne 2 (hodnota i). - Opět
++i
se provede příkaz aktualizace ai < 11
vyhodnotí se testovací výraz . Tento proces pokračuje, dokud mi nebude 11. - Když se i stane 11, i <11 bude nepravdivé a
for
smyčka bude ukončena.
Příklad 2: pro smyčku
// Program to calculate the sum of first n natural numbers // Positive integers 1,2,3… n are known as natural numbers #include int main() ( int num, count, sum = 0; printf("Enter a positive integer: "); scanf("%d", &num); // for loop terminates when num is less than count for(count = 1; count <= num; ++count) ( sum += count; ) printf("Sum = %d", sum); return 0; )
Výstup
Zadejte kladné celé číslo: 10 Součet = 55
Hodnota zadaná uživatelem je uložena v proměnné num. Předpokládejme, že uživatel zadal 10.
Počet je inicializován na 1 a testovací výraz je vyhodnocen. Protože testovací výraz count<=num
(1 menší než nebo rovný 10) je pravdivý, provede se tělo for
smyčky a hodnota součtu se bude rovnat 1.
Poté ++count
se provede příkaz aktualizace a počet se bude rovnat 2. Znovu se vyhodnotí testovací výraz. Protože 2 je také menší než 10, je testovací výraz vyhodnocen na true a for
je provedeno tělo smyčky. Nyní se součet bude rovnat 3.
Tento proces pokračuje a součet se počítá, dokud počet nedosáhne 11.
Když je počet 11, testovací výraz se vyhodnotí na 0 (false) a smyčka se ukončí.
Poté se hodnota sum
obrazovky vytiskne na obrazovku.
O while
smyčce a do… while
smyčce se dozvíme v dalším tutoriálu.