English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ instrução switch

neste artigo, você aprenderá a usar a instrução switch em C ++programação (com exemplo).

C++ instrução switchexecutar uma instrução de várias condições. É semelhante a criar uma instrução switch em C++emif-else-ifinstrução.

mas a instrução switch geralmente é mais rápida do que if ... else. Além disso, a sintaxe da instrução switch é mais concisa e mais fácil de entender.

C ++ sintaxe da instrução switch...case

switch (n)
{
    case constante1:
        //se n for igual ao constante1, o código a ser executado;
        break;
    case constante2:
        //se n for igual ao constante2, o código a ser executado;
        break;
        .
        .
        .
    default:
        // se n não coincidir com nenhum constante, o código a ser executado
}

quando encontrar um (constante1, constante2quando o controle da execução do programa passar para o bloco de código associado ao caso constante

no código acima, o valor hipotético n é igual ao constante2o compilador executará o código associado ao caso constante2bloco de código, até o final do bloco switch ou até encontrarinstrução breakaté aqui.

a instrução break é usada para evitar que o código entre no próximo caso.

gráfico de fluxo da instrução switch...case

a figura acima mostra como a instrução switch funciona e verifica as condições nas subcláusulas switch case.

exemplo: C ++ instrução switch

// o programa usa a instrução switch para construir um simples calculadora
#include <iostream>
using namespace std;
int main()
{
    char o;
    float num1, num2;
    cout << "insira um operador (+, -, *, /): ";
    cin >> o;
    cout << "insira dois números operadores: ";
    cin >> num1 >> num2;
    
    switch (o) 
    {
        case '+:
            cout << num1 << " + << num2 << " = " << num1+num2;
            break;
        case '-:
            cout << num1 << " - << num2 << " = " << num1-num2;
            break;
        case '*:
            cout << num1 << " * << num2 << " = " << num1*num2;
            break;
        case '/:
            cout << num1 << " / << num2 << " = " << num1/num2;
            break;
        default:
            // o operador não coincide com nenhum (+, -, *, /)
            cout << "erro! operador incorreto";
            break;
    }
    
    return 0;
}

Resultados de Saída

Digite um operador (+, -, *, /) +
-
Digite dois operandos: 2.3
4.5
2.3 - 4.5 = -2.2

digitados pelo usuário - o operador é armazenado na variável o. Enquanto isso, os dois operandos2.3e4.5estão armazenados nas variáveis num1e num2no meio.

Então, o controle do programa salta para

cout << num1 << " - << num2 << " = " << num1-num2;

Por fim, a sentença break; termina a sentença switch.

Se não usar a sentença break, todas as sentenças case que seguem a condição correspondente serão executadas.