V tomto kurzu se naučíte vytvořit příkaz switch v programování C pomocí příkladu.
Příkaz switch nám umožňuje provést jeden blok kódu z mnoha alternativ.
Totéž můžete udělat s if… else… if
žebříkem. Syntaxe switch
příkazu je však mnohem snazší číst a psát.
Syntaxe přepínače… případ
switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )
Jak funguje příkaz switch?
Výraz je vyhodnocen jednou a porovnán s hodnotami každého označení případu.
- Pokud existuje shoda, jsou provedeny odpovídající příkazy po odpovídajícím štítku. Například pokud je hodnota výrazu rovna konstantní2, příkazy po
case constant2:
jsou prováděny, dokud nenastanebreak
. - Pokud není shoda, provedou se výchozí příkazy.
Pokud nepoužíváme break
, jsou provedeny všechny příkazy za odpovídajícím štítkem.
Mimochodem, default
klauzule uvnitř switch
příkazu je volitelná.
vývojový diagram příkazu switch
Příklad: Jednoduchá kalkulačka
// Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) ( case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; )
Výstup
Zadejte operátor (+, -, *,): - Zadejte dva operandy: 32,5 12,4 32,5 - 12,4 = 20,1
Operátor - zadaný uživatelem je uložen v operátorské proměnné. A dva operandy 32,5 a 12,4 jsou uloženy v proměnných n1 respektive n2.
Protože operátor je -
, ovládání programu přeskočí na
printf ("%. 1lf -% .lf =% .lf", n1, n2, n1-n2);
Nakonec příkaz break příkaz ukončí switch
.