Instrução Switch Case na Linguagem C

CBeginner
Pratique Agora

Introdução

Em C, a instrução switch case é utilizada para controlar o fluxo de execução de um programa quando existem múltiplas alternativas disponíveis. É uma das instruções de tomada de decisão em C. A instrução switch case avalia uma expressão e a compara com múltiplos valores para executar um bloco de código correspondente.

Neste laboratório, você aprenderá como usar a instrução switch case em C com exemplos.

Sintaxe Básica do Switch Case

#include <stdio.h>

int main() {
  int num = 2;
  switch(num) {
    case 1:
      printf("Number is 1");
      break;
    case 2:
      printf("Number is 2");
      break;
    case 3:
      printf("Number is 3");
      break;
    default:
      printf("Number is not 1, 2, or 3");
  }
  return 0;
}

Este programa declara um inteiro num com o valor 2 e utiliza a instrução switch case para verificar se seu valor corresponde a algum dos rótulos case. Como o valor de num é 2, a saída deste código será Number is 2.

Sem a Instrução Break

#include <stdio.h>

int main() {
  int num = 2;
  switch(num) {
    case 1:
      printf("Number is 1\n");
    case 2:
      printf("Number is 2\n");
    case 3:
      printf("Number is 3\n");
    default:
      printf("Number is not 1, 2, or 3\n");
  }
  return 0;
}

Este programa declara um inteiro num com o valor 2 e utiliza a instrução switch case sem usar a instrução break. Como não há instrução break, todas as instruções subsequentes serão executadas até a próxima instrução break ou o final da instrução switch case. A saída deste programa será:

Number is 2
Number is 3
Number is not 1, 2, or 3

Usando o Tipo de Dados Char

#include <stdio.h>

int main() {
  char grade = 'B';
  switch(grade) {
    case 'A':
      printf("Excellent");
      break;
    case 'B':
      printf("Good");
      break;
    case 'C':
      printf("Average");
      break;
    default:
      printf("Invalid grade");
  }
  return 0;
}

Este programa declara uma variável de caractere grade com o valor 'B'. Ele usa a instrução switch case para verificar se o valor de grade corresponde a algum dos rótulos case. A saída deste código será Good.

Switch Case Aninhado

#include <stdio.h>

int main() {
  int num1 = 2, num2 = 3;

  switch(num1) {
    case 1:
      switch(num2) {
        case 1:
          printf("Number is 1");
          break;
        case 2:
          printf("Number is 2");
          break;
        default:
          printf("Number is not 1 or 2");
          break;
      }
      break;
    case 2:
      switch(num2) {
        case 3:
          printf("Number is 3");
          break;
        case 4:
          printf("Number is 4");
          break;
        default:
          printf("Number is not 3 or 4");
          break;
      }
      break;
    default:
      printf("Invalid input");
  }
  return 0;
}

Este programa declara duas variáveis inteiras num1 e num2 com os valores 2 e 3, respectivamente. Em seguida, utiliza instruções switch case aninhadas para verificar se os valores de num1 e num2 correspondem a algum dos rótulos case. A saída deste código será Number is 3.

Resumo

Neste laboratório, você aprendeu como usar a instrução switch case em C com exemplos. Você aprendeu como usar a instrução switch case com diferentes tipos de dados, como usá-la sem a instrução break e como aninhar instruções switch case.