Šajā apmācībā jūs iemācīsities izveidot ciklu C programmēšanā, izmantojot piemērus.
Programmējot, cilpa tiek izmantota, lai atkārtotu koda bloku, līdz tiek izpildīts noteiktais nosacījums.
C programmēšanai ir trīs veidu cilpas:
- par cilpu
- kamēr cilpa
- darīt … kamēr cilpa
for
Šajā pamācībā mēs uzzināsim par cilpu. Nākamajā apmācībā mēs uzzināsim while
un izveidosim do… while
ciklu.
par cilpu
for
Cilpas sintakse ir šāda:
for (initializationStatement; testExpression; updateStatement) ( // statements inside the body of loop )
Kā darbojas cilpa?
- Inicializācijas paziņojums tiek izpildīts tikai vienu reizi.
- Pēc tam tiek novērtēta testa izteiksme. Ja testa izteiksme tiek novērtēta kā nepatiesa,
for
cilpa tiek pārtraukta. - Tomēr, ja testa izteiksme tiek vērtēta kā patiesa,
for
tiek izpildīti priekšraksti cilpas pamattekstā un atjaunināšanas izteiksme tiek atjaunināta. - Atkal tiek vērtēta testa izteiksme.
Šis process turpinās, līdz testa izteiksme ir nepatiesa. Ja testa izteiksme ir nepatiesa, cilpa tiek pārtraukta.
Lai uzzinātu vairāk par testa izteiksmi (kad testa izteiksme tiek vērtēta kā patiesa un nepatiesa), pārbaudiet relāciju un loģiskos operatorus.
cilpas blokshēmai
1. piemērs: cilpa
// Print numbers from 1 to 10 #include int main() ( int i; for (i = 1; i < 11; ++i) ( printf("%d ", i); ) return 0; )
Rezultāts
1 2 3 4 5 6 7 8 9 10
- i tiek inicializēts uz 1.
- Tiek
i < 11
vērtēta testa izteiksme . Tā kā 1 ir mazāks par 11, taisnībafor
tiek izpildīta. Tas ekrānā izdrukās 1 (i vērtība). - Atjaunināšanas paziņojums
++i
tiek izpildīts. Tagad i vērtība būs 2. Atkal testa izteiksme tiek novērtēta kā patiesa, un tiek izpildīts cilpas pamatteksts. Tas ekrānā izdrukās 2 (i vērtība). - Atkal
++i
tiek izpildīts atjaunināšanas paziņojums un novērtēta testa izteiksmei < 11
. Šis process turpinās, līdz es kļūstu par 11. - Kad es kļūšu par 11, i <11 būs nepatiesa, un
for
cilpa izbeidzas.
2. piemērs: cilpai
// 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; )
Rezultāts
Ievadiet pozitīvu veselu skaitli: 10 Sum = 55
Lietotāja ievadītā vērtība tiek saglabāta mainīgajā num. Pieņemsim, ka lietotājs ievadīja 10.
Skaitījums tiek inicializēts līdz 1 un tiek novērtēta testa izteiksme. Tā kā testa izteiksme count<=num
(1 mazāka vai vienāda ar 10) ir patiesa, for
tiek izpildīts cilpas pamatteksts, un summas vērtība būs vienāda ar 1.
Pēc tam ++count
tiek izpildīts atjaunināšanas paziņojums, un to skaits būs vienāds ar 2. Atkal tiek vērtēta testa izteiksme. Tā kā 2 ir arī mazāks par 10, testa izteiksme tiek novērtēta kā patiesa un for
tiek izpildīts cilpas korpuss . Tagad summa būs vienāda ar 3.
Šis process turpinās, un summa tiek aprēķināta, līdz skaitlis sasniedz 11.
Kad skaitlis ir 11, testa izteiksme tiek novērtēta uz 0 (nepatiesa), un cilpa beidzas.
Pēc tam ekrāna vērtība sum
tiek drukāta.
Mēs uzzināsim par while
cilpu un do… while
cilpu nākamajā apmācībā.