logo

Slučka For vs. While v C

Pochopenie rozdielu medzi slučkou for a slučkou while

Iteračné príkazy v C++, ako napríklad cyklus for, cyklus while a cyklus do-while, umožňujú opakovane vykonávať sadu inštrukcií, kým podmienka nie je pravdivá, a potom sa ukončiť, keď je podmienka nepravdivá. Iteračné príkazy môžu mať preddefinované podmienky, ako napríklad v slučke for, alebo podmienky s otvoreným koncom, napríklad v slučke while.

V C++ sú zahrnuté rôzne variácie cyklu „for“, aby sa zvýšila použiteľnosť, výkon a flexibilita jazyka. Napríklad cyklus for nám umožňuje riadiť cyklus pomocou viacerých premenných v ňom, ako aj pomocou funkcie konvergovať s cyklom „for“. Na rozdiel od toho nemôžeme použiť veľa variácií so slučkou while; musí sa použiť so štandardnou syntaxou.

Medzi cyklami for a while je niekoľko významných rozdielov, ktoré sú ďalej vysvetlené pomocou porovnávacej tabuľky.

Slučka For vs. While v C

Pre Loop je definovaný ako

V Jave existujú dva typy cyklov for. Prvá je „tradičná“ forma, zatiaľ čo druhá je forma „pre každého“.

reťazec java

Najvšeobecnejšia forma príkazu cyklu for.

 for (initialization; condition; iteration) { //body of for loop } 
    Inicializácia:Riadiaca premenná cyklu cyklu for sa inicializuje iba raz, počas prvej iterácie cyklu. Tu sa inicializuje riadiaca premenná slučky; ak sa premenná slučky v programe už nikdy nepoužije a použije sa iba ako riadiaca premenná slučky, je deklarovaná aj inicializovaná v slučke „for“.podmienka:Podmienka cyklu „for“ sa vykoná pri každom opakovaní cyklu.
  • Iteračný príkaz je výraz, ktorý zvyšuje alebo znižuje premennú riadiacu slučku.

Keď sa cyklus vykoná, najskôr sa vykoná inicializačná podmienka, po ktorej nasleduje kontrola stavu. Ak je podmienka splnená, vykoná sa telo cyklu, po ktorom nasleduje iteračný príkaz. Podmienka sa potom znova skontroluje, aby sa určilo, či sa bude slučka ďalej opakovať alebo sa skončí.

V jazyku Java môžu inicializačné aj iteračné príkazy obsahovať viacero príkazov. Každý výrok oddeľuje čiarka; v jazyku Java je čiarka oddeľovačom; v C++ je čiarka operátor, ktorý možno použiť v akomkoľvek platnom výraze.

Syntax cyklu pre každého

Formulár „pre každého“ je pokročilejšou verziou cyklu for. Slučka for-each má nasledujúcu všeobecnú formu.

 for(type iter_variable: collection) statement-block 

Parameter 'type' špecifikuje typ premennej iterácie, za ktorou nasleduje premenná iterácie. Prvok z premennej kolekcie bude odovzdaný do premennej iterácie. Typ sa musí zhodovať s typom prvkov v premennej kolekcie. Forma for-každého cyklu for automatizuje iteráciu cyklu od začiatku do konca, pričom pristupuje k hodnotám v sekvenčnom poradí.

Príklad

Existujú rôzne typy kolekcií, ktoré možno použiť so slučkou for. Povedzme si o tom pomocou poľa ako kolekcie.

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

Výkon:

json z java objektu
 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 tomto prípade iteračná premenná; dostáva hodnoty z poľa[], jednu po druhej, od najnižšieho po najvyšší index v poli. Cyklus sa opakuje, kým nie sú preskúmané všetky prvky poľa. Slučku je možné v strede prerušiť pomocou „prerušenia“. Na druhej strane zmena premennej iterácie nemá žiadny vplyv na pole, pretože ide o premennú len na čítanie.

Kým slučka je definovaná ako

Cyklus while je najzákladnejšou slučkou v C++ aj Jave. Operácia while loop je podobná v C++ a Java.

Syntax

Nasleduje deklarácia cyklu while:

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

Cyklus while najprv skontroluje podmienku a potom vykoná príkazy, kým podmienka v slučke while nie je pravdivá. V slučke while môže byť podmienkou akýkoľvek boolovský výraz. Keď výraz vráti nenulovú hodnotu, podmienka je pravdivá; keď vráti nulovú hodnotu, podmienka je nepravdivá.

Ak je podmienka pravdivá, cyklus sa sám iteruje; ak je podmienka nepravdivá, kontrola sa odovzdá riadku kódu bezprostredne po slučke. Slučka tela alebo príkazy môžu byť prázdnym príkazom, jedným príkazom alebo blokom príkazov.

Príklad

Pozrime sa, ako funguje while loop. Kód v príklade nižšie sa vytlačí 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)>

V hornej časti slučky sa inicializuje riadiaca premenná „ch“ a overí sa stav slučky.

Poznámka: Ak je v tele cyklu iba jeden príkaz, či už ide o cyklus for alebo cyklus while, zložené zátvorky sa nevyžadujú.

Aký je v C rozdiel medzi slučkou for a while?

Parametre Pre Loop Kým slučka
Vyhlásenie for(inicializácia ; podmienka ; iterácia ) {
//telo cyklu 'for'
}
inicializácia
zatiaľ čo ( podmienka ) {
Vyhlásenia;
//telo slučky
}
Formátovať. V hornej časti cyklu sú napísané inicializácia, kontrola stavu a iteračné príkazy. V hornej časti cyklu sa vykonáva iba inicializácia a kontrola stavu.
Použite. Cyklus „for“ sa použil iba vtedy, keď už bol známy počet iterácií. Keď nie je známy počet iterácií, použije sa cyklus „while“.
Podmienka. Ak podmienka nie je zahrnutá do cyklu „for“, cyklus sa opakuje donekonečna. Ak podmienka nie je zahrnutá v slučke „while“, dôjde k chybe kompilácie.
Inicializácia Inicializácia sa nikdy neopakuje v slučke „for“. Ak sa inicializácia vykonáva počas kontroly stavu v slučke while, inicializácia sa vykoná pri každej iterácii slučky.
Iteračné tvrdenie Pretože príkaz iterácie v slučke „for“ je napísaný na začiatku, vykoná sa až po vykonaní všetkých príkazov v slučke. Iteračný príkaz v cykle „while“ možno zapísať kdekoľvek v cykle.

Kľúčové rozdiely medzi slučkami for a while

  • Inicializácia, kontrola stavu a inkrementácia alebo dekrementácia iteračných premenných sa všetko robí explicitne iba v syntaxi cyklu. Naproti tomu v slučke while môžeme iba inicializovať a skontrolovať podmienku v syntaxi slučky.
  • Keď poznáme počet iterácií, ktoré musia nastať pri vykonávaní cyklu, použijeme cyklus for. Na druhej strane, ak nevieme, koľko iterácií musí nastať v slučke, použijeme slučku while.
  • Ak do cyklu for nezahrniete príkaz podmienky, cyklus sa bude opakovať donekonečna. Naopak, ak do cyklu while nezahrniete podmienku, bude to mať za následok chybu kompilácie.
  • Inicializačný príkaz v syntaxi cyklu for sa vykoná iba raz na začiatku cyklu. Ak syntax cyklu while obsahuje inicializačný príkaz, inicializačný príkaz sa vykoná pri každom opakovaní cyklu.
  • Príkaz iterácie v cykle for sa spustí za telom cyklu for. Naopak, pretože príkaz iterácie možno zapísať kdekoľvek v tele cyklu while, môžu existovať niektoré príkazy, ktoré sa vykonajú po vykonaní príkazu iterácie v tele cyklu while.

Záver

Slučky sú teda súborom príkazov, ktoré sa musia použiť v určitom poradí. Ak je štruktúra slučky nesprávna, programovanie zobrazí chybu syntaxe. Slučky prebiehajú na získanie výsledku alebo na splnenie podmienky alebo súboru podmienok. Je základom všetkých programovacích jazykov.

vyčistiť vyrovnávaciu pamäť npm

Počas vykonávania sa štruktúra cyklu pýta na otázku a vykonáva sa, kým odpoveď nie je uspokojivá. Tá istá otázka sa kladie znova a znova, kým sa nepoužije nové vyhlásenie. Proces cyklovania pokračuje donekonečna, kým program nedosiahne bod prerušenia. V prípade, že sa nedosiahne bod zlomu, program spadne.

Cykly for a while sú podmienené príkazy. Cyklus for je jednoriadkový príkaz, ktorý sa bude vykonávať opakovane. Kým slučky môžu byť jednoriadkové alebo môžu obsahovať viacero príkazov pre jednu podmienku.

Cyklus for aj cyklus while sú dôležité v počítačových jazykoch na získanie výsledkov. Podmienka je splnená, ak je syntax príkazu správna.

Cyklus for aj cyklus while sú iteračné príkazy, ale majú odlišné vlastnosti. Cyklus for deklaruje všetko (inicializáciu, podmienku, iteráciu) v hornej časti tela cyklu. Naproti tomu iba inicializácia a podmienka sú v hornej časti tela cyklu v slučke while a iteráciu je možné zapísať kdekoľvek v tele cyklu.