C++ do...while bucla cu Exemple

⚡ Rezumat inteligent

O buclă do-while în C++ rulează un bloc de cod o dată și apoi îl repetă atâta timp cât o condiție rămâne adevărată. Aici veți învăța cum funcționează bucla do-while, sintaxa acesteia, când să o utilizați și exemple.

  • 🔂 Ce este: O buclă do-while își rulează corpul o dată, apoi se repetă atâta timp cât o condiție este adevărată.
  • ✅ Rulează primul: Corpul se execută întotdeauna cel puțin o dată înainte ca condiția să fie verificată.
  • 🧾 Sintaxă: do { instrucțiuni } while(condiție); se termină cu punct și virgulă.
  • 🎯 Când să utilizați: Folosește-l atunci când codul trebuie să ruleze cel puțin o dată, cum ar fi meniurile.
  • 🤖 Ajutor AI: Instrumente de inteligență artificială precum GitHub Copilot scriu și depanează C++ bucle instantaneu.

C++ Bucla Do-While

Ce este bucla do-while?

Bucla do-while repetă o secțiune a C++ program de mai multe ori. În bucla do-while, expresia de testare este adăugată în partea de jos a buclei. Corpul buclei vine înaintea expresiei de testare. De aceea corpul buclei trebuie să se execute o dată, chiar și atunci când expresia testului este evaluată ca falsă în primul test.

Când să folosiți o buclă do-while?

Bucla do-while ar trebui utilizată atunci când numărul de iterații nu este fix, iar bucla trebuie să se execute cel puțin o dată. The C++ compilator execută mai întâi corpul buclei înainte de a evalua condiția. Asta înseamnă că bucla trebuie să returneze un rezultat. Acesta este cazul chiar și atunci când condiția de testare este falsă la prima evaluare. Deoarece corpul buclei a fost deja executat, trebuie să returneze rezultatul.

Sintaxă

Sintaxa de bază a C++ bucla do while este după cum urmează:

do{    
//code 
}while(condition);  

Condiția este expresia testului. Trebuie să fie adevărat pentru ca bucla să se execute. { și } marchează corpul buclei do while. Vine înaintea condiției. Prin urmare, se execută înainte de condiție.

Cum funcționează bucla do-while?

Bucla Do-While
C++ Faceți în timp ce Diagrama de flux

Explicația diagramei de flux:

  1. Începutul buclei do while.
  2. Corpul buclei do while.
  3. Expresia sau condiția testului care trebuie evaluată.
  4. Dacă expresia testului este adevărată, atunci C++ compilatorul a executat corpul buclei do while.
  5. Dacă expresia testului este falsă, C++ compilatorul execută instrucțiunile după corpul buclei.
  6. Declarații care vin după corpul buclei.

Exemplu 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;
}

ieșire:

Bucla Do-While

Iată o captură de ecran a codului:

Bucla Do-While

Code Explicaţie:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main() în interiorul căreia ar trebui adăugată logica programului. { marchează începutul corpului funcției main().
  4. Un comentariu. The C++ compilatorul va omite acest lucru.
  5. Declararea unei variabile întregi x și atribuirea acesteia la o valoare de 1.
  6. Crearea unei bucle do-while. { marchează începutul corpului buclei.
  7. Pentru a imprima valoarea variabilei x alături de alt text de pe consolă. Sfârșitul este a C++ cuvânt cheie care înseamnă linia finală.
  8. Creșterea valorii lui x cu 1 după fiecare iterație.
  9. Capătul corpului buclei. Expresia de test a fost adăugată la sfârșitul corpului buclei. Testează dacă valoarea lui x este mai mică de 5.
  10. Funcția main() ar trebui să returneze o valoare dacă programul rulează bine.
  11. Sfârșitul corpului funcției main().

Exemplu 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;
}

ieșire:

Bucla Do-While

Iată o captură de ecran a codului:

Bucla Do-While

Code Explicaţie:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main() în interiorul căreia ar trebui adăugată logica programului.
  4. { marchează începutul corpului funcției main().
  5. Declararea a două variabile întregi, num și sum. Suma variabilă a fost inițializată la 0.
  6. Crearea unei bucle do-while. { marchează începutul corpului buclei.
  7. Imprimarea textului „Introduceți un număr:” pe consolă.
  8. Citirea intrărilor utilizatorului din consolă și stocarea valorii în variabila num. cin (intrare din consolă) este o funcție care citește intrarea utilizatorului.
  9. Adăugarea valorii num la valoarea sumei și stocarea rezultatului în suma variabilă.
  10. } marchează sfârșitul corpului buclei. Expresia de testare a fost adăugată la sfârșitul corpului buclei. Testează dacă valoarea introdusă de utilizator pentru a se asigura că nu este 0. != nu este egală cu operatorul. Dacă utilizatorul introduce un 0, bucla ar trebui să se termine.
  11. Imprimarea valorii sumei variabile pe consolă alături de alt text.
  12. Funcția main() ar trebui să returneze o valoare dacă programul rulează bine.
  13. Sfârșitul corpului funcției main().

Bucla Do While Imbricată

In C++, este posibil pentru noi să creăm o buclă do-while în interiorul altei bucle do-whole. Aceasta are ca rezultat o buclă imbricată do-while.

Sintaxă

do{
statement(s)
do{
statement(s)
}while(condition);
statement(s)
}while(condition);

Prima declarație do denotă partea do a buclei exterioare do-while.

A doua declarație do denotă partea do a buclei interioare do-while.

Prima instrucțiune while denotă condiția de testare pentru bucla interioară.

A doua instrucțiune while denotă condiția de testare pentru bucla exterioară.

Cum funcționează Imbricat Do While Loop

Bucla do while imbricată funcționează după cum urmează:

Pasul 1: Inițializarea se execută mai întâi și o dată.

Pasul 2: Instrucțiunile (do) sunt executate o dată.

Pasul 3: Exprimarea testului este evaluarea prin controlul fluxului.

Pasul 4: Dacă este adevărat, bucla interioară este executată.

Pasul 5: Declarațiile de actualizare sunt actualizate.

Pasul 6: Procesul rulează în mod repetat până când expresia testului devine falsă.

Pasul 7: Când expresia testului devine falsă, bucla interioară este ieșită și controlul trece la bucla exterioară.

Pasul 8: Condiția de testare este evaluată din nou.

Pasul 9: Dacă este adevărat, instrucțiunile sunt executate pentru a returna false.

Pasul 10: Executarea opririlor de buclă și a salturilor de control la instrucțiuni după buclă.

Exemplu

#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);
}

ieșire:

Bucla Do While Imbricată

Iată o captură de ecran a codului:

Bucla Do While Imbricată

Code Explicaţie:

  1. Includerea fișierului antet iostream în codul nostru. Ne va permite să citim și să scriem pe consolă.
  2. Includerea spațiului de nume std pentru a-și folosi clasele și funcțiile fără a-l apela.
  3. Apelarea funcției main() în interiorul căreia ar trebui adăugată logica programului. { marchează începutul corpului funcției main().
  4. Declararea unei variabile întregi a și atribuirea acesteia la o valoare de 1.
  5. Crearea buclei exterioare do-while. { marchează începutul corpului buclei exterioare.
  6. Declararea unei variabile întregi b și atribuirea acesteia la o valoare de 1.
  7. Crearea buclei interioare do-while. { marchează începutul corpului buclei interioare.
  8. Pentru a imprima valoarea variabilei a pe consolă. „\n” este un caracter de linie nouă care mută cursorul mouse-ului pe linia următoare.
  9. Creșterea valorii lui b cu 1 după fiecare iterație.
  10. Capătul corpului buclei interioare. Expresia de test a fost adăugată la sfârșitul corpului buclei. Testează dacă valoarea lui b este mai mică sau egală cu 5.
  11. Creșterea valorii lui a cu 1 după fiecare iterație.
  12. Capătul corpului buclei exterioare. Expresia de test a fost adăugată la sfârșitul corpului buclei. Testează dacă valoarea lui a este mai mică sau egală cu 3.
  13. Sfârșitul corpului funcției main().

Întrebări frecvente

O buclă do-while este o structură de control care își execută corpul o dată și apoi îl repetă atâta timp cât o condiție este adevărată. Condiția este verificată după fiecare trecere, nu înainte.

O buclă while verifică condiția înainte de a-și rula corpul, deci poate rula de zero ori. O buclă do-while rulează mai întâi corpul și verifică condiția după aceea, deci rulează întotdeauna cel puțin o dată.

Sintaxa este do { statements } while(condition);. Corpul buclei dintre acolade rulează mai întâi, apoi se testează condiția dintre paranteze, iar bucla se termină cu punct și virgulă.

Folosește o buclă do-while atunci când codul trebuie să ruleze cel puțin o dată, indiferent de condiție, cum ar fi afișarea unui meniu sau validarea datelor introduse de utilizator.

O buclă do-while imbricată este o buclă do-while plasată în interiorul unei alte bucle do-while. Bucla interioară își finalizează toate trecerile pentru fiecare trecere a buclei exterioare.

Asistenții inteligenți artificiali precum GitHub Copilot generează bucle do-while dintr-un comentariu, convertesc între tipuri de bucle și semnalează condițiile care ar putea provoca o buclă infinită.

Da. Instrumentele bazate pe inteligență artificială detectează bucle infinite, erori de tip „off-by-one” și condiții greșite de buclă și sugerează o logică de buclă mai clară.ping Interesele C++ codul rulează corect.

Da. Deoarece condiția este verificată după corp, o buclă do-while își execută întotdeauna corpul cel puțin o dată, chiar dacă condiția este falsă la prima verificare.

Rezumați această postare cu: