V tomto tutoriálu se naučíte tvořit while a dělat… while ve programování C pomocí příkladů.
V programování se smyčky používají 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
V předchozím tutoriálu jsme se dozvěděli o for
smyčce. V tomto kurzu se budeme učit o while
a do… while
smyčky.
zatímco smyčka
Syntaxe while
smyčky je:
while (testExpression) ( // statements inside the body of the loop )
Jak funguje smyčka while?
while
Smyčka vyhodnotí test výraz uvnitř závorek()
.- Pokud je testovací výraz pravdivý,
while
jsou provedeny příkazy uvnitř těla smyčky. Poté se testovací výraz znovu vyhodnotí. - Proces pokračuje, dokud není testovací výraz vyhodnocen jako false.
- Pokud je testovací výraz nepravdivý, smyčka končí (končí).
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.
Vývojový diagram smyčky while
Příklad 1: while smyčka
// Print numbers from 1 to 5 #include int main() ( int i = 1; while (i <= 5) ( printf("%d", i); ++i; ) return 0; )
Výstup
1 2 3 4 5
Zde jsme inicializovali i na 1.
- Když i je 1, je testovací výraz
i <= 5
pravdivý. Protowhile
je provedeno tělo smyčky. Toto vytiskne 1 na obrazovce a hodnota i se zvýší na 2. - Nyní je i 2, testovací výraz
i <= 5
je opět pravdivý. Tělowhile
smyčky se provede znovu. Tím se vytiskne 2 na obrazovku a hodnotai
se zvýší na 3. - Tento proces pokračuje, dokud z i nebude 6. Když i bude 6, bude testovací výraz
i <= 5
nepravdivý a smyčka bude ukončena.
dělat … zatímco smyčka
do… while
Smyčka se podobá while
smyčce s jedním důležitým rozdílem. Tělo do… while
smyčky je provedeno alespoň jednou. Teprve poté se vyhodnotí testovací výraz.
Syntaxe do… while
smyčky je:
do ( // statements inside the body of the loop ) while (testExpression);
Jak … zatímco smyčka funguje?
- Tělo smyčky do … while je provedeno jednou. Teprve poté se vyhodnotí testovací výraz.
- Pokud je testovací výraz pravdivý, tělo smyčky se provede znovu a testovací výraz se vyhodnotí.
- Tento proces pokračuje, dokud testovací výraz nebude falešný.
- Pokud je testovací výraz nepravdivý, smyčka končí.
Vývojový diagram úkolů … zatímco Loop
Příklad 2: smyčka… while
// Program to add numbers until the user enters zero #include int main() ( double number, sum = 0; // the body of the loop is executed at least once do ( printf("Enter a number: "); scanf("%lf", &number); sum += number; ) while(number != 0.0); printf("Sum = %.2lf",sum); return 0; )
Výstup
Zadejte číslo: 1,5 Zadejte číslo: 2.4 Zadejte číslo: -3,4 Zadejte číslo: 4,2 Zadejte číslo: 0 Součet = 4,70