Instrucción switch case en el lenguaje C

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En C, la instrucción switch case se utiliza para controlar el flujo de ejecución de un programa cuando hay múltiples alternativas disponibles. Es una de las instrucciones de toma de decisiones en C. La instrucción switch case evalúa una expresión y la compara con múltiples valores para ejecutar un bloque de código correspondiente.

En este laboratorio, aprenderá a usar la instrucción switch case en C con ejemplos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/data_types("Data Types") c/ControlFlowGroup -.-> c/switch("Switch") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123352{{"Instrucción switch case en el lenguaje C"}} c/data_types -.-> lab-123352{{"Instrucción switch case en el lenguaje C"}} c/switch -.-> lab-123352{{"Instrucción switch case en el lenguaje C"}} c/output -.-> lab-123352{{"Instrucción switch case en el lenguaje C"}} end

Sintaxis básica de 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 un entero num con un valor de 2 y utiliza la instrucción switch case para comprobar si su valor coincide con alguna de las etiquetas de caso. Dado que el valor de num es 2, la salida de este código será Number is 2.

Sin la instrucción 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 un entero num con un valor de 2 y utiliza la instrucción switch case sin utilizar la instrucción break. Dado que no hay una instrucción break, todas las declaraciones siguientes se ejecutarán hasta la siguiente instrucción break o el final de la instrucción switch case. La salida de este programa será:

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

Usando el tipo de datos 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 una variable de carácter grade con un valor de 'B'. Utiliza la instrucción switch case para comprobar si el valor de grade coincide con alguna de las etiquetas de caso. La salida de este código será Good.

Switch case anidado

#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 dos variables enteras num1 y num2 con valores de 2 y 3 respectivamente. Luego utiliza instrucciones switch case anidadas para comprobar si los valores de num1 y num2 coinciden con alguna de las etiquetas de caso. La salida de este código será Number is 3.

Resumen

En este laboratorio, aprendiste cómo usar la instrucción switch case en C con ejemplos. Aprendiste cómo usar la instrucción switch case con diferentes tipos de datos, cómo usarlo sin la instrucción break y cómo anidar instrucciones switch case.