C ++ continue verklaring (met voorbeelden)

In deze tutorial zullen we met behulp van voorbeelden leren over de continue instructie en het werken met lussen.

Bij computerprogrammering wordt de continueinstructie gebruikt om de huidige iteratie van de lus over te slaan en gaat de besturing van het programma naar de volgende iteratie.

De syntaxis van de continueinstructie is:

 continue;

Voordat u de continue verklaring leert kennen, moet u op de hoogte zijn van:

  • C ++ voor lus
  • C ++ als… anders
  • C ++ while-lus

Werking van C ++ vervolg Statement

Werking van continue verklaring in C ++

Voorbeeld 1: ga verder met for lus

Slaat in een forlus continuede huidige iteratie over en de besturingsstroom springt naar de updateuitdrukking.

 // program to print the value of i #include using namespace std; int main() ( for (int i = 1; i <= 5; i++) ( // condition to continue if (i == 3) ( continue; ) cout << i << endl; ) return 0; )

Uitvoer

 1 2 4 5

In het bovenstaande programma hebben we de forlus gebruikt om de waarde van i in elke iteratie af te drukken. Let hier op de code,

 if (i == 3) ( continue; )

Dit betekent

  • Als i gelijk is aan 3, continueslaat de instructie de huidige iteratie over en start de volgende iteratie
  • Dan word ik 4, en de conditionwordt opnieuw geëvalueerd.
  • Vandaar, 4en 5worden afgedrukt in de volgende twee iteraties.

Opmerking : de continueverklaring wordt bijna altijd gebruikt bij besluitvormingsverklaringen.

Opmerking : de breakinstructie beëindigt de lus volledig. De continueinstructie slaat echter alleen de huidige iteratie over.

Voorbeeld 2: ga verder met while-lus

Slaat in een whilelus continuede huidige iteratie over en de besturingsstroom van het programma springt terug naar de while condition.

 // program to calculate positive numbers till 50 only // if the user enters a negative number, // that number is skipped from the calculation // negative number -> loop terminate // numbers above 50 -> skip iteration #include using namespace std; int main() ( int sum = 0; int number = 0; while (number>= 0) ( // add all positive numbers sum += number; // take input from the user cout <> number; // continue condition if (number> 50) ( cout << "The number is greater than 50 and won't be calculated." << endl; number = 0; // the value of number is made 0 again continue; ) ) // display the sum cout << "The sum is " << sum << endl; return 0; )

Uitvoer

Voer een getal in: 12 Voer een getal in: 0 Voer een getal in: 2 Voer een getal in: 30 Voer een getal in: 50 Voer een getal in: 56 Het getal is groter dan 50 en wordt niet berekend. Voer een getal in: 5 Voer een getal in: -3 De som is 99

In het bovenstaande programma voert de gebruiker een nummer in. De whilelus wordt gebruikt om de totale som van door de gebruiker ingevoerde positieve getallen af ​​te drukken, zolang de ingevoerde getallen niet groter zijn dan 50.

Let op het gebruik van de continueverklaring.

  if (number> 50)( continue; )
  • Wanneer de gebruiker een getal invoert dat groter is dan 50, continueslaat de instructie de huidige iteratie over. Vervolgens de besturingsstroom van het programma naar het conditionvan de whileloop.
  • Als de gebruiker een getal kleiner dan 0invoert, wordt de lus beëindigd.

Opmerking : de continueinstructie werkt op dezelfde manier voor de do… whileloops.

ga verder met de geneste lus

Wanneer continuewordt gebruikt met geneste lussen, wordt de huidige iteratie van de binnenste lus overgeslagen. Bijvoorbeeld,

 // using continue statement inside // nested for loop #include using namespace std; int main() ( int number; int sum = 0; // nested for loops // first loop for (int i = 1; i <= 3; i++) ( // second loop for (int j = 1; j <= 3; j++) ( if (j == 2) ( continue; ) cout << "i = " << i << ", j = " << j << endl; ) ) return 0; )

Uitvoer

 ik = 1, j = 1 ik = 1, j = 3 ik = 2, j = 1 ik = 2, j = 3 ik = 3, j = 1 ik = 3, j = 3

In het bovenstaande programma, wanneer de continueinstructie wordt uitgevoerd, wordt de huidige iteratie in de binnenste lus overgeslagen. En de besturing van het programma gaat naar de update-uitdrukking van de binnenste lus.

Daarom wordt de waarde van j = 2 nooit weergegeven in de uitvoer.

Interessante artikelen...