logo

C:n silmukalle vs. While-silmukalle

For-silmukan ja while-silmukan välisen eron ymmärtäminen

C++:n iteraatiokäskyt, kuten for loop, while loop ja do-while -silmukka, sallivat joukon käskyjä suorittaa toistuvasti, kunnes ehto on tosi, ja lopettaa sitten, kun ehto on epätosi. Iteraatiolausekkeilla voi olla ennalta määritettyjä ehtoja, kuten for-silmukassa, tai avoimia ehtoja, kuten while-silmukassa.

C++:ssa useat 'for'-silmukan muunnelmat tarkoittavat lisäämään kielen soveltuvuutta, tehoa ja joustavuutta. Esimerkiksi for-silmukan avulla voimme ohjata silmukkaa käyttämällä useita muuttujia sen sisällä, sekä konverge-funktion käytön 'for'-silmukan kanssa. Sitä vastoin emme voi käyttää monia muunnelmia while-silmukan kanssa; sitä on käytettävä vakiosyntaksin kanssa.

For- ja while-silmukoiden välillä on joitain merkittäviä eroja, joita selitetään tarkemmin vertailukaavion avulla.

For vs. While -silmukka C:ssä

For Loop määritellään seuraavasti

Javassa on kahdenlaisia ​​for-silmukoita. Ensimmäinen on 'perinteinen' muoto, kun taas toinen on 'jokaiselle' muoto.

Yleisin for-silmukan lausekkeen muoto.

 for (initialization; condition; iteration) { //body of for loop } 
    Alustus:For-silmukan silmukan ohjausmuuttuja alustetaan vain kerran, silmukan ensimmäisen iteraation aikana. Silmukan ohjausmuuttuja alustetaan tässä; jos silmukkamuuttujaa ei käytetä enää koskaan ohjelmassa ja sitä käytetään vain silmukan ohjausmuuttujana, se sekä deklaroidaan että alustetaan 'for'-silmukassa.Kunto:For-silmukan ehto suoritetaan joka kerta, kun silmukka iteroidaan.
  • Iteraatiolauseke on lauseke, joka lisää tai pienentää silmukkaa ohjaavaa muuttujaa.

Kun silmukka suoritetaan, alustusehto suoritetaan ensin ja sen jälkeen ehtojen tarkistus. Jos ehto täyttyy, silmukan runko suoritetaan ja sen jälkeen iteraatiokäsky. Ehto tarkistetaan sitten uudelleen sen määrittämiseksi, toistuuko silmukka edelleen vai päättyykö se.

Javassa alustus- ja iterointikäskyt voivat molemmat sisältää useita käskyjä. Pilku erottaa jokaisen lauseen; Javassa pilkku on erotin; C++:ssa pilkku on operaattori, jota voidaan käyttää missä tahansa kelvollisessa lausekkeessa.

For-each-silmukan syntaksi

For-each-lomake on for-silmukan kehittyneempi versio. For-each-silmukka saa seuraavan yleisen muodon.

 for(type iter_variable: collection) statement-block 

Parametri 'type' määrittää iteraatiomuuttujan tyypin, jota seuraa iteraatiomuuttuja. Elementti kokoelmamuuttujasta välitetään iteraatiomuuttujaan. Tyypin on vastattava kokoelmamuuttujan elementtien tyyppiä. For-silmukan for-each-muoto automatisoi silmukan iteroinnin alusta loppuun ja saa arvot peräkkäisessä järjestyksessä.

suorita komentosarjan kuori

Esimerkki

On olemassa erilaisia ​​kokoelmia, joita voidaan käyttää for-silmukan kanssa. Puhutaanpa siitä käyttämällä taulukkoa kokoelmana.

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

Lähtö:

 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' on iteraatiomuuttuja tässä tapauksessa; se vastaanottaa arvot array[]:sta yksitellen taulukon alimmasta korkeimpaan indeksiin. Silmukka toistuu, kunnes kaikki taulukon elementit on tutkittu. Silmukka voidaan katkaista keskeltä käyttämällä 'break'. Iteraatiomuuttujan muutoksella ei sen sijaan ole vaikutusta taulukkoon, koska se on vain luku -muuttuja.

estää YouTube-mainokset Androidissa

Vaikka silmukka on määritelty

While-silmukka on yksinkertaisin silmukka sekä C++:ssa että Javassa. A while-silmukan toiminta on samanlainen C++:ssa ja Javassa.

Syntaksi

Seuraava on while-silmukan ilmoitus:

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

While-silmukka tarkistaa ensin ehdon ja suorittaa sitten lauseet, kunnes while-silmukan ehto on tosi. Kun silmukassa ehto voi olla mikä tahansa boolen lauseke. Kun lauseke palauttaa nollasta poikkeavan arvon, ehto on tosi; kun se palauttaa nolla-arvon, ehto on epätosi.

Jos ehto on tosi, silmukka iteroi itsensä; jos ehto on epätosi, ohjaus välitetään välittömästi silmukan jälkeiselle koodiriville. Runkosilmukka tai lausekkeet voivat olla tyhjä lause, yksi lause tai lausekelohko.

Esimerkki

Katsotaanpa, kuinka while-silmukka toimii. Alla olevan esimerkin koodi tulostuu 1-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)>

Silmukan yläosassa ohjausmuuttuja 'ch' alustetaan ja silmukan kunto tarkistetaan.

Huomautus: Jos silmukan rungossa on vain yksi lause, olipa se for-silmukka tai while-silmukka, kiharasulkuja ei tarvita.

Mitä eroa on C:ssä for-silmukalla ja whileilla?

Parametrit Loopille Vaikka Loop
julistus for(alustus ; ehto ; iteraatio ) {
//for-silmukan runko
}
alustus
while ( ehto ) {
lausunnot;
//silmukan runko
}
Muoto. Silmukan yläosaan kirjoitetaan alustus-, kunnontarkistus- ja iteraatiolausekkeet. Silmukan yläosassa suoritetaan vain alustus ja kunnon tarkistus.
Käyttää. For-silmukkaa käytettiin vain, kun iteraatioiden määrä oli jo tiedossa. Kun iteraatioiden lukumäärää ei tiedetä, käytetään 'while'-silmukkaa.
Kunto. Jos ehtoa ei sisälly 'for'-silmukkaan, silmukka toistuu loputtomasti. Jos ehtoa ei sisälly 'while'-silmukkaan, tapahtuu käännösvirhe.
Alustus Alustus ei koskaan toistu 'for'-silmukassa. Jos alustus suoritetaan ehtotarkistuksen aikana while-silmukassa, alustus suoritetaan joka kerta, kun silmukka toistuu.
Iteraatioväite Koska 'for'-silmukan iteraatiokäsky on kirjoitettu yläreunaan, se suoritetaan vasta, kun kaikki silmukan käskyt on suoritettu. 'while'-silmukan iteraatiolause voidaan kirjoittaa mihin tahansa silmukan kohtaan.

Tärkeimmät erot for- ja while-silmukan välillä

  • Alustus, ehtojen tarkistus ja iteraatiomuuttujien lisääminen tai vähentäminen tehdään kaikki eksplisiittisesti vain silmukkasyntaksissa. Sitä vastoin while-silmukassa voimme vain alustaa ja tarkistaa ehdon silmukan syntaksissa.
  • Kun tiedämme silmukan suorituksessa tapahtuvien iteraatioiden lukumäärän, käytämme for-silmukkaa. Toisaalta, jos emme tiedä kuinka monta iteraatiota silmukassa täytyy tapahtua, käytämme while-silmukkaa.
  • Jos et sisällytä ehtolauseketta for-silmukkaan, silmukka kiertää loputtomasti. Sitä vastoin ehtolausekkeen sisällyttämättä jättäminen while-silmukkaan johtaa käännösvirheeseen.
  • For-silmukan syntaksin alustuskäsky suoritetaan vain kerran silmukan alussa. Jos while-silmukan syntaksi sisältää alustuskäskyn, alustuskäsky suoritetaan aina silmukan toistuessa.
  • For-silmukan iteraatiolause suoritetaan for-silmukan rungon jälkeen. Päinvastoin, koska iteraatiokäsky voidaan kirjoittaa mihin tahansa while-silmukan runkoon, jotkut käskyt voivat toteutua sen jälkeen, kun while-silmukan rungossa oleva iteraatiokäsky on suoritettu.

Johtopäätös

Silmukat ovat siis kokoelma komentoja, joita on käytettävä tietyssä järjestyksessä. Jos silmukan rakenne on virheellinen, ohjelmointi näyttää syntaksivirheen. Silmukat ajavat tuloksen saavuttamiseksi tai ehdon tai ehtojen joukon täyttämiseksi. Se on kaikkien ohjelmointikielten perusta.

Suorituksen aikana silmukkarakenne esittää kysymyksen ja suorittaa, kunnes vastaus on tyydyttävä. Sama kysymys esitetään uudestaan ​​​​ja uudestaan, kunnes uutta lausetta sovelletaan. Silmukkaprosessi jatkuu loputtomiin, kunnes ohjelma saavuttaa katkeamispisteen. Jos murtumiskohtaa ei saavuteta, ohjelma kaatuu.

For- ja while-silmukat ovat molemmat ehdollisia lauseita. For-silmukka on yksirivinen komento, joka suoritetaan toistuvasti. Silmukat voivat olla yksirivisiä tai sisältää useita komentoja yhdelle ehdolle.

Sekä for- että while-silmukka ovat tärkeitä tietokonekielissä tulosten saamiseksi. Ehto täyttyy, jos komennon syntaksi on oikea.

Sekä for- että while-silmukka ovat iteraatiolausekkeita, mutta niillä on omat ominaisuudet. For-silmukka ilmoittaa kaiken (alustus, ehto, iteraatio) silmukan rungon yläosassa. Sitä vastoin vain alustus ja ehto ovat silmukan rungon yläosassa while-silmukassa, ja iteraatio voidaan kirjoittaa mihin tahansa silmukan runkoon.