C++ smyčka do...while s příklady

⚡ Chytré shrnutí

Smyčka typu do-while v C++ spustí blok kódu jednou a poté jej opakuje, dokud je podmínka splněna. Zde se dozvíte, jak funguje smyčka do-while, její syntaxi, kdy ji použít a příklady.

  • 🔂 Co to je: Smyčka typu do-while provede své tělo jednou a poté se opakuje, dokud je podmínka pravdivá.
  • (Tj. Spustí se jako první: Tělo se vždy provede alespoň jednou, než je podmínka ověřena.
  • 🧾 Syntaxe: do { příkazy } while(podmínka); končí středníkem.
  • 🎯 Kdy použít: Použijte ho, když se kód musí spustit alespoň jednou, například v nabídkách.
  • 🤖 Pomoc s umělou inteligencí: Nástroje umělé inteligence, jako je GitHub Copilot, píší a ladí C++ smyčky se okamžitě začnou smyčkovat.

C++ Do-While Loop

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

Code Vysvětlení:

  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

Code Vysvětlení:

  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

Code Vysvětlení:

  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().

Nejčastější dotazy

Smyčka typu „do-while“ je řídicí struktura, která spustí své tělo jednou a poté ho opakuje, dokud je podmínka splněna. Podmínka se kontroluje po každém průchodu, nikoli před ní.

Smyčka while kontroluje podmínku před spuštěním těla smyčky, takže se nemusí spustit ani jednou. Smyčka do-while nejprve spustí tělo smyčky a poté kontroluje podmínku, takže se vždy spustí alespoň jednou.

Syntaxe je do { příkazy } while(podmínka);. Nejprve se spustí tělo příkazu v závorkách, poté se testuje podmínka v kulatých závorkách a smyčka končí středníkem.

Smyčku typu do-while použijte v případech, kdy se kód musí spustit alespoň jednou bez ohledu na podmínku, například při zobrazení nabídky nebo ověření vstupu uživatele.

Vnořená smyčka typu „do-while“ je smyčka typu „do-while“ umístěná uvnitř jiné smyčky typu „do-while“. Vnitřní smyčka dokončí všechny své průchody pro každý jednotlivý průchod vnější smyčky.

Asistenti umělé inteligence, jako je GitHub Copilot, generují z komentáře smyčky typu „do-while“, převádějí mezi typy smyček a označují podmínky, které by mohly způsobit nekonečnou smyčku.

Ano. Nástroje s umělou inteligencí detekují nekonečné smyčky, chyby typu „off-by-one“ a nesprávné podmínky smyčky a navrhují jasnější logiku smyčky, help.ping váš C++ kód běží správně.

Ano. Protože se podmínka kontroluje až po těle smyčky, smyčka typu do-while vždy provede její tělo alespoň jednou, i když je podmínka při první kontrole nepravdivá.

Shrňte tento příspěvek takto: