V tomto tutoriále sa naučíte vytvárať cykly cyklov v C pomocou príkladov.
V programovaní sa slučka používa na opakovanie bloku kódu, kým nie je splnená zadaná podmienka.
Programovanie v C má tri typy slučiek:
- pre slučku
- zatiaľ čo slučka
- robiť … zatiaľ čo slučka
O for
slučke sa dozvieme v tomto výučbe. V ďalšej lekcii budeme zoznámi while
a do… while
slučky.
pre slučku
Syntax for
slučky je:
for (initializationStatement; testExpression; updateStatement) ( // statements inside the body of loop )
Ako funguje slučka?
- Inicializačný príkaz sa vykoná iba raz.
- Potom sa vyhodnotí testovací výraz. Ak sa testovací výraz vyhodnotí ako nepravdivý,
for
slučka sa ukončí. - Ak je však testovací výraz vyhodnotený ako pravdivý,
for
vykonajú sa príkazy v tele cyklu a aktualizačný výraz sa aktualizuje. - Opäť sa hodnotí expresia testu.
Tento proces pokračuje, kým testovací výraz nie je falošný. Ak je testovací výraz nepravdivý, slučka sa ukončí.
Ak sa chcete dozvedieť viac informácií o testovacom výraze (keď sa testovací výraz hodnotí ako pravdivý a nepravdivý), pozrite si relačné a logické operátory.
pre slučku Vývojový diagram
Príklad 1: pre slučku
// Print numbers from 1 to 10 #include int main() ( int i; for (i = 1; i < 11; ++i) ( printf("%d ", i); ) return 0; )
Výkon
1 2 3 4 5 6 7 8 9 10
- i je inicializovaný na 1.
- Vyhodnotí sa testovací výraz
i < 11
. Pretože 1 je menšia ako 11,for
vykoná sa telo slučky. Týmto sa na obrazovku vytlačí 1 (hodnota i). - Vykoná sa vyhlásenie o aktualizácii
++i
. Teraz bude hodnota i hodnota 2. Znova sa testovací výraz vyhodnotí ako pravdivý a vykoná sa telo cyklu for. Týmto sa na obrazovku vytlačí 2 (hodnota i). - Opäť
++i
sa vykoná príkaz na aktualizáciu a vyhodnotí sa testovací výrazi < 11
. Tento proces pokračuje, kým nemám 11 rokov. - Keď sa i stane 11, i <11 bude nepravdivé a
for
slučka sa ukončí.
Príklad 2: pre sluč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ýkon
Zadajte celé kladné číslo: 10 Súčet = 55
Hodnota zadaná používateľom je uložená v premennej num. Predpokladajme, že užívateľ zadal 10.
Počet sa inicializuje na 1 a vyhodnotí sa testovací výraz. Pretože testovací výraz count<=num
(1 menší alebo rovný 10) je pravdivý, for
vykoná sa telo slučky a hodnota súčtu sa bude rovnať 1.
Potom ++count
sa vykoná aktualizačný príkaz a počet sa bude rovnať 2. Opäť sa vyhodnotí testovací výraz. Pretože 2 je tiež menej ako 10, testovací výraz sa vyhodnotí ako pravdivý a for
vykoná sa telo slučky. Súčet sa teraz bude rovnať 3.
Tento proces pokračuje a súčet sa počíta, kým počet nedosiahne 11.
Keď je počet 11, testovací výraz sa vyhodnotí na 0 (false) a slučka sa ukončí.
Potom sa hodnota sum
obrazovky vytlačí na obrazovku.
O while
slučke a do… while
slučke sa dozvieme v ďalšom návode.