logo

For vs. While petlja u C-u

Razumijevanje razlike između for petlje i while petlje

Naredbe iteracije u C++, kao što su for petlja, while petlja i do-while petlja, dopuštaju da se skup instrukcija ponavlja dok uvjet nije istinit, a zatim prekidaju kada je uvjet lažan. Iteracijske izjave mogu imati unaprijed definirane uvjete, kao što je for petlja, ili otvorene uvjete, kao što je while petlja.

U C++-u se podrazumijeva niz varijacija petlje 'for' kako bi se povećala primjenjivost, snaga i fleksibilnost jezika. Na primjer, for petlja nam omogućuje da kontroliramo petlju korištenjem višestrukih varijabli unutar nje, kao i korištenje funkcije konvergiranja s 'for' petljom. Nasuprot tome, ne možemo koristiti mnogo varijacija s while petljom; mora se koristiti sa standardnom sintaksom.

Postoje neke značajne razlike između for i while petlji, koje su dodatno objašnjene korištenjem usporedne tablice.

pretvoriti string u char
For vs. While petlja u C-u

For Loop je definiran kao

U Javi postoje dvije vrste for petlji. Prvi je 'tradicionalni' oblik, dok je drugi oblik 'za svakoga'.

Najopćenitiji oblik naredbe for petlje.

 for (initialization; condition; iteration) { //body of for loop } 
    Inicijalizacija:Upravljačka varijabla petlje for se inicijalizira samo jednom, tijekom prve iteracije petlje. Ovdje se inicijalizira kontrolna varijabla petlje; ako se varijabla petlje nikada više ne koristi u programu i koristi se samo kao kontrolna varijabla petlje, ona se i deklarira i inicijalizira u petlji 'for'.Stanje:Uvjet petlje 'for' izvršava se svaki put kada se petlja ponavlja.
  • Iteracijski iskaz je izraz koji povećava ili smanjuje kontrolnu varijablu petlje.

Kada se petlja izvrši, prvo se izvršava uvjet inicijalizacije, a zatim slijedi provjera uvjeta. Ako je uvjet ispunjen, izvršava se tijelo petlje, nakon čega slijedi naredba iteracije. Uvjet se zatim ponovno provjerava kako bi se utvrdilo hoće li petlja iterirati dalje ili će se prekinuti.

U Javi, izjave inicijalizacije i iteracije mogu sadržavati više izjava. Zarez odvaja svaku izjavu; u Javi, zarez je razdjelnik; u C++, zarez je operator koji se može koristiti u bilo kojem važećem izrazu.

Sintaksa for-each petlje

Obrazac 'za svaki' je naprednija verzija for petlje. Petlja for-each ima sljedeći opći oblik.

 for(type iter_variable: collection) statement-block 

Parametar 'type' specificira vrstu varijable iteracije, nakon koje slijedi varijabla iteracije. Element iz varijable zbirke bit će proslijeđen varijabli iteracije. Tip mora odgovarati tipu elemenata u varijabli zbirke. For-each forma petlje for automatizira ponavljanje petlje od početka do kraja, pristupajući vrijednostima uzastopnim redoslijedom.

Primjer

Postoje razne vrste kolekcija koje se mogu koristiti s for petljom. Razgovarajmo o tome korištenjem niza kao 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); } } 

Izlaz:

 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 varijabla ponavljanja u ovom slučaju; prima vrijednosti iz array[], jednu po jednu, od najnižeg do najvišeg indeksa u nizu. Petlja se ponavlja sve dok se ne ispitaju svi elementi niza. Petlja se može prekinuti u sredini korištenjem 'break'. Promjena varijable iteracije, s druge strane, nema utjecaja na niz jer je to varijabla samo za čitanje.

Dok je petlja definirana kao

While petlja je najosnovnija petlja u C++ i Javi. Operacija while petlje je slična u C++ i Javi.

Sintaksa

Slijedi deklaracija while petlje:

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

While petlja prvo provjerava uvjet, a zatim izvršava naredbe sve dok uvjet u while petlji ne postane istinit. U while petlji, uvjet može biti bilo koji Boolean izraz. Kada izraz vrati vrijednost različitu od nule, uvjet je istinit; kada vrati nultu vrijednost, uvjet je lažan.

Ako je uvjet istinit, petlja se sama ponavlja; ako je uvjet lažan, kontrola se prosljeđuje liniji koda neposredno nakon petlje. Tijelo petlje ili naredbe mogu biti prazne naredbe, pojedinačne naredbe ili blok naredbi.

Primjer

Pogledajmo kako radi petlja while. Kod u donjem primjeru ispisat će se od 1 do 10.

ispis izjave u Javi
 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 petlje se inicijalizira kontrolna varijabla 'ch' i provjerava se stanje petlje.

Napomena: Ako postoji samo jedna izjava u tijelu petlje, bilo da je to for petlja ili while petlja, vitičaste zagrade nisu potrebne.

U C-u, koja je razlika između for petlje i a while?

Parametri Za petlju Dok petlja
deklaracija za(inicijalizacija; uvjet; iteracija) {
//tijelo 'for' petlje
}
inicijalizacija
dok (uvjet) {
izjave;
//tijelo petlje
}
Format. Na vrhu petlje pišu se izjave o inicijalizaciji, provjeri uvjeta i iteraciji. Na vrhu petlje izvodi se samo inicijalizacija i provjera stanja.
Koristiti. Petlja 'for' korištena je samo kada je broj ponavljanja već poznat. Kada je broj ponavljanja nepoznat, koristi se petlja 'while'.
Stanje. Ako uvjet nije uključen u petlju 'for', petlja se ponavlja unedogled. Ako uvjet nije uključen u petlju 'while', javlja se pogreška kompilacije.
Inicijalizacija Inicijalizacija se nikada ne ponavlja u 'for' petlji. Ako se inicijalizacija izvodi tijekom provjere uvjeta u while petlji, inicijalizacija se izvodi svaki put kada se petlja ponavlja.
Iteracijska tvrdnja Budući da je naredba iteracije u petlji 'for' napisana na vrhu, ona se izvršava tek nakon što se izvrše sve naredbe u petlji. Naredba iteracije u 'while' petlji može se napisati bilo gdje u petlji.

Ključne razlike između for i while petlje

  • Inicijalizacija, provjera uvjeta i povećanje ili smanjenje iteracijskih varijabli obavljaju se eksplicitno samo u sintaksi petlje. Nasuprot tome, u petlji while možemo samo inicijalizirati i provjeriti uvjet u sintaksi petlje.
  • Kada znamo broj ponavljanja koje se mora dogoditi u izvođenju petlje, koristimo for petlju. S druge strane, ako ne znamo koliko se ponavljanja mora dogoditi u petlji, koristimo petlju while.
  • Ako ne uključite naredbu uvjeta u for petlju, petlja će se ponavljati neograničeno dugo. Nasuprot tome, neuspjeh uključivanja izjave uvjeta u while petlju rezultirat će greškom kompilacije.
  • Izjava o inicijalizaciji u sintaksi petlje for izvodi se samo jednom na početku petlje. Ako sintaksa while petlje uključuje inicijalizacijsku naredbu, inicijalizacijska naredba će se izvršiti svaki put kada se petlja ponovi.
  • Naredba iteracije u for petlji pokrenut će se nakon tijela for petlje. Naprotiv, budući da se iteracijska naredba može napisati bilo gdje u tijelu while petlje, mogu postojati neke naredbe koje se izvode nakon što se izvrši iteracijska naredba u tijelu while petlje.

Zaključak

Petlje su stoga zbirka naredbi koje se moraju koristiti određenim redoslijedom. Ako je struktura petlje netočna, programiranje će prikazati sintaktičku pogrešku. Petlje se pokreću da bi se dobio rezultat ili da bi se zadovoljio uvjet ili skup uvjeta. To je temelj svih programskih jezika.

Tijekom izvođenja, struktura petlje postavlja pitanje i izvršava se dok odgovor ne bude zadovoljavajući. Isto se pitanje postavlja opet i opet dok se ne primijeni nova izjava. Proces petlje nastavlja se neograničeno dok program ne dosegne točku prekida. U slučaju da se prijelomna točka ne dosegne, program će se srušiti.

I for i while petlje su uvjetne izjave. For petlja je naredba u jednom retku koja će se ponavljati. Dok petlje mogu biti jednolinijske ili sadržavati više naredbi za jedan uvjet.

I for petlja i while petlja važne su u računalnim jezicima za dobivanje rezultata. Uvjet je zadovoljen ako je sintaksa naredbe ispravna.

I for petlja i while petlja su iteracijske izjave, ali imaju različite karakteristike. For petlja deklarira sve (inicijalizaciju, stanje, iteraciju) na vrhu tijela petlje. Nasuprot tome, samo su inicijalizacija i uvjet na vrhu tijela petlje u while petlji, a iteracija se može napisati bilo gdje u tijelu petlje.