Mes sužinojome apie kilpas ankstesnėse pamokose. Šioje pamokoje išmoksime naudoti pertraukas ir tęsti teiginius, pasitelkdami pavyzdžius.
C pertrauka
Nutraukimo sakinys baigia kilpą iškart, kai su juo susiduria. Jo sintaksė yra:
break;
Pertraukos sakinys beveik visada naudojamas su if… else
sakiniu ciklo viduje.
Kaip veikia lūžio pareiškimas?
1 pavyzdys: lūžio sakinys
// 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; )
Rezultatas
Įveskite n1: 2.4 Įveskite n2: 4.5 Įveskite n3: 3.4 Įveskite n4: -3 Suma = 10.30
Ši programa apskaičiuoja ne daugiau kaip 10 skaičių sumą. Kodėl daugiausia 10 skaičių? Taip yra todėl, kad jei vartotojas įveda neigiamą skaičių, break
sakinys vykdomas. Tai baigs for
kilpą ir bus rodoma suma.
C, break
taip pat vartojamas kartu su switch
teiginiu. Tai bus aptarta kitoje pamokoje.
C toliau
continue
Patvirtinimas, praleidžia esamą pasikartojančių kilpą ir toliau su kitą iteracijos. Jo sintaksė yra:
continue;
continue
Pareiškimas yra beveik visada naudojamas su if… else
pareiškimu.
Kaip veikia tęstinis pareiškimas?
2 pavyzdys: tęsti teiginį
// 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; )
Rezultatas
Įveskite n1: 1.1 Įveskite n2: 2.2 Įveskite n3: 5.5 Įveskite n4: 4.4 Įveskite n5: -3.4 Įveskite n6: -45.5 Įveskite n7: 34.5 Įveskite n8: -4.2 Įveskite n9: -1000 Enter a n10: 12 suma = 59,70
Šioje programoje vartotojui įvedus teigiamą skaičių, suma apskaičiuojama naudojant sum += number;
teiginį.
Kai vartotojas įveda neigiamą skaičių, continue
sakinys vykdomas ir jis praleidžia neigiamą skaičių iš skaičiavimo.