Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Yleistä

...

C-kielessä

...

on

...

kolme

...

toistorakenetta

...

for,

...

do

...

while

...

ja

...

while

...

for-toistorakenne

...

on

...

ehkä

...

selväpiirteisin,

...

for-sanan

...

jälkeen

...

tulee

...

kaikki

...

silmukan

...

toimintaan

...


liittyvät

...

määrittelyt.

...

...

for

         for(alkuarvo;

...

silmukassa

...

olo

...

ehto

...

;

...

lisäys

...

toistokertojen

...

välillä)
        
{                  toiminnot silmukan sisällä;          }
Esimerkiksi seuraavassa for-silmukassa tulostetaan i:n arvo 0...9

         int i;
         for(i=0;i<10;i++)

...


        
{                 printf("\n

...

i

...

=

...

%d",i);

...

         }

...

do-while

...

do-while

...

-

...

tostorakennetta

...

käytetään

...

silloin,

...

kun

...

silmukkaan

...

täytyy

...

mennä

...

kerran,

...

vaikka

...

silmukassa

...

oloehto

...

ei

...

olisikaan

...

tosi.

...

do-while-rakennetta

...

sanotaan

...

loppuehtoiseksi

...

while-silmukaksi

...

         do
        
{                 toiminnot silmukan sisällä;         }
while(silmukassa olo ehto);
Esimerkki
        int i=0;
        do
      
{             printf("\ni = %d",i);             i++;        }
while(i<10);

...

while

while- tostorakennetta käytetään silloin, kun silmukkaan ei mennä alkuehto ei ole tosi. while-rakennetta sanotaan alkuehtoiseksi while-silmukaksi

        while(silmukassa olo ehto)
     
{              toiminnot silmukan sisällä;       }
Esimerkki
        while(i<10)
     
{              printf("\ni = %d",i);              i++;       }

"Ikuinen" silmukka

Seuraavassa on esimerkki ikuisen silmukan ja if sekä else- lauseiden käytöstä. Ikuista silmukkaa tarvitaan hyvin usein ohjelmassa, kun ennalta ei tiedetä koska ohjelmasta tulisi poistua. Tyypillisesti ikuisesta silmukasta poistutaan break tai return käskyillä.

        /*Ohjelma, joka tulostaa millä välillä annettu luku on.  Lukuvälit ovat <10, 10-100 ja >100. Käytetään ohjelmassa if else lauseita  */
        #include<stdio.h>
        #include<conio.h>
        void main()
        {
             int Luku;
             while(1)//"ikuinen

...

silmukka"
            
{                      printf("\nAnna

...

jokin

...

luku:

...

");

...

                     scanf("%d",&Luku);

...

                     if(Luku

...

<

...

10)

...

printf("Luku

...

on

...

<

...

10");

...

                     else if(Luku

...

>=

...

10

...

&&

...

Luku

...

<=

...

100)                      printf("Luku

...

on

...

10...100");

...

                     else printf("Luku

...

on

...

>

...

100");

...

                     if(Luku==500)

...

break;/

...

poistutaan

...

silmukasta,

...

kun

...

käyttäjä

...

antaa

...

luvun

...

500

...

/              }
        }