C switch Mgr Lenka vancarov switch syntaxe switch

  • Slides: 8
Download presentation
C – switch Mgr. Lenka Švancarová

C – switch Mgr. Lenka Švancarová

switch syntaxe switch (výraz) { case hodnota_1: příkaz(y)_ve_větvi_1; case hodnota_2: příkaz(y)_ve_větvi_2; … default: příkaz(y)_ve_větvi_default;

switch syntaxe switch (výraz) { case hodnota_1: příkaz(y)_ve_větvi_1; case hodnota_2: příkaz(y)_ve_větvi_2; … default: příkaz(y)_ve_větvi_default; } Příkazy v jednotlivých větvích nemusíme (ale můžeme) uzavřít do {} a to i v případě více příkazů.

switch sémantika n n n Příkaz pro vícenásobné větvení dalšího řešení, kdy existují více

switch sémantika n n n Příkaz pro vícenásobné větvení dalšího řešení, kdy existují více než dvě možnosti pokračování. Testuje na rovnost hodnotu co vrátil výraz s hodnota_1. Pokud se rovnají budou se vykonávat příkazy od větve_1 včetně, jinak se bude testovat na rovnost hodnota_2 atd. Není-li větev přepínače ukončena pomocí příkazu break, program neopouští switch.

switch sémantika n n n Výraz musí vracet hodnotu typu int. Jako nabízenou hodnotu

switch sémantika n n n Výraz musí vracet hodnotu typu int. Jako nabízenou hodnotu je nutno psát vždy jednu hodnotu typu int (např. celé číslo, písmeno), případně klíčové slovo default – větev za default se provádí pro jakoukoliv hodnotu výrazu. Část default není povinná.

Vícenásobné větvení v C a v Pascalu n n V C program po provedení

Vícenásobné větvení v C a v Pascalu n n V C program po provedení jedné větve pokračuje prováděním dalších větví, dokud nedojde na konec nebo jej neukončíme příkazem break. V TP program po provedení jedné větve skončí s case jako celkem – dále nekontroluje další hodnoty a případně neprovádí další větve.

Příkaz vícenásobného větvení – switch #include <stdio. h> int main() { float a; char

Příkaz vícenásobného větvení – switch #include <stdio. h> int main() { float a; char co; printf("Zadejte stranu ctverce: "); scanf("%f", &a); printf("S - obsah, o - obvod: "); scanf(" %c", &co); switch (co) { case ’S’ : printf("S = %f n", a*a); break; case ’o’ : printf("o = %f n", 4*a); break; } return(0); }

Příkaz vícenásobného větvení – switch #include <stdio. h> int main() { int z; printf("Zadejte

Příkaz vícenásobného větvení – switch #include <stdio. h> int main() { int z; printf("Zadejte znamku: "); scanf("%d", &z); switch (z) { case 1: case 2: case 3: case 4: printf("Prospel(a). n"); printf("------n"); break; case 5: printf("Neprospel(a). n"); break; default: printf("Toto neni znamka. n"); break; } return(0); }

C – switch n n n Uživatel zadá, zda chce u kruhu vypočítat obsah

C – switch n n n Uživatel zadá, zda chce u kruhu vypočítat obsah či obvod a pak jeho celočíselný poloměr. Program spočte požadované. Uživatel zadá reálné číslo, jeden ze znaků +, –, * nebo / a poté druhé reálné číslo. Program vypíše výsledek. Napiš program na převody délkových jednotek.