Silmuste kohta õppisime eelmistes õpetustes. Selles õpetuses õpime näidete abil pausi- ja jätkulauseid kasutama.
C vaheaeg
Break-lause lõpetab tsükli kohe, kui see kohtub. Selle süntaks on:
break;
Break-lauset kasutatakse peaaegu alati, kui if… else
lause on tsükli sees.
Kuidas vaheavaldus töötab?
Näide 1: katkendi avaldus
// Program to calculate the sum of numbers (10 numbers max) // If the user enters a negative number, the loop terminates #include int main() ( int i; double number, sum = 0.0; for (i = 1; i <= 10; ++i) ( printf("Enter a n%d: ", i); scanf("%lf", &number); // if the user enters a negative number, break the loop if (number < 0.0) ( break; ) sum += number; // sum = sum + number; ) printf("Sum = %.2lf", sum); return 0; )
Väljund
Sisestage n1: 2.4 Sisestage n2: 4.5 Sisestage n3: 3.4 Sisestage n4: -3 Summa = 10,30
See programm arvutab maksimaalselt 10 numbri summa. Miks maksimaalselt 10 numbrit? Selle põhjuseks on see, et kui kasutaja sisestab negatiivse arvu, siis break
lause täidetakse. See lõpetab for
tsükli ja kuvatakse summa.
C-s break
kasutatakse ka koos switch
avaldusega. Seda arutatakse järgmises õpetuses.
C jätkata
continue
Avaldus ignoreerib praegune iteratsiooni silmus ja jätkab järgmisel iteratsiooni. Selle süntaks on:
continue;
continue
Avaldus on peaaegu alati kasutada koos if… else
avaldusega.
Kuidas jätkub avaldus töötab?
Näide 2: jätkake avaldust
// Program to calculate the sum of numbers (10 numbers max) // If the user enters a negative number, it's not added to the result #include int main() ( int i; double number, sum = 0.0; for (i = 1; i <= 10; ++i) ( printf("Enter a n%d: ", i); scanf("%lf", &number); if (number < 0.0) ( continue; ) sum += number; // sum = sum + number; ) printf("Sum = %.2lf", sum); return 0; )
Väljund
Sisestage n1: 1.1 Sisestage n2: 2.2 Sisestage n3: 5,5 Sisestage n4: 4,4 Sisestage n5: -3,4 Sisestage n6: -45,5 Sisestage n7: 34,5 Sisestage n8: -4,2 Sisestage n9: -1000 Sisestage a n10: 12 summa = 59,70
Selles programmis, kui kasutaja sisestab positiivse arvu, arvutatakse summa sum += number;
avalduse abil.
Kui kasutaja sisestab negatiivse arvu, continue
käivitatakse lause ja see jätab negatiivse arvu arvutusest vahele.