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?

Do-While Loop
C++ Udělejte během vývojového diagramu

Vysvětlení vývojového diagramu:

  1. Začátek smyčky do while.
  2. Tělo smyčky do while.
  3. Testovaný výraz nebo podmínka, která má být vyhodnocena.
  4. Pokud je testovací výraz pravdivý, je C++ kompilátor provedl tělo cyklu do while.
  5. Pokud je testovací výraz nepravdivý, je C++ kompilátor provádí příkazy za tělem smyčky.
  6. 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:

Do-While Loop

Zde je snímek obrazovky kódu:

Do-While Loop

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Komentář. The C++ kompilátor toto přeskočí.
  5. Deklarujeme celočíselnou proměnnou x a přiřadíme jí hodnotu 1.
  6. Vytvoření smyčky do-while. { označuje začátek těla smyčky.
  7. 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.
  8. Zvýšení hodnoty x o 1 po každé iteraci.
  9. 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.
  10. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  11. 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:

Do-While Loop

Zde je snímek obrazovky kódu:

Do-While Loop

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu.
  4. { označuje začátek těla funkce main().
  5. Deklarování dvou celočíselných proměnných, num a sum. Proměnná suma byla inicializována na 0.
  6. Vytvoření smyčky do-while. { označuje začátek těla smyčky.
  7. Vytištění textu „Zadejte číslo:“ na konzole.
  8. Č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.
  9. Přičtení hodnoty num k hodnotě součtu a uložení výsledku do proměnné součet.
  10. } 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.
  11. Tisk hodnoty součtu proměnné na konzole spolu s jiným textem.
  12. Funkce main() by měla vrátit hodnotu, pokud program běží správně.
  13. 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:

Vnořená smyčka Do While

Zde je snímek obrazovky kódu:

Vnořená smyčka Do While

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream v našem kódu. Umožní nám to číst a zapisovat do konzole.
  2. Včetně jmenného prostoru std, aby bylo možné používat jeho třídy a funkce bez jeho volání.
  3. Volání funkce main(), do které má být přidána logika programu. { označuje začátek těla funkce main().
  4. Deklarujeme celočíselnou proměnnou a a přiřadíme jí hodnotu 1.
  5. Vytvoření vnější smyčky do-while. { označuje začátek těla vnější smyčky.
  6. Deklarujeme celočíselnou proměnnou b a přiřadíme jí hodnotu 1.
  7. Vytvoření vnitřní smyčky do-while. { označuje začátek těla vnitřní smyčky.
  8. Chcete-li vytisknout hodnotu proměnné a na konzole. „\n“ je znak nového řádku, který přesune kurzor myši na další řádek.
  9. Zvyšování hodnoty b o 1 po každé iteraci.
  10. 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.
  11. Zvýšení hodnoty a o 1 po každé iteraci.
  12. 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.
  13. 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.