C murda ja jätkata

Lang L: none (table-of-contents)

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… elselause 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 breaklause täidetakse. See lõpetab fortsükli ja kuvatakse summa.

C-s breakkasutatakse ka koos switchavaldusega. Seda arutatakse järgmises õpetuses.

C jätkata

continueAvaldus ignoreerib praegune iteratsiooni silmus ja jätkab järgmisel iteratsiooni. Selle süntaks on:

 continue;

continueAvaldus on peaaegu alati kasutada koos if… elseavaldusega.

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, continuekäivitatakse lause ja see jätab negatiivse arvu arvutusest vahele.

Huvitavad Artiklid...