logo

while-silmukka C:ssä

Vaikka silmukka tunnetaan myös esitestattu silmukka. Yleisesti ottaen while-silmukka sallii osan koodista suorittaa useita kertoja riippuen tietystä loogisesta ehdosta. Sitä voidaan pitää toistuvana if-lauseena. While-silmukkaa käytetään enimmäkseen silloin, kun iteraatioiden lukumäärää ei tiedetä etukäteen.

While-silmukan syntaksi C-kielellä

C-kielen while-silmukan syntaksi on annettu alla:

 while(condition){ //code to be executed } 

Vuokaavio while-silmukasta C:ssä

c:n while-silmukan vuokaavio

Esimerkki while-silmukasta C-kielellä

Katsotaanpa yksinkertainen while-silmukan ohjelma, joka tulostaa taulukon 1.

 #include int main(){ int i=1; while(i<=10){ printf('%d 
',i); i++; } return 0; < pre> <h4>Output</h4> <pre> 1 2 3 4 5 6 7 8 9 10 </pre> <h2>Program to print table for the given number using while loop in C</h2> <pre> #include int main(){ int i=1,number=0,b=9; printf(&apos;Enter a number: &apos;); scanf(&apos;%d&apos;,&amp;number); while(i<=10){ printf('%d 
',(number*i)); i++; } return 0; < pre> <h4>Output</h4> <pre> Enter a number: 50 50 100 150 200 250 300 350 400 450 500 </pre> <pre> Enter a number: 100 100 200 300 400 500 600 700 800 900 1000 </pre> <hr> <h2>Properties of while loop</h2> <ul> <li>A conditional expression is used to check the condition. The statements defined inside the while loop will repeatedly execute until the given condition fails.</li> <li>The condition will be true if it returns 0. The condition will be false if it returns any non-zero number.</li> <li>In while loop, the condition expression is compulsory.</li> <li>Running a while loop without a body is possible.</li> <li>We can have more than one conditional expression in while loop.</li> <li>If the loop body contains only one statement, then the braces are optional.</li> </ul> <h4>Example 1</h4> <pre> #include void main () { int j = 1; while(j+=2,j<=10) { printf('%d ',j); } printf('%d',j); < pre> <h4>Output</h4> <pre> 3 5 7 9 11 </pre> <h4>Example 2</h4> <pre> #include void main () { while() { printf(&apos;hello Javatpoint&apos;); } } </pre> <h4>Output</h4> <pre> compile time error: while loop can&apos;t be empty </pre> <h4>Example 3</h4> <pre> #include void main () { int x = 10, y = 2; while(x+y-1) { printf(&apos;%d %d&apos;,x--,y--); } } </pre> <h4>Output</h4> <pre> infinite loop </pre> <h2>Infinitive while loop in C</h2> <p>If the expression passed in while loop results in any non-zero value then the loop will run the infinite number of times.</p> <pre> while(1){ //statement } </pre></=10)></pre></=10){></pre></=10){>

Ohjelma tulostaa taulukon annetulle numerolle C:n while-silmukalla

 #include int main(){ int i=1,number=0,b=9; printf(&apos;Enter a number: &apos;); scanf(&apos;%d&apos;,&amp;number); while(i<=10){ printf(\'%d 
\',(number*i)); i++; } return 0; < pre> <h4>Output</h4> <pre> Enter a number: 50 50 100 150 200 250 300 350 400 450 500 </pre> <pre> Enter a number: 100 100 200 300 400 500 600 700 800 900 1000 </pre> <hr> <h2>Properties of while loop</h2> <ul> <li>A conditional expression is used to check the condition. The statements defined inside the while loop will repeatedly execute until the given condition fails.</li> <li>The condition will be true if it returns 0. The condition will be false if it returns any non-zero number.</li> <li>In while loop, the condition expression is compulsory.</li> <li>Running a while loop without a body is possible.</li> <li>We can have more than one conditional expression in while loop.</li> <li>If the loop body contains only one statement, then the braces are optional.</li> </ul> <h4>Example 1</h4> <pre> #include void main () { int j = 1; while(j+=2,j<=10) { printf(\'%d \',j); } printf(\'%d\',j); < pre> <h4>Output</h4> <pre> 3 5 7 9 11 </pre> <h4>Example 2</h4> <pre> #include void main () { while() { printf(&apos;hello Javatpoint&apos;); } } </pre> <h4>Output</h4> <pre> compile time error: while loop can&apos;t be empty </pre> <h4>Example 3</h4> <pre> #include void main () { int x = 10, y = 2; while(x+y-1) { printf(&apos;%d %d&apos;,x--,y--); } } </pre> <h4>Output</h4> <pre> infinite loop </pre> <h2>Infinitive while loop in C</h2> <p>If the expression passed in while loop results in any non-zero value then the loop will run the infinite number of times.</p> <pre> while(1){ //statement } </pre></=10)></pre></=10){>
 Enter a number: 100 100 200 300 400 500 600 700 800 900 1000 

While-silmukan ominaisuudet

  • Ehdollista lauseketta käytetään ehdon tarkistamiseen. While-silmukan sisällä määritetyt käskyt suoritetaan toistuvasti, kunnes annettu ehto epäonnistuu.
  • Ehto on tosi, jos se palauttaa arvon 0. Ehto on epätosi, jos se palauttaa minkä tahansa nollasta poikkeavan luvun.
  • While-silmukassa ehtolauseke on pakollinen.
  • Hetken juokseminen ilman runkoa on mahdollista.
  • Meillä voi olla useampi kuin yksi ehdollinen lauseke while-silmukassa.
  • Jos silmukan runko sisältää vain yhden lauseen, aaltosulut ovat valinnaisia.

Esimerkki 1

 #include void main () { int j = 1; while(j+=2,j<=10) { printf(\'%d \',j); } printf(\'%d\',j); < pre> <h4>Output</h4> <pre> 3 5 7 9 11 </pre> <h4>Example 2</h4> <pre> #include void main () { while() { printf(&apos;hello Javatpoint&apos;); } } </pre> <h4>Output</h4> <pre> compile time error: while loop can&apos;t be empty </pre> <h4>Example 3</h4> <pre> #include void main () { int x = 10, y = 2; while(x+y-1) { printf(&apos;%d %d&apos;,x--,y--); } } </pre> <h4>Output</h4> <pre> infinite loop </pre> <h2>Infinitive while loop in C</h2> <p>If the expression passed in while loop results in any non-zero value then the loop will run the infinite number of times.</p> <pre> while(1){ //statement } </pre></=10)>

Esimerkki 2

 #include void main () { while() { printf(&apos;hello Javatpoint&apos;); } } 

Lähtö

 compile time error: while loop can&apos;t be empty 

Esimerkki 3

 #include void main () { int x = 10, y = 2; while(x+y-1) { printf(&apos;%d %d&apos;,x--,y--); } } 

Lähtö

 infinite loop 

Infinitiivi while-silmukka C:ssä

Jos while-silmukassa välitetty lauseke johtaa mihin tahansa nollasta poikkeavaan arvoon, silmukka suoritetaan äärettömän monta kertaa.

 while(1){ //statement }