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

Entendendo Switch-Case em C: Sintaxe, Exemplos e Boas Práticas

O Que É a Declaração Switch em C?

O construto switch avalia uma única expressão e roteia o fluxo do programa para o rótulo case correspondente. Se nenhuma correspondência for encontrada, o bloco default opcional roda. Esta ferramenta de tomada de decisão é especialmente útil ao lidar com valores discretos e constantes como opções de menu, códigos de erro ou seleções do usuário.

Cada case é identificado unicamente por uma expressão constante. Quando o valor da expressão corresponde a um rótulo case, o bloco correspondente de declarações executa, e a execução sai do switch (a menos que um break seja omitido, o que causa fall-through).

Sintaxe do Switch-Case

switch (expressão) {
    case constante1: // declarações break;
    case constante2: // declarações break;
    // …
    default: // declarações break;
} // declarações seguintes ao switch

Como a Declaração Switch Funciona

O fluxograma a seguir ilustra o processo de decisão para uma declaração switch:

Entendendo Switch-Case em C: Sintaxe, Exemplos e Boas Práticas

Exemplo 1: Switch Básico

#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

Exemplo 2: Usando Default

#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");
    }
    return 0;
}

Saída:

Other programming language

Exemplo 3: Cases Combinados

#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");
    }
    return 0;
}

Saída:

Four, Five, or Six.

Switches Aninhados

Switches podem ser aninhados, permitindo tomada de decisão hierárquica. O exemplo a seguir demonstra um fluxo simples de autenticação:

#include <stdio.h>
int main() {
    int ID, password;
    printf("Please Enter Your ID:\n");
    scanf("%d", &ID);
    switch (ID) {
        case 500:
            printf("Enter your password:\n");
            scanf("%d", &password);
            switch (password) {
                case 0: printf("Welcome Dear Programmer\n"); break;
                default: printf("Incorrect password\n");
            }
            break;
        default: printf("Incorrect ID\n");
    }
    return 0;
}

SAÍDA:

Please Enter Your ID: 500
Enter your password: 000
Welcome Dear Programmer
Entendendo Switch-Case em C: Sintaxe, Exemplos e Boas Práticas

Por Que Switch É Preferível a If-Else Extensivo

Embora cadeias if-else possam alcançar a mesma lógica, elas se tornam difíceis conforme o número de opções aumenta. Declarações switch oferecem sintaxe mais clara, melhor legibilidade e podem ser otimizadas pelo compilador em jump tables para expressões constantes.

Regras para Usar Switch

Principais Pontos

Linguagem C

  1. Dominando a Instrução Switch em C#: Sintaxe, Exemplos e Boas Práticas
  2. Laço do-while em C++: Sintaxe, Exemplos Práticos e Loops Aninhados
  3. Dominando Switch-Case em C++: Sintaxe, Uso e Exemplos Práticos
  4. Dominando Ponteiros em C++: Conceitos, Exemplos e Aplicações Práticas
  5. Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
  6. Funções em C++ Explicadas com Exemplos Práticos de Código
  7. Dominando Collections em C#: Tutorial Prático com Exemplos do Mundo Real
  8. Função Print() do Python: Guia Prático com Exemplos
  9. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
  10. Função round() em Python Explicada com Exemplos Práticos