logo

For vs While loop i C

Förstå skillnaden mellan en for loop och en while loop

Iterationssatserna i C++, som för loop, while loop och do-while loop, tillåter att en uppsättning instruktioner exekveras upprepade gånger tills villkoret är sant, och avslutas sedan när villkoret är falskt. Iterationssatser kan ha fördefinierade villkor, till exempel i en for-loop, eller öppna villkor, till exempel i en while-loop.

I C++ antyds en mängd olika 'för'-loopvariationer för att öka språkets tillämpbarhet, kraft och flexibilitet. Till exempel tillåter for-loopen oss att styra loopen genom att använda flera variabler inuti den, såväl som användningen av konvergeringsfunktionen med 'for'-loopen. Däremot kan vi inte använda många varianter med while-slingan; den måste användas med standardsyntaxen.

Det finns några betydande skillnader mellan for- och while-slingorna, som förklaras ytterligare med hjälp av ett jämförelsediagram.

For vs While loop i C

För Loop definieras som

Det finns två typer av for-loopar i Java. Den första är den 'traditionella' formen, medan den andra är 'för-varje'-formen.

Den mest allmänna formen av en for loop-sats.

 for (initialization; condition; iteration) { //body of for loop } 
    Initiering:For loopens styrvariabel initieras endast en gång, under den första iterationen av loopen. Den loopkontrollerande variabeln initieras här; om loopvariabeln aldrig används igen i programmet och endast används som loopens styrvariabel, deklareras och initieras den i 'for'-loopen.Skick:'For'-loopens villkor exekveras varje gång loopen itereras.
  • Iterationssatsen är ett uttryck som ökar eller minskar den loopkontrollerande variabeln.

När slingan exekveras, exekveras initialiseringsvillkoret först, följt av villkorskontrollen. Om villkoret är uppfyllt exekveras loopens brödtext, följt av iterationssatsen. Villkoret kontrolleras sedan igen för att avgöra om slingan kommer att upprepas ytterligare eller avslutas.

I Java kan både initialiserings- och iterationssatserna innehålla flera satser. Ett kommatecken skiljer varje påstående åt; i Java är ett kommatecken en avgränsare; i C++ är ett kommatecken en operator som kan användas i vilket giltigt uttryck som helst.

Syntaxen för för varje loop

Formen 'för-varje' är en mer avancerad version av for-slingan. För varje slinga har följande allmänna form.

 for(type iter_variable: collection) statement-block 

Parametern 'type' anger typen av iterationsvariabel, som följs av iterationsvariabeln. Elementet från samlingsvariabeln skickas till iterationsvariabeln. Typen måste matcha typen av element i samlingsvariabeln. For-each-formen av for-loopen automatiserar loopens iteration från början till slut, och får tillgång till värdena i sekventiell ordning.

Exempel

Det finns olika typer av samlingar som kan användas med en for-loop. Låt oss prata om det med en array som en samling.

 public class Main { public static void main(String[] args) { int array[]={10, 20, 30, 40, 50, 60}; int add=0; for( int c: array) { System.out.println( 'value in c ' + c); add = add+c; } System.out.println('additon of array elements is ' +add); } } 

Produktion:

 value in c 10 value in c 20 value in c 30 value in c 40 value in c 50 value in c 60 additon of array elements is 210 

'c' är en iterationsvariabel i detta fall; den tar emot värdena från array[], ett efter ett, från det lägsta till det högsta indexet i arrayen. Slingan itererar tills alla arrayens element har undersökts. Slingan kan brytas på mitten genom att använda 'break'. Ändringen i iterationsvariabeln har å andra sidan ingen effekt på arrayen eftersom den är en skrivskyddad variabel.

Medan loop definieras som

While-loopen är den mest grundläggande loopen i både C++ och Java. A while loops funktion är liknande i C++ och Java.

Syntax

Följande är while-loop-deklarationen:

 while ( condition) { statements; //body of loop } 

While-slingan kontrollerar först villkoret och exekverar sedan satserna tills villkoret i while-slingan är sant. I en while-loop kan villkoret vara vilket booleskt uttryck som helst. När ett uttryck returnerar ett värde som inte är noll är villkoret sant; när den returnerar ett nollvärde är villkoret falskt.

Om villkoret är sant, itererar loopen sig själv; om villkoret är falskt överförs kontrollen till kodraden omedelbart efter slingan. Kroppsslingan eller -satserna kan vara en tom sats, en enskild sats eller ett block av satser.

Exempel

Låt oss titta på hur en while loop fungerar. Koden i exemplet nedan kommer att skrivas ut från 1 till 10.

 public class Main { public static void main (String args[]) { int n=0; while(n<10) { n++; system.out.println('n=" +n); } } } &lt;/pre&gt; &lt;p&gt; &lt;strong&gt;Output:&lt;/strong&gt; &lt;/p&gt; &lt;pre&gt; n=1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n=10 &lt;/pre&gt; &lt;p&gt;The initial value of " n' in this case is 0, which makes the condition while loop true. control then enters loop's body, where value of 'n' incremented accordance with first statement.< p> <p>The value of &apos;n&apos; is printed, then control returns to the condition in a while loop, where the value of &apos;n&apos; is now 1, satisfying the condition once more, and the body of the loop is executed once more. This continues until the condition becomes false, at which point the loop is terminated.</p> <p>The &apos;while&apos; loop, like the &apos;for&apos; loop, can initialise the control variable at the beginning of the loop, i.e. during condition checking.</p> <pre> //for example while((ch = getchar( ) ) != &apos;A&apos;) { System.out.println(&apos; The input alphabet &apos; +ch); } </pre> <p>At the top of the loop, the control variable &apos;ch&apos; is initialised, and the loop&apos;s condition is verified.</p> <h4>Note: If there is only one statement in the body of the loop, whether it is a for loop or a while loop, the curly braces are not required.</h4> <h3>In C, what is the difference between a for loop and a while?</h3> <table class="table"> <tr> <th>Parameters</th> <th>For Loop</th> <th>While Loop</th> </tr> <tr> <td> <strong>Declaration</strong> </td> <td>for(initialization ; condition ; iteration ) { <br> //body of &apos;for&apos; loop <br> }</td> <td>initialization <br>while ( condition ) { <br>statements; <br>//body of loop <br>}</td> </tr> <tr> <td> <strong>Format.</strong> </td> <td>At the top of the loop, initialization, condition checking, and iteration statements are written.</td> <td>At the top of the loop, only initialization and condition checking are performed.</td> </tr> <tr> <td> <strong>Use.</strong> </td> <td>The &apos;for&apos; loop was only used when the number of iterations was already known.</td> <td>When the number of iterations is unknown, the &apos;while&apos; loop is used.</td> </tr> <tr> <td> <strong>Condition.</strong> </td> <td>If the condition is not included in the &apos;for&apos; loop, the loop iterates indefinitely.</td> <td>If the condition is not included in the &apos;while&apos; loop, a compilation error occurs.</td> </tr> <tr> <td> <strong>Initialization</strong> </td> <td>The initialization is never repeated in a &apos;for&apos; loop.</td> <td>If initialization is performed during condition checking in a while loop, initialization is performed each time the loop iterates.</td> </tr> <tr> <td> <strong>Iteration assertion</strong> </td> <td>Because the iteration statement in the &apos;for&apos; loop is written at the top, it executes only after all statements in the loop have been executed.</td> <td>The iteration statement in a &apos;while&apos; loop can be written anywhere in the loop.</td> </tr> </table> <h2>The Key Differences Between for and while loop</h2> <ul> <li>Initialization, condition checking, and increment or decrement of iteration variables are all done explicitly in the loop syntax only. In contrast, in the while loop, we can only initialise and check the condition in the loop syntax.</li> <li>When we know the number of iterations that must occur in a loop execution, we use the for loop. On the other hand, if we do not know how many iterations must occur in a loop, we use a while loop.</li> <li>If you do not include a condition statement in the for loop, the loop will loop indefinitely. In contrast, failing to include a condition statement in the while loop will result in a compilation error.</li> <li>The initialization statement in the for loop syntax is only executed once at the beginning of the loop. If the while loop&apos;s syntax includes an initialization statement, the initialization statement will be executed each time the loop iterates.</li> <li>The iteration statement in the for loop will run after the body of the for loop. On the contrary, because the iteration statement can be written anywhere in the body of the while loop, there may be some statements that execute after the iteration statement in the body of the while loop is executed.</li> </ul> <h2>Conclusion</h2> <p>Loops are thus a collection of commands that must be used in a specific order. If the loop structure is incorrect, the programming will display the syntax error. Loops run to obtain a result or to satisfy a condition or set of conditions. It is the foundation of all programming languages.</p> <p>During execution, the loop structure asks a question and executes until the answer is satisfactory. The same question is asked again and again until the new statement is applied. The looping process continues indefinitely until the programme reaches a breakpoint. In the event that the breaking point is not reached, the programme will crash.</p> <p>The for and while loops are both conditional statements. A for loop is a single-line command that will be executed repeatedly. While loops can be single-lined or contain multiple commands for a single condition.</p> <p>Both the for loop and the while loop are important in computer languages for obtaining results. The condition is met if the command syntax is correct.</p> <p>Both the for loop and the while loop are iteration statements, but they have distinct characteristics. The for loop declares everything (initialization, condition, iteration) at the top of the loop body. In contrast, only initialization and condition are at the top of the body of the loop in a while loop, and iteration can be written anywhere in the body of the loop.</p> <hr></10)>

Överst i slingan initieras kontrollvariabeln 'ch' och slingans tillstånd verifieras.

Obs: Om det bara finns en sats i slingans brödtext, oavsett om det är en for-loop eller en while-slinga, krävs inte de lockiga klammerparenteserna.

I C, vad är skillnaden mellan a for loop och a while?

Parametrar För Loop Medan Loop
Deklaration for(initiering ; villkor ; iteration ) {
//body of 'for' loop
}
initiering
while (villkor) {
uttalanden;
//body of loop
}
Formatera. Överst i slingan skrivs initialiserings-, tillståndskontroll- och iterationssatser. Överst i slingan utförs endast initiering och tillståndskontroll.
Använda sig av. 'For'-loopen användes endast när antalet iterationer redan var känt. När antalet iterationer är okänt används 'while'-loopen.
Skick. Om villkoret inte ingår i 'för'-slingan, upprepas loopen på obestämd tid. Om villkoret inte ingår i 'while'-loopen uppstår ett kompileringsfel.
Initialisering Initieringen upprepas aldrig i en 'för'-slinga. Om initiering utförs under tillståndskontrollen i en while-loop, utförs initiering varje gång loopen itererar.
Iterationspåstående Eftersom iterationssatsen i 'for'-loopen skrivs överst, körs den först efter att alla programsatser i loopen har körts. Iterationssatsen i en 'while'-loop kan skrivas var som helst i loopen.

De viktigaste skillnaderna mellan for och while loop

  • Initialisering, villkorskontroll och ökning eller minskning av iterationsvariabler görs alla explicit endast i loopsyntaxen. Däremot kan vi i while-loopen bara initiera och kontrollera villkoret i loopsyntaxen.
  • När vi vet hur många iterationer som måste ske i en loopkörning använder vi for-loopen. Å andra sidan, om vi inte vet hur många iterationer som måste förekomma i en loop, använder vi en while-loop.
  • Om du inte inkluderar en villkorssats i for-loopen kommer loopen att loopa på obestämd tid. Om du däremot inte inkluderar en villkorssats i while-loopen kommer det att resultera i ett kompileringsfel.
  • Initieringssatsen i for loop-syntaxen exekveras endast en gång i början av loopen. Om while-loopens syntax inkluderar en initialiseringssats, kommer initialiseringssatsen att exekveras varje gång loopen itererar.
  • Iterationssatsen i for-loopen körs efter brödtexten i for-loopen. Tvärtom, eftersom iterationssatsen kan skrivas var som helst i while-loopens brödtext, kan det finnas vissa satser som körs efter att iterationssatsen i while-loopens brödtext har exekveras.

Slutsats

Slingor är alltså en samling kommandon som måste användas i en specifik ordning. Om loopstrukturen är felaktig kommer programmeringen att visa syntaxfelet. Slingor körs för att erhålla ett resultat eller för att uppfylla ett villkor eller en uppsättning villkor. Det är grunden för alla programmeringsspråk.

java volatile nyckelord

Under exekvering ställer loopstrukturen en fråga och exekverar tills svaret är tillfredsställande. Samma fråga ställs om och om igen tills det nya påståendet tillämpas. Slingprocessen fortsätter på obestämd tid tills programmet når en brytpunkt. I händelse av att brytpunkten inte nås kommer programmet att krascha.

For- och while-slingorna är båda villkorliga uttalanden. En for-loop är ett enradskommando som kommer att köras upprepade gånger. Medan loopar kan vara enkelradade eller innehålla flera kommandon för ett enda villkor.

Både for-slingan och while-slingan är viktiga i datorspråk för att få resultat. Villkoret är uppfyllt om kommandosyntaxen är korrekt.

Både for-slingan och while-slingan är iterationssatser, men de har distinkta egenskaper. For-loopen deklarerar allt (initiering, villkor, iteration) överst i loopkroppen. Däremot är endast initialisering och villkor högst upp i slingans kropp under en while-loop, och iteration kan skrivas var som helst i slingans kropp.