switch
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
— | switch [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Comando switch...case ====== | ||
+ | Sintaxe: | ||
+ | <code c> | ||
+ | | ||
+ | { | ||
+ | case constante 1: | ||
+ | { bloco de comandos 1...; | ||
+ | break; | ||
+ | } | ||
+ | case constante 2: | ||
+ | { bloco de comandos 2...; | ||
+ | break; | ||
+ | } | ||
+ | ....... | ||
+ | default : | ||
+ | { | ||
+ | bloco de comandos n... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Caso seja necessário realizar operações baseadas em um valor de uma expressão ou variável em vez de se construir para isto uma cadeia de [[if|if...else...if...else..if...else]] pode-se utilizar o comando de seleção múltipla **'' | ||
+ | |||
+ | Inicialmente o valor da expressão é avaliado. Depois é feita uma comparação com cada valor colocado na seção **'' | ||
+ | |||
+ | Existe a possibilidade de colocar uma condição para que, se nenhum '' | ||
+ | |||
+ | Veja o exemplo: | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | int main (void) | ||
+ | { | ||
+ | int iValor_01; | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | { | ||
+ | case 1: /* aqui o valor (constante) que será utilizada na comparação */ | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 2: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 3: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 4: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 5: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 6: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 7: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 8: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 9: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | default: /* Se nenhuma opção anterior corresponder a variável informada. */ | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Caso não seja utilizado o comando '' | ||
+ | |||
+ | Veja o exemplo: | ||
+ | <code c> | ||
+ | #include < | ||
+ | int main (void) | ||
+ | { | ||
+ | int iValor_01; | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | { | ||
+ | case 1: /* aqui o valor (constante) que será utilizada na comparação */ | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 2: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 3: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 4: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 5: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 6: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 7: | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | case 8: | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | case 9: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | default: /* Se nenhuma opção anterior corresponder a variável informada. */ | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Sabendo disto, é possível realizar [[operadores|OU lógicos]] com o '' | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | int iValor_01; | ||
+ | | ||
+ | | ||
+ | |||
+ | /* este bloco de instruções, | ||
+ | if( iValor_01 == 1 || | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | else if( iValor_01 == 0 || | ||
+ | iValor_01 == 2 || | ||
+ | iValor_01 == 4 || | ||
+ | iValor_01 == 6 || | ||
+ | iValor_01 == 8 ) | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | printf(" | ||
+ | } | ||
+ | |||
+ | /* operações || com switch */ | ||
+ | | ||
+ | { | ||
+ | case 1: | ||
+ | case 3: | ||
+ | case 5: | ||
+ | case 7: | ||
+ | case 9: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | case 0: | ||
+ | case 2: | ||
+ | case 4: | ||
+ | case 6: | ||
+ | case 8: | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | default: | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | --- // |
switch.txt · Última modificação: 2023/09/12 16:14 por 127.0.0.1