Introdução à instrução Switch em C

Antes de aprendermos o que é a instrução Switch em C, vamos primeiro entender o que é C.
C é uma linguagem de programação orientada a procedimentos, desenvolvida por Dennis Ritchie. O objetivo básico por trás do desenvolvimento da linguagem C era usá-la como uma linguagem de programação do sistema, ou seja, para programar um sistema operacional. Muitos idiomas emprestam sua sintaxe desse idioma C. C ++, por exemplo, é uma extensão ou pode ser considerada como uma versão atualizada da linguagem de programação C.

O que é a instrução Switch em C?

Considere um caso em que você recebeu várias chaves de tamanhos diferentes. Agora você é solicitado a abrir uma porta usando uma das chaves desse molho. Então, qual será a sua abordagem para esse problema? É simples, e você adivinhou certo, você escolherá uma chave e tentará destrancar a porta usando-a. Se essa chave não abrir a porta, tente com outra chave. O processo continua até que você finalmente encontre a chave que abre a porta. Depois que a chave é encontrada e a porta é destrancada, você para. Caso você consiga encontrar a chave na primeira tentativa, não continuará tentando com as outras chaves depois disso, correto?

Semelhante é o caso da instrução switch. Este exemplo pode ajudá-lo a entender facilmente a definição básica e o fluxo da instrução switch. O fluxo básico e a funcionalidade da instrução switch permanecem os mesmos em todas as linguagens de programação. A diferença pode ser vista apenas na sintaxe geral, com base na linguagem de programação utilizada.

Em um termo muito básico, uma instrução switch avalia uma expressão, a testa e a compara com os vários casos escritos no código. Assim que a correspondência com qualquer caso for encontrada, o controle entra nesse caso e começa a executar as instruções escritas nesse caso até que uma declaração de interrupção seja encontrada. Assim que uma declaração de interrupção aparece, a instrução switch termina e o controle do programa sai do switch.

Às vezes, pode acontecer que nenhum caso corresponda ao valor da expressão. Para esses casos, mencionamos um caso padrão que sempre será executado se nenhuma correspondência for encontrada.

Os casos em um bloco da instrução switch são representados por diferentes números ou cadeias, conhecidos como identificadores. O valor da expressão ou o valor fornecido pelo usuário é comparado com esses casos até que a correspondência seja encontrada.

A sintaxe da instrução switch na linguagem de programação C é fornecida abaixo:

sintaxe:

switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;

Exemplo:

Este exemplo dará mais clareza sobre o uso da instrução switch
#include
int main () (
char grade_report = 'D';
printf("Your performance is : ");
switch(grade_report) (
case 'A' :
printf("Outstanding Result!\n" );
break;
case 'B' :
printf("Excellent Result!\n" );
break;
case 'C' :
printf("Good Result\n" );
break;
case 'D' :
printf("Satisfying Result\n" );
break;
case 'F' :
printf("Poor Result\n" );
break;
default :
printf("You did not appear for exam\n" );
)
return 0;
)

Resultado:

Seu desempenho é: Resultado satisfatório

Fluxograma da instrução Switch

Como a instrução Switch funciona em C

Vamos entender o fluxo de controle descrito no fluxograma acima, a fim de obter uma melhor compreensão do fluxo de execução.

Uma expressão é passada com a instrução switch que é igual a um dos valores dos casos. Caso o valor não seja igual, o caso padrão é executado. O valor dessa expressão é então comparado com o identificador de caso ou o primeiro caso. Se o primeiro caso corresponder, o bloco de código associado ao primeiro caso será executado. Depois que a interrupção é encontrada, a execução é interrompida e você sai da instrução switch. No entanto, se o caso não corresponder, a execução fluirá para o próximo caso. Se esse caso corresponder, o segundo bloco de código será executado de outra forma, o fluxo verificará o próximo caso de maneira semelhante. Finalmente, se nenhum caso corresponder, o bloco de código padrão será executado.

Vamos dar uma olhada em mais alguns exemplos -

Exemplo :

Este exemplo descreve o uso da instrução break no switch. Se a instrução break não for especificada após o caso, o fluxo de execução continuará até encontrar a instrução break.

#include
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
printf("The number is 10 or 20 or 30 ");
break;
case 50:
case 55:printf("This case also executes because there is no break ");
printf("\n");
case 60:
printf("The number is either 40 or 50 or 60");
break;
default:
printf("The number is greater than 60");))

Saída :
Este caso também é executado porque não há interrupção
O número é 40 ou 50 ou 60

Exemplo:

#include
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
printf("hi");
break;
case 0:
printf("bye");
break;
default:
printf(" Hello bye ");
) )

Saída :

tchau

Exemplo:

Instrução de comutação aninhada.

#include
int main() (
int ID = 300;
int password = 1000;
printf("Enter Your ID:\n ");
scanf("%d", & ID);
switch (ID) (
case 300:
printf("Enter your password:\n ");
scanf("%d", & password);
switch (password) (
case 1000:
printf("Welcome to the portal\n");
break;
default:
printf("Enter correct password");
break;
)
break;
default:
printf("Enter correct ID");
break;
)
)

Saída :

Isso dependerá dos valores inseridos pelo usuário.

Saída 1:

Digite seu ID: 300
Digite sua senha: 1000
Bem vindo ao Portal

Saída 2:
Digite seu ID: 100
Digite o ID correto

Saída 3:
Digite seu ID: 300
Digite sua senha: 000
Digite a senha correta

Conclusão

As instruções de alternância de caso são uma declaração controlada que é considerada um substituto para as instruções if-else. É uma instrução de ramificação de várias vias que fornece uma maneira de organizar o fluxo de execução para partes do código com base no valor da expressão.

Artigos recomendados

Este foi um guia para a declaração de opção em C. Aqui também discutimos a introdução e como a declaração de opção funciona em C. Você também pode dar uma olhada nos seguintes artigos para saber mais -

  1. C ++ vs Java | Descubra a diferença
  2. Exemplos de instrução Switch em C ++
  3. Como o Case Statement funciona em Java?
  4. Visão geral da instrução PHP Switch
  5. Ferrugem vs C ++ | Principais diferenças
  6. Guia completo da instrução Python Switch
  7. Guia para alternar entre maiúsculas e minúsculas no PowerShell