switch…case em C (Instrução Switch em C) com exemplos
O que é a instrução Switch em C?
Instrução Switch em C testa o valor de uma variável e a compara com vários casos. Uma vez que a correspondência de caso é encontrada, um bloco de instruções associado a esse caso específico é executado.
Cada caso em um bloco de um switch tem um nome/número diferente que é chamado de identificador. O valor fornecido pelo usuário é comparado com todos os casos dentro do bloco switch até que a correspondência seja encontrada.
Se uma correspondência de caso NÃO for encontrada, a instrução padrão será executada e o controle sairá do bloco switch.
Neste tutorial, você aprenderá-
O que é a instrução Switch em C?
Sintaxe do caso de comutação
Fluxograma da declaração de mudança
Exemplo de caso de comutação em C
Interruptor aninhado em C
Por que precisamos de um estojo Switch?
Regras para a instrução switch
Sintaxe do caso de comutação
Uma sintaxe geral de como o switch-case é implementado em um programa 'C' é a seguinte:
switch( expression )
{
case value-1:
Block-1;
Break;
case value-2:
Block-2;
Break;
case value-n:
Block-n;
Break;
default:
Block-1;
Break;
}
Statement-x;
A expressão pode ser uma expressão inteira ou uma expressão de caractere.
Value-1, 2, n são rótulos de caso usados para identificar cada caso individualmente. Lembre-se de que os rótulos de caso não devem ser iguais, pois podem criar um problema durante a execução de um programa. Suponha que temos dois casos com o mesmo rótulo de '1'. Então, durante a execução do programa, o caso que aparecer primeiro será executado mesmo que você queira que o programa execute um segundo caso. Isso cria problemas no programa e não fornece a saída desejada.
Os rótulos de maiúsculas e minúsculas sempre terminam com dois pontos ( :). Cada um desses casos está associado a um bloco.
Um bloco nada mais é do que várias instruções agrupadas para um caso específico.
Sempre que o switch é executado, o valor da expressão-teste é comparado com todos os casos que definimos dentro do switch. Suponha que a expressão de teste contenha o valor 4. Este valor é comparado com todos os casos até o caso cujo rótulo quatro é encontrado no programa. Assim que um caso é encontrado, o bloco de instruções associado a esse caso específico é executado e o controle sai do switch.
A palavra-chave break em cada caso indica o fim de um caso específico. Se não colocarmos a quebra em cada caso, mesmo que o caso específico seja executado, o switch em C continuará a executar todos os casos até que o final seja alcançado. Isso não deve acontecer; portanto, sempre temos que colocar a palavra-chave break em cada caso. Break encerrará o caso assim que for executado e o controle sairá do switch.
O caso padrão é opcional. Sempre que o valor da expressão-teste não corresponder a nenhum dos casos dentro do switch, o padrão será executado. Caso contrário, não é necessário escrever o padrão no switch.
Uma vez que o switch é executado, o controle irá para a instrução-x, e a execução de um programa continuará.
Fluxograma da declaração de mudança
O diagrama a seguir ilustra como um caso é selecionado no caso de comutação: