C++ smyčka do...while s příklady
Co je smyčka do-while?
Smyčka do-while iteruje část souboru C++ program několikrát. V cyklu do-while je testovací výraz přidán na konec cyklu. Tělo smyčky je před testovacím výrazem. Proto se tělo smyčky musí provést jednou, i když je testovací výraz v prvním testu vyhodnocen jako nepravda.
Kdy použít smyčku do-while?
Cyklus do-while by se měl použít, když počet iterací není pevně daný a cyklus se musí provést alespoň jednou. The C++ kompilátor nejprve provede tělo smyčky před vyhodnocením podmínky. To znamená, že smyčka musí vrátit výsledek. Je tomu tak i v případě, že se testovací podmínka při prvním vyhodnocení vyhodnotí jako nepravda. Protože tělo smyčky již bylo provedeno, musí vrátit výsledek.
Syntax
Základní syntaxe C++ do while smyčka je následující:
do{ //code }while(condition);
Podmínkou je testovací výraz. Aby se smyčka provedla, musí být pravdivá. { a } označují tělo smyčky do while. Přichází před podmínkou. Proto se provede před podmínkou.
Jak funguje smyčka do-while?
Vysvětlení vývojového diagramu:
- Začátek smyčky do while.
- Tělo smyčky do while.
- Testovaný výraz nebo podmínka, která má být vyhodnocena.
- Pokud je testovací výraz pravdivý, je C++ kompilátor provedl tělo cyklu do while.
- Pokud je testovací výraz nepravdivý, je C++ kompilátor provádí příkazy za tělem smyčky.
- Příkazy, které následují za tělem smyčky.
Příklad 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
Výstup:
Zde je snímek obrazovky kódu:
Vysvětlení kódu:
- Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
- Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
- Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
- Komentář. The C++ kompilátor toto přeskočí.
- Deklarujeme celočíselnou proměnnou x a přiřadíme jí hodnotu 1.
- Vytvoření smyčky do-while. { označuje začátek těla smyčky.
- Chcete-li vytisknout hodnotu proměnné x vedle jiného textu na konzole. Konec je a C++ klíčové slovo s významem koncový řádek.
- Zvýšení hodnoty x o 1 po každé iteraci.
- Konec těla smyčky. Testovací výraz byl přidán na konec těla smyčky. Testuje, zda je hodnota x menší než 5.
- Funkce main() by měla vrátit hodnotu, pokud program běží správně.
- Konec těla funkce main().
Příklad 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
Výstup:
Zde je snímek obrazovky kódu:
Vysvětlení kódu:
- Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
- Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
- Volání funkce main(), do které má být přidána logika programu.
- { označuje začátek těla funkce main().
- Deklarování dvou celočíselných proměnných, num a sum. Proměnná suma byla inicializována na 0.
- Vytvoření smyčky do-while. { označuje začátek těla smyčky.
- Vytištění textu „Zadejte číslo:“ na konzole.
- Čtení uživatelského vstupu z konzoly a ukládání hodnoty do proměnné num. cin (konzolový vstup) je funkce, která čte uživatelský vstup.
- Přičtení hodnoty num k hodnotě součtu a uložení výsledku do proměnné součet.
- } označuje konec těla smyčky. Testovací výraz byl přidán na konec těla smyčky. Testuje, zda je hodnota zadaná uživatelem, aby se ujistil, že to není 0. != se nerovná operátoru. Pokud uživatel zadá 0, smyčka by se měla ukončit.
- Tisk hodnoty součtu proměnné na konzole spolu s jiným textem.
- Funkce main() by měla vrátit hodnotu, pokud program běží správně.
- Konec těla funkce main().
Vnořená smyčka Do While
In C++, je možné, abychom vytvořili jednu smyčku do-while uvnitř další smyčky do-whole. Výsledkem je vnořená smyčka do-while.
Syntax
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
První příkaz do označuje část do vnější smyčky do-while.
Druhý příkaz do označuje část do vnitřní smyčky do-while.
První příkaz while označuje testovací podmínku pro vnitřní smyčku.
Druhý příkaz while označuje testovací podmínku pro vnější smyčku.
Jak funguje Nested, zatímco smyčka funguje
Vnořená smyčka do while funguje následovně:
Krok 1: Inicializace se provede nejprve a jednou.
Krok 2: Příkaz (do) se provede jednou.
Krok 3: Testovací výraz je vyhodnocení řízením toku.
Krok 4: Pokud je true, provede se vnitřní smyčka.
Krok 5: Aktualizující prohlášení (y) jsou aktualizovány.
Krok 6: Proces probíhá opakovaně, dokud se testovací výraz nestane nepravdivým.
Krok 7: Když se testovací výraz stane nepravdivým, vnitřní smyčka se opustí a řízení přeskočí do vnější smyčky.
Krok 8: Znovu se vyhodnotí zkušební stav.
Krok 9: Pokud je pravda, provedou se příkazy, aby vrátily hodnotu false.
Krok 10: Provádění zastavení smyčky a řídicích skoků na příkazy za smyčkou.
Příklad
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
Výstup:
Zde je snímek obrazovky kódu:
Vysvětlení kódu:
- Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
- Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
- Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
- Deklarujeme celočíselnou proměnnou a a přiřadíme jí hodnotu 1.
- Vytvoření vnější smyčky do-while. { označuje začátek těla vnější smyčky.
- Deklarujeme celočíselnou proměnnou b a přiřadíme jí hodnotu 1.
- Vytvoření vnitřní smyčky do-while. { označuje začátek těla vnitřní smyčky.
- Chcete-li vytisknout hodnotu proměnné a na konzole. „\n“ je znak nového řádku, který přesune kurzor myši na další řádek.
- Zvyšování hodnoty b o 1 po každé iteraci.
- Konec těla vnitřní smyčky. Testovací výraz byl přidán na konec těla smyčky. Testuje, zda je hodnota b menší nebo rovna 5.
- Zvýšení hodnoty a o 1 po každé iteraci.
- Konec těla vnější smyčky. Testovací výraz byl přidán na konec těla smyčky. Testuje, zda je hodnota a menší nebo rovna 3.
- Konec těla funkce main().
Shrnutí
- Cyklus do-while několikrát spustí část kódu.
- Mělo by se používat, když počet iterací není pevně daný.
- V cyklu do-while je tělo smyčky před testovacím výrazem.
- Tělo smyčky se provede alespoň jednou, i když se testovací výraz stane nepravdivým.
- Tato smyčka by měla být použita, když není počet iterací pevně daný.
- Cyklus Do while se může spustit libovolněkrát, pokud je podmínka pravdivá.
- Podmínka je vyhodnocena jednou po každé iteraci.
- Výsledek vyhodnocení stavu určuje opatření, která mají být přijata.
- Pokud je podmínka pravdivá, smyčka provedla tělo.
- Provedení smyčky se okamžitě zastaví, podmínka je vyhodnocena jako nepravda.
- Protože tělo smyčky do while již bylo provedeno, musí vrátit výsledek.