Mēs uzzinājām par cilpām iepriekšējās apmācībās. Šajā apmācībā mēs iemācīsimies izmantot pārtraukumus un turpināt apgalvojumus ar piemēru palīdzību.
C pārtraukums
Pārtraukuma paziņojums izbeidz cilpu uzreiz, kad tas tiek konstatēts. Tās sintakse ir:
break;
Pārtraukuma paziņojums gandrīz vienmēr tiek izmantots ar if… else
paziņojumu cilpas iekšpusē.
Kā darbojas pārtraukuma paziņojums?
1. piemērs: pārtraukuma paziņojums
// 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; )
Rezultāts
Ievadiet n1: 2,4 Ievadiet n2: 4,5 Ievadiet n3: 3,4 Ievadiet n4: -3 Summa = 10,30
Šī programma aprēķina ne vairāk kā 10 skaitļu summu. Kāpēc ne vairāk kā 10 cipari? Tas ir tāpēc, ka, ja lietotājs ievada negatīvu skaitli, break
paziņojums tiek izpildīts. Tas beigs for
cilpu, un tiks parādīta summa.
C, break
tiek izmantots arī ar switch
paziņojumu. Tas tiks apspriests nākamajā apmācībā.
C turpināt
continue
Paziņojumu izlaiž pašreizējo atkārtojuma no cilpas un turpina ar nākamo atkārtojuma. Tās sintakse ir:
continue;
continue
Apgalvojums ir gandrīz vienmēr lieto kopā ar if… else
paziņojumu.
Kā darbojas paziņojums?
2. piemērs: turpināt paziņojumu
// 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; )
Rezultāts
Ievadiet n1: 1.1 Ievadiet n2: 2.2 Ievadiet n3: 5,5 Ievadiet n4: 4,4 Ievadiet n5: -3,4 Ievadiet n6: -45,5 Ievadiet n7: 34,5 Ievadiet n8: -4,2 Ievadiet n9: -1000 Enter a n10: 12 Summa = 59,70
Šajā programmā, kad lietotājs ievada pozitīvu skaitli, summa tiek aprēķināta, izmantojot sum += number;
paziņojumu.
Kad lietotājs ievada negatīvu skaitli, continue
paziņojums tiek izpildīts un tas izlaiž negatīvo skaitli no aprēķina.