logo

Zanka za vs. While v C

Razumevanje razlike med zanko for in zanko while

Iteracijski stavki v C++, kot so for loop, while loop in do-while loop, omogočajo ponavljajoče se izvajanje niza navodil, dokler pogoj ni resničen, in se nato prekinejo, ko je pogoj napačen. Iteracijski stavki imajo lahko vnaprej določene pogoje, na primer v zanki for, ali odprte pogoje, na primer v zanki while.

V C++ so predvidene različne različice zanke 'za', da se poveča uporabnost, moč in prilagodljivost jezika. Na primer, zanka for nam omogoča nadzor zanke z uporabo več spremenljivk znotraj nje, kot tudi uporabo konvergenčne funkcije z zanko 'for'. Nasprotno pa z zanko while ne moremo uporabiti veliko različic; uporabljati ga je treba s standardno sintakso.

Obstaja nekaj pomembnih razlik med zankama for in while, ki so nadalje pojasnjene s primerjalno tabelo.

Zanka za vs. While v C

For Loop je definiran kot

V Javi obstajata dve vrsti zank for. Prva je »tradicionalna« oblika, druga pa oblika »za vsakega«.

Najbolj splošna oblika stavka for zanke.

 for (initialization; condition; iteration) { //body of for loop } 
    Inicializacija:Nadzorna spremenljivka zanke for zanke se inicializira samo enkrat, med prvo ponovitvijo zanke. Tukaj se inicializira spremenljivka za krmiljenje zanke; če se spremenljivka zanke nikoli več ne uporabi v programu in se uporablja le kot nadzorna spremenljivka zanke, je deklarirana in inicializirana v zanki 'for'.Pogoj:Pogoj zanke 'for' se izvede vsakič, ko se zanka ponovi.
  • Iteracijski stavek je izraz, ki poveča ali zmanjša spremenljivko za krmiljenje zanke.

Ko se zanka izvede, se najprej izvede inicializacijski pogoj, ki mu sledi preverjanje pogoja. Če je pogoj izpolnjen, se izvede telo zanke, ki mu sledi stavek ponovitve. Pogoj se nato ponovno preveri, da se ugotovi, ali se bo zanka nadaljevala ali prekinila.

ti si spojen

V Javi lahko inicializacijski in iteracijski stavki vsebujejo več stavkov. Vsako izjavo ločuje vejica; v Javi je vejica ločilo; v C++ je vejica operator, ki se lahko uporabi v katerem koli veljavnem izrazu.

Sintaksa zanke for-each

Obrazec 'za vsakega' je naprednejša različica zanke for. Zanka for-each ima naslednjo splošno obliko.

 for(type iter_variable: collection) statement-block 

Parameter 'type' določa vrsto iteracijske spremenljivke, ki ji sledi iteracijska spremenljivka. Element iz spremenljivke zbiranja bo posredovan spremenljivki iteracije. Tip se mora ujemati s tipom elementov v spremenljivki zbirke. For-each oblika zanke for avtomatizira ponavljanje zanke od začetka do konca, pri čemer dostopa do vrednosti v zaporednem vrstnem redu.

Primer

Obstajajo različne vrste zbirk, ki jih je mogoče uporabiti z zanko for. Pogovorimo se o tem z uporabo matrike kot zbirke.

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

Izhod:

 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' je v tem primeru iteracijska spremenljivka; prejme vrednosti iz array[], eno za drugo, od najnižjega do najvišjega indeksa v matriki. Zanka se ponavlja, dokler niso pregledani vsi elementi polja. Zanko lahko prekinete na sredini z uporabo 'break'. Po drugi strani pa sprememba spremenljivke iteracije ne vpliva na matriko, ker je spremenljivka samo za branje.

Medtem ko je zanka definirana kot

Zanka while je najosnovnejša zanka v C++ in Javi. Delovanje zanke while je podobno v C++ in Javi.

Sintaksa

Sledi deklaracija zanke while:

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

Zanka while najprej preveri pogoj in nato izvaja stavke, dokler pogoj v zanki while ni resničen. V zanki while je pogoj lahko poljuben logični izraz. Ko izraz vrne vrednost, ki ni nič, je pogoj resničen; ko vrne vrednost nič, je pogoj napačen.

Če je pogoj resničen, se zanka ponovi; če je pogoj napačen, se nadzor prenese na vrstico kode, ki sledi zanki. Telo zanke ali stavkov je lahko prazen stavek, en sam stavek ali blok stavkov.

Primer

Poglejmo, kako deluje zanka while. Koda v spodnjem primeru bo natisnjena od 1 do 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)>

Na vrhu zanke se inicializira kontrolna spremenljivka 'ch' in preveri stanje zanke.

Opomba: Če je v telesu zanke samo en stavek, ne glede na to, ali gre za zanko for ali zanko while, zavit oklepaj ni potreben.

Kakšna je v C razlika med zanko for in a while?

Parametri Za zanko Medtem ko Loop
Izjava za(inicializacija; pogoj; ponovitev) {
//telo zanke 'for'
}
inicializacija
medtem ko (pogoj) {
izjave;
//telo zanke
}
Oblika. Na vrhu zanke so zapisani stavki o inicializaciji, preverjanju pogojev in iteraciji. Na vrhu zanke se izvede samo inicializacija in preverjanje stanja.
Uporaba. Zanka 'for' je bila uporabljena le, ko je bilo že znano število ponovitev. Ko število ponovitev ni znano, se uporabi zanka 'while'.
Pogoj. Če pogoj ni vključen v zanko 'za', se zanka ponavlja v nedogled. Če pogoj ni vključen v zanko 'while', pride do napake pri prevajanju.
Inicializacija Inicializacija se nikoli ne ponovi v zanki 'for'. Če se inicializacija izvede med preverjanjem pogoja v zanki while, se inicializacija izvede vsakič, ko se zanka ponovi.
Iteracijska trditev Ker je iteracijski stavek v zanki 'for' zapisan na vrhu, se izvede šele, ko so izvedeni vsi stavki v zanki. Iteracijski stavek v zanki 'while' se lahko zapiše kamor koli v zanki.

Ključne razlike med zanko for in while

  • Inicializacija, preverjanje pogojev in povečevanje ali zmanjševanje iteracijskih spremenljivk se izvajajo eksplicitno samo v sintaksi zanke. V nasprotju s tem lahko v zanki while samo inicializiramo in preverimo pogoj v sintaksi zanke.
  • Ko poznamo število ponovitev, ki se morajo zgoditi pri izvajanju zanke, uporabimo zanko for. Po drugi strani pa, če ne vemo, koliko ponovitev se mora zgoditi v zanki, uporabimo zanko while.
  • Če v zanko for ne vključite stavka pogoja, se bo zanka izvajala za nedoločen čas. Nasprotno, če v zanko while ne vključite stavka pogoja, bo prišlo do napake pri prevajanju.
  • Inicializacijski stavek v sintaksi zanke for se izvede samo enkrat na začetku zanke. Če sintaksa zanke while vključuje inicializacijski stavek, bo inicializacijski stavek izveden vsakič, ko se zanka ponovi.
  • Iteracijski stavek v zanki for se bo izvajal za telesom zanke for. Nasprotno, ker je iteracijski stavek lahko zapisan kjerkoli v telesu zanke while, lahko obstajajo nekateri stavki, ki se izvedejo po izvedbi iteracijskega stavka v telesu zanke while.

Zaključek

Zanke so torej zbirka ukazov, ki jih je treba uporabiti v določenem vrstnem redu. Če je struktura zanke napačna, bo programiranje prikazalo sintaktično napako. Zanke se izvajajo za pridobitev rezultata ali za izpolnitev pogoja ali niza pogojev. Je temelj vseh programskih jezikov.

Med izvajanjem struktura zanke postavi vprašanje in se izvaja, dokler odgovor ni zadovoljiv. Isto vprašanje se postavlja znova in znova, dokler se ne uporabi nova izjava. Postopek zanke se nadaljuje v nedogled, dokler program ne doseže prekinitvene točke. V primeru, da točka preloma ni dosežena, se bo program zrušil.

katrina kaif

Zanki for in while sta obe pogojni stavki. Zanka for je enovrstični ukaz, ki se bo izvajal večkrat. Medtem ko so zanke lahko enovrstične ali vsebujejo več ukazov za en pogoj.

Tako zanka for kot zanka while sta v računalniških jezikih pomembni za pridobivanje rezultatov. Pogoj je izpolnjen, če je sintaksa ukaza pravilna.

Tako zanka for kot zanka while sta iteracijski stavki, vendar imata različne značilnosti. Zanka for deklarira vse (inicializacijo, pogoj, ponovitev) na vrhu telesa zanke. V nasprotju s tem sta samo inicializacija in pogoj na vrhu telesa zanke v zanki while, ponovitev pa je mogoče zapisati kjer koli v telesu zanke.