Tässä opetusohjelmassa opit luomaan silmukkaa C-ohjelmoinnissa esimerkkien avulla.
Ohjelmoinnissa silmukkaa käytetään toistamaan koodilohko, kunnes määritetty ehto täyttyy.
C-ohjelmoinnissa on kolmen tyyppisiä silmukoita:
- silmukalle
- samalla silmukka
- tehdä … vaikka silmukka
Opimme for
silmukasta tässä opetusohjelmassa. Seuraavassa opetusohjelmassa opitaan while
ja do… while
silmukka.
joukkueelle Loop
for
Silmukan syntaksi on:
for (initializationStatement; testExpression; updateStatement) ( // statements inside the body of loop )
Kuinka silmukka toimii?
- Alustuslauseke suoritetaan vain kerran.
- Sitten testilauseke arvioidaan. Jos testilauseke arvioidaan vääräksi,
for
silmukka lopetetaan. - Jos testilauseke arvioidaan tosi,
for
silmukan rungon sisällä olevat lauseet suoritetaan ja päivitysilmaus päivitetään. - Jälleen testilauseke arvioidaan.
Tätä prosessia jatketaan, kunnes testilauseke on väärä. Kun testilauseke on väärä, silmukka päättyy.
Jos haluat lisätietoja testilausekkeesta (kun testilauseke arvioidaan tosi ja väärä), tutustu relaatio- ja loogisiin operaattoreihin.
silmukalle vuokaavio
Esimerkki 1: silmukalle
// Print numbers from 1 to 10 #include int main() ( int i; for (i = 1; i < 11; ++i) ( printf("%d ", i); ) return 0; )
Tuotos
1 2 3 4 5 6 7 8 9 10
- i alustetaan arvoon 1.
- Testilauseke
i < 11
arvioidaan. Koska yksi alle 11 on totta,for
silmukan runko suoritetaan. Tämä tulostaa ruudulle 1 (arvon i). - Päivityslauseke
++i
suoritetaan. Nyt i: n arvo on 2. Jälleen testilauseke arvioidaan tosi, ja silmukan runko suoritetaan. Tämä tulostaa ruudulle 2 (i: n arvo). - Jälleen päivityslauseke
++i
suoritetaan ja testilausekei < 11
arvioidaan. Tätä prosessia jatketaan, kunnes minusta tulee 11. - Kun i: stä tulee 11, i <11 on väärä ja
for
silmukka päättyy.
Esimerkki 2: silmukalle
// Program to calculate the sum of first n natural numbers // Positive integers 1,2,3… n are known as natural numbers #include int main() ( int num, count, sum = 0; printf("Enter a positive integer: "); scanf("%d", &num); // for loop terminates when num is less than count for(count = 1; count <= num; ++count) ( sum += count; ) printf("Sum = %d", sum); return 0; )
Tuotos
Syötä positiivinen kokonaisluku: 10 Summa = 55
Käyttäjän syöttämä arvo tallennetaan muuttujaan num. Oletetaan, että käyttäjä kirjoitti 10.
Laskenta alustetaan arvoon 1 ja testilauseke arvioidaan. Koska testilauseke count<=num
(1 pienempi tai yhtä suuri kuin 10) on totta, for
silmukan runko suoritetaan ja summan arvo on yhtä kuin 1.
Sitten päivityslauseke ++count
suoritetaan ja määrä on sama kuin 2. Jälleen testilauseke arvioidaan. Koska 2 on myös alle 10, testilauseke arvioidaan tosi ja for
silmukan runko suoritetaan. Nyt summa on 3.
Tämä prosessi jatkuu ja summa lasketaan, kunnes määrä saavuttaa 11.
Kun määrä on 11, testilauseke arvioidaan arvoon 0 (väärä) ja silmukka päättyy.
Sitten arvo sum
tulostetaan ruudulle.
Opimme while
silmukasta ja do… while
silmukasta seuraavassa opetusohjelmassa.