Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

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á-

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;

Fluxograma da declaração de mudança


O diagrama a seguir ilustra como um caso é selecionado no caso de comutação:

Exemplo de caso de comutação em C


O programa a seguir ilustra o uso do switch:
#include <stdio.h>
    int main() {
        int num = 8;
        switch (num) {
            case 7:
                printf("Value is 7");
                break;
            case 8:
                printf("Value is 8");
                break;
            case 9:
                printf("Value is 9");
                break;
            default:
                printf("Out of range");
                break;
        }
        return 0;
    }

Saída:
Value is 8


  1. No programa fornecido, explicamos que inicializou uma variável num com valor 8.
  2. Uma construção switch é usada para comparar o valor armazenado na variável num e executar o bloco de instruções associado ao case correspondente.
  3. Neste programa, como o valor armazenado na variável num é oito, um switch executará o case cujo rótulo case é 8. Após executar o case, o controle sairá do switch e o programa será finalizado com o resultado bem-sucedido imprimindo o valor na tela de saída.

Tente alterar o valor da variável num e observe a alteração na saída.

Por exemplo, consideramos o seguinte programa padrão:
#include <stdio.h>
int main() {
int language = 10;
  switch (language) {
  case 1:
    printf("C#\n");
    break;
  case 2:
    printf("C\n");
    break;
  case 3:
    printf("C++\n");
    break;
  default:
    printf("Other programming language\n");}}

Saída:
Other programming language

Ao trabalhar com caso de comutação em C, você agrupa vários casos com rótulos exclusivos. Você precisa introduzir uma instrução break em cada caso para ramificar no final de uma instrução switch.

O caso padrão opcional é executado quando nenhuma outra correspondência é feita.

Consideramos a seguinte instrução switch:
#include <stdio.h>
int main() {
int number=5;
switch (number) {
  case 1:
  case 2:
  case 3:
    printf("One, Two, or Three.\n");
    break;
  case 4:
  case 5:
  case 6:
    printf("Four, Five, or Six.\n");
    break;
  default:
    printf("Greater than Six.\n");}}

Saída:
Four, Five, or Six.

Interruptor aninhado em C


Em C, podemos ter um switch interno embutido em um switch externo. Além disso, as constantes de maiúsculas e minúsculas do switch interno e externo podem ter valores comuns e sem conflitos.

Consideramos o seguinte programa em que o usuário digite seu próprio ID, se o ID for válido pedirá para ele digitar sua senha, se a senha estiver correta o programa imprimirá o nome do usuário, caso contrário, o programa imprimirá Incorreto Senha e se o ID não existir, o programa imprimirá ID incorreto
#include <stdio.h>
int main() {
        int ID = 500;
        int password = 000;
        printf("Plese Enter Your ID:\n ");
        scanf("%d", & ID);
        switch (ID) {
            case 500:
                printf("Enter your password:\n ");
                scanf("%d", & password);
                switch (password) {
                    case 000:
                        printf("Welcome Dear Programmer\n");
                        break;
                    default:
                        printf("incorrect password");
                        break;
                }
                break;
            default:
                printf("incorrect ID");
                break;
        }
}

SAÍDA:
Plese Enter Your ID:
 500
Enter your password:
 000
Welcome Dear Programmer


  1. No programa fornecido, explicamos duas variáveis ​​inicializadas:ID e senha
  2. Uma construção de chave externa é usada para comparar o valor inserido no ID da variável. Ele executa o bloco de instruções associado ao case correspondente (quando ID==500).
  3. Se a instrução de bloco for executada com o case correspondente, uma chave interna será usada para comparar os valores inseridos na variável password e executar as instruções vinculadas ao case correspondente (quando password==000).
  4. Caso contrário, o caso de alternância acionará o caso padrão e imprimirá o texto apropriado referente ao esboço do programa.

Por que precisamos de um estojo para Switch?


Há um problema potencial com a instrução if-else que é a complexidade do programa aumenta sempre que o número de caminhos alternativos aumenta. Se você usar várias construções if-else no programa, um programa pode se tornar difícil de ler e compreender. Às vezes pode até confundir o desenvolvedor que escreveu o programa.

A solução para este problema é a instrução switch.

Regras para a instrução switch

  • Uma expressão sempre deve ser executada para um resultado.
  • Os rótulos de caso devem ser constantes e exclusivos.
  • Os rótulos de maiúsculas e minúsculas devem terminar com dois pontos ( :).
  • Uma palavra-chave break deve estar presente em cada caso.
  • Só pode haver um rótulo padrão.
  • Podemos aninhar várias instruções switch.

Resumo

  • Um switch é uma construção de tomada de decisão em 'C.'
  • Um switch é usado em um programa em que várias decisões estão envolvidas.
  • Um switch deve conter uma expressão de teste executável.
  • Cada caso deve incluir uma palavra-chave break.
  • O rótulo do caso deve ser constante e exclusivo.
  • O padrão é opcional.
  • Várias instruções switch podem ser aninhadas umas nas outras.

Linguagem C

  1. Instrução C# switch
  2. C++ do… while loop com exemplos
  3. Instrução C++ Switch Case com EXEMPLO
  4. Ponteiros C++ com exemplos
  5. Sobrecarga do operador C++ com exemplos
  6. Funções C++ com exemplos de programas
  7. Tutorial de coleções de C# com exemplos
  8. Instrução Python Print():Como imprimir com exemplos
  9. Python String count() com EXEMPLOS
  10. Função Python round() com EXEMPLOS