Jazyk C - cykly
Učebné texty
Cykly
Cykly v programovaní sa začnú používať, keď potrebujeme opakovane vykonávať blok príkazov. Napríklad: Predpokladajme, že chceme vytlačiť „Hello World“ 10-krát. Toto sa dá urobiť dvoma spôsobmi, ako je uvedené nižšie:
Spôsob, ako to urobiť, je napísať printf() 10-krát.
1 #include <stdio.h>
2
3 int main()
4 {
5 printf( "Hello World\n");
6 printf( "Hello World\n");
7 printf( "Hello World\n");
8 printf( "Hello World\n");
9 printf( "Hello World\n");
10 printf( "Hello World\n");
11 printf( "Hello World\n");
12 printf( "Hello World\n");
13 printf( "Hello World\n");
14 printf( "Hello World\n");
15
16 return 0;
17 }
V cykle musí byť príkaz napísaný iba raz a cyklus bude vykonaný 10-krát, ako je uvedené nižšie.
V počítačovom programovaní je cyklus postupnosť inštrukcií, ktorá sa opakuje, až kým sa nedosiahne určitá podmienka.
Existujú hlavne dva typy cyklov:
Vstupom a výstupom riadené cykly
Vstupom riadený cyklus: V tomto type cyklov sa testovacie podmienky testujú pred vstupom do cyklu. For cyklus a While cyklus sú vstupom riadené slučky.
Výstupom riadené cykly:
V tomto type cyklov sa testovacie podmienky testujú alebo hodnotia na konci tela cyklu. Preto sa bude cyklus vykonávať aspoň raz, bez ohľadu na to, či je testovacia podmienka pravdivá alebo nepravdivá. do - while cyklus je výstupom riadený cyklus.
For cyklus
Cyklus For sa používa na opakované vykonávanie bloku príkazov, kým sa daná podmienka nevráti nepravdivo. Cyklus nám umožňuje vykonať n počet krokov spolu na jednom riadku.
Cyklus for sa skláda z 3 častí
- Inicializačná premenná: V tomto výraze musíme inicializovať počítadlo slučky na nejakú hodnotu. napríklad: int i = 1;
- Testovací výraz: V tomto výraze musíme testovať stav. Ak sa stav vyhodnotí ako true, vykonáme telo slučky a prejdeme na aktualizáciu výrazu, inak opustíme slučku for. Napríklad: i <= 10;
- Aktualizácia výrazu: Po vykonaní tela slučky tento výraz zvyšuje alebo zmenšuje premennú slučky o nejakú hodnotu. napríklad: i ++;
Vývojový diagram pre cyklus For
Syntax
for (inicializátor; podmienka; inkrement)
{
// telo cyklu
}
Hello World skrz cyklus for
1 #include <stdio.h>
2
3 int main()
4 {
5 int i=0;
6
7 for (i = 1; i <= 10; i++)
8 {
9 printf( "Hello World\n");
10 }
11
12 return 0;
13 }
Výstup:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Príklad vypíš čísla od 1 po 10:
1 // Napíš čísla od 1 po 10
2 #include <stdio.h>
3
4 int main() {
5
6 for (int i = 1; i < 11; ++i)
7 {
8 printf("%d ", i);
9 }
10 return 0;
11 }
Výstup:
1
2
3
4
5
6
7
8
9
10
V cykle for sa na riadenie cyklu používa premenná (v našom prípade i). Najprv inicializujte túto premennú cyklu na nejakú hodnotu, potom skontrolujte, či je táto premenná menšia alebo väčšia ako hodnota počítadla. Ak je príkaz pravdivý, vykoná sa telo cyklu a aktualizuje sa premenná. Kroky sa opakujú, až kým nedôjde k výstupu.