C++ do...when silmukka esimerkkien kanssa

⚡ Älykäs yhteenveto

Tee-se-itse-silmukka C++ suorittaa koodilohkon kerran ja toistaa sitä niin kauan kuin ehto pysyy tosi. Tässä opit do-while-silmukan toiminnan, sen syntaksin, milloin sitä käytetään ja esimerkkejä.

  • 🔂 Mitä se on: Do-while-silmukka suorittaa rungonsa kerran ja toistaa sitten niin kauan kuin ehto on tosi.
  • Toimii ensin: Runko suoritetaan aina vähintään kerran ennen ehdon tarkistamista.
  • 🧾 Syntaksi: do { lauseet } while(ehto); päättyy puolipisteeseen.
  • 🎯 Milloin käyttää: Käytä sitä, kun koodi on suoritettava ainakin kerran, kuten valikoissa.
  • 🤖 Tekoälyn apu: Tekoälytyökalut, kuten GitHub Copilot, kirjoittavat ja debugaavat C++ silmukoita välittömästi.

C++ Do-While Loop

Mikä on do-while -silmukka?

Do-while -silmukka toistaa osan C++ ohjelma useita kertoja. Do-while-silmukassa testilauseke lisätään silmukan alaosaan. Silmukan runko tulee ennen testilauseketta. Tästä syystä silmukan rungon on suoritettava kerran, vaikka testilausekkeen arvo olisi epätosi ensimmäisessä testissä.

Milloin do-while-silmukkaa kannattaa käyttää?

Do-while-silmukkaa tulisi käyttää, kun iteraatioiden lukumäärä ei ole kiinteä, ja silmukan on suoritettava vähintään kerran. The C++ kääntäjä suorittaa silmukan rungon ensin ennen ehdon arviointia. Tämä tarkoittaa, että silmukan on palautettava tulos. Näin on myös silloin, kun testiehto evaluoituu epätosi ensimmäisellä arvioinnilla. Koska silmukan runko on jo suoritettu, sen on palautettava tulos.

Syntaksi

Kohteen perussyntaksi C++ tee while-silmukka on seuraava:

do{    
//code 
}while(condition);  

Ehto on testilauseke. Sen on oltava totta, jotta silmukan suorittaminen onnistuu. { ja } merkitsevät do while -silmukan rungon. Se tulee ennen ehtoa. Siksi se suoritetaan ennen ehtoa.

Miten do-while -silmukka toimii?

Do-While Loop
C++ Tee samalla vuokaavio

Vuokaavion selitys:

  1. Do while -silmukan alku.
  2. Do while -silmukan runko.
  3. Arvioitava testilauseke tai ehto.
  4. Jos testilauseke on tosi, C++ kääntäjä suoritti do while -silmukan rungon.
  5. Jos testilauseke on epätosi, C++ kääntäjä suorittaa lausekkeet silmukan rungon jälkeen.
  6. Lausekkeet, jotka tulevat silmukan rungon jälkeen.

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

lähtö:

Do-While Loop

Tässä on kuvakaappaus koodista:

Do-While Loop

Code Selitys:

  1. Sisältää iostream-otsikkotiedoston koodiimme. Sen avulla voimme lukea konsolista ja kirjoittaa siihen.
  2. Mukaan lukien std-nimiavaruus, jotta sen luokkia ja toimintoja voidaan käyttää kutsumatta sitä.
  3. Main()-funktion kutsuminen, jonka sisään ohjelman logiikka pitäisi lisätä. { merkitsee main()-funktion rungon alkua.
  4. Kommentti. The C++ kääntäjä ohittaa tämän.
  5. Ilmoitetaan kokonaislukumuuttuja x ja annetaan sille arvo 1.
  6. Tee-while-silmukan luominen. { merkitsee silmukan rungon alkua.
  7. Tulostaa muuttujan x arvon muun konsolin tekstin rinnalle. Loppu on a C++ avainsana tarkoittaa loppuriviä.
  8. Kasvataan x:n arvoa yhdellä jokaisen iteraation jälkeen.
  9. Silmukan rungon pää. Testilauseke on lisätty silmukan rungon loppuun. Se testaa, onko x:n arvo pienempi kuin 5.
  10. Main()-funktion pitäisi palauttaa arvo, jos ohjelma toimii hyvin.
  11. Main()-funktion rungon loppu.

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

lähtö:

Do-While Loop

Tässä on kuvakaappaus koodista:

Do-While Loop

Code Selitys:

  1. Sisältää iostream-otsikkotiedoston koodiimme. Sen avulla voimme lukea konsolista ja kirjoittaa siihen.
  2. Mukaan lukien std-nimiavaruus, jotta sen luokkia ja toimintoja voidaan käyttää kutsumatta sitä.
  3. Main()-funktion kutsuminen, jonka sisään ohjelman logiikka pitäisi lisätä.
  4. { merkitsee main()-funktion rungon alkua.
  5. Kahden kokonaislukumuuttujan, num ja sum, ilmoittaminen. Muuttuva summa on alustettu nollaan.
  6. Tee-while-silmukan luominen. { merkitsee silmukan rungon alkua.
  7. Tekstin "Syötä numero:" tulostaminen konsoliin.
  8. Lukee käyttäjän syötteen konsolista ja tallentaa arvon muuttujaan num. cin (konsolisyöttö) on toiminto, joka lukee käyttäjän syötteitä.
  9. Num-arvon lisääminen summan arvoon ja tuloksen tallentaminen muuttuvaan summaan.
  10. } merkitsee silmukan rungon loppua. Testilauseke on lisätty silmukan rungon loppuun. Se testaa, onko käyttäjän syöttämä arvo varmistaakseen, että se ei ole 0. != ei ole sama kuin operaattori. Jos käyttäjä syöttää 0:n, silmukan tulee päättyä.
  11. Muuttuvan summan arvon tulostaminen konsoliin muun tekstin rinnalle.
  12. Main()-funktion pitäisi palauttaa arvo, jos ohjelma toimii hyvin.
  13. Main()-funktion rungon loppu.

Sisäkkäinen Do While Loop

In C++, voimme luoda yhden tee-while-silmukan toisen tee-koko-silmukan sisään. Tämä johtaa sisäkkäiseen do-while-silmukkaan.

Syntaksi

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

Ensimmäinen do-lause tarkoittaa ulomman do-while-silmukan do-osaa.

Toinen do-lause tarkoittaa sisemmän do-while-silmukan do-osaa.

Ensimmäinen while-lause tarkoittaa sisäisen silmukan testiehtoa.

Toinen while-lause ilmaisee ulomman silmukan testiehtoa.

Kuinka Nested Do While Loop toimii

Sisäkkäinen do while -silmukka toimii seuraavasti:

Vaihe 1: Alustus suoritetaan ensin ja kerran.

Vaihe 2: Lausekkeet (do) suoritetaan kerran.

Vaihe 3: Testilauseke on virtauksen ohjauksen arviointi.

Vaihe 4: Jos totta, sisäsilmukka suoritetaan.

Vaihe 5: Päivityslausunto(t) päivitetään.

Vaihe 6: Prosessi suoritetaan toistuvasti, kunnes testilausekkeesta tulee epätosi.

Vaihe 7: Kun testilausekkeesta tulee epätosi, sisempi silmukka poistuu ja ohjaus hyppää ulompaan silmukkaan.

Vaihe 8: Testitilanne arvioidaan uudelleen.

Vaihe 9: Jos tosi, lause(t) suoritetaan palauttamaan epätosi.

Vaihe 10: Silmukan pysäytysten ja ohjaushyppyjen suorittaminen lauseisiin silmukan jälkeen.

esimerkki

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

lähtö:

Sisäkkäinen Do While Loop

Tässä on kuvakaappaus koodista:

Sisäkkäinen Do While Loop

Code Selitys:

  1. Sisältää iostream-otsikkotiedoston koodiimme. Sen avulla voimme lukea konsolista ja kirjoittaa siihen.
  2. Mukaan lukien std-nimiavaruus, jotta sen luokkia ja toimintoja voidaan käyttää kutsumatta sitä.
  3. Main()-funktion kutsuminen, jonka sisään ohjelman logiikka pitäisi lisätä. { merkitsee main()-funktion rungon alkua.
  4. Ilmoitetaan kokonaislukumuuttuja a ja annetaan sille arvo 1.
  5. Ulkoisen do-while-silmukan luominen. { merkitsee ulomman silmukan rungon alkua.
  6. Ilmoitetaan kokonaislukumuuttuja b ja annetaan sille arvo 1.
  7. Sisäisen do-while-silmukan luominen. { merkitsee sisemmän silmukan rungon alkua.
  8. Tulostaa muuttujan a arvo konsoliin. "\n" on uusi rivimerkki, joka siirtää hiiren osoittimen seuraavalle riville.
  9. Kasvataan b:n arvoa 1:llä jokaisen iteraation jälkeen.
  10. Sisäsilmukan rungon pää. Testilauseke on lisätty silmukan rungon loppuun. Se testaa, onko b:n arvo pienempi tai yhtä suuri kuin 5.
  11. A:n arvo kasvaa yhdellä jokaisen iteraation jälkeen.
  12. Ulomman silmukan rungon pää. Testilauseke on lisätty silmukan rungon loppuun. Se testaa, onko a:n arvo pienempi tai yhtä suuri kuin 3.
  13. Main()-funktion rungon loppu.

UKK

Do-while-silmukka on ohjausrakenne, joka suorittaa runkonsa kerran ja toistaa sitä niin kauan kuin ehto on tosi. Ehto tarkistetaan jokaisen suorituksen jälkeen, ei sitä ennen.

While-silmukka tarkistaa ehdon ennen rungon suorittamista, joten se voi suorittaa sen nolla kertaa. Do-while-silmukka suorittaa rungon ensin ja tarkistaa ehdon vasta sen jälkeen, joten se suoritetaan aina vähintään kerran.

Syntaksi on do { lauseet } while(ehto);. Sulkeissa oleva runko suoritetaan ensin, sitten testataan suluissa olevaa ehtoa ja silmukka päättyy puolipisteeseen.

Käytä do-while-silmukkaa, kun koodi on suoritettava vähintään kerran ehdosta riippumatta, kuten valikon näyttäminen tai käyttäjän syötteen validointi.

Sisäkkäinen do-while-silmukka on toisen do-while-silmukan sisään sijoitettu do-while-silmukka. Sisempi silmukka suorittaa kaikki läpimenonsa ulomman silmukan jokaisella yksittäisellä läpimenolla.

Tekoälyavustajat, kuten GitHub Copilot, luovat do-while-silmukoita kommentista, muuntavat silmukkatyyppien välillä ja merkitsevät ehtoja, jotka voivat aiheuttaa äärettömän silmukan.

Kyllä. Tekoälyllä toimivat työkalut havaitsevat äärettömät silmukat, yksittäisten virheiden aiheuttamat virheet ja väärät silmukkaehdot ja ehdottavat selkeämpää silmukkalogiikkaa.ping omaa C++ koodi toimii oikein.

Kyllä. Koska ehto tarkistetaan rungon jälkeen, do-while-silmukka suorittaa aina rungon ainakin kerran, vaikka ehto olisi epätosi ensimmäisessä tarkastuksessa.

Tiivistä tämä viesti seuraavasti: