O smyčkách jsme se dozvěděli v předchozích cvičeních. V tomto kurzu se pomocí příkladů naučíme používat příkazy break and continue.
C zlom
Příkaz break ukončí smyčku okamžitě, jakmile k ní dojde. Jeho syntaxe je:
break;
Příkaz break se téměř vždy používá s if… else
příkazem uvnitř smyčky.
Jak příkaz break funguje?
Příklad 1: příkaz break
// 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ýstup
Zadejte n1: 2,4 Zadejte n2: 4,5 Zadejte n3: 3,4 Zadejte n4: -3 Součet = 10,30
Tento program vypočítá součet maximálně 10 čísel. Proč maximálně 10 čísel? Je to proto, že pokud uživatel zadá záporné číslo, break
příkaz se provede. Tím se for
smyčka ukončí a zobrazí se součet.
V C break
se také používá s switch
příkazem. O tom pojednáme v dalším kurzu.
C pokračovat
Příkaz continue
přeskočí aktuální iteraci smyčky a pokračuje další iterací. Jeho syntaxe je:
continue;
continue
Tvrzení je téměř vždy používá s if… else
prohlášením.
Jak funguje příkaz pokračování?
Příklad 2: pokračování
// 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ýstup
Zadejte a n1: 1,1 Zadejte a n2: 2,2 Zadejte a n3: 5,5 Zadejte a n4: 4,4 Zadejte a n5: -3,4 Zadejte a n6: -45,5 Zadejte a n7: 34,5 Zadejte a n8: -4,2 Zadejte a n9: -1000 Zadejte a n10: 12 Součet = 59,70
Když v tomto programu uživatel zadá kladné číslo, součet se vypočítá pomocí sum += number;
příkazu.
Když uživatel zadá záporné číslo, continue
příkaz se provede a přeskočí záporné číslo z výpočtu.