Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Switch, Break | Control de Declaraciones
Fundamentos de C
course content

Contenido del Curso

Fundamentos de C

Fundamentos de C

1. Introducción
2. Datos
3. Operadores
4. Control de Declaraciones
5. Funciones
6. Punteros

book
Switch, Break

Usando la declaración switch

Imagina que estás comprando un refresco de una máquina expendedora. Después de seleccionar tu bebida deseada, en lo profundo de la computadora de la máquina expendedora, la variable user_input toma uno de varios valores predefinidos. Cada una de estas opciones se denomina case, y aquí es donde entra en juego la declaración switch.

Piensa en la declaración switch como otra versión de la declaración if-else. Actúa en respuesta a valores específicos que has definido previamente.

Así es como se ve la estructura de una declaración switch:

Consideremos un ejemplo de máquina expendedora. Supongamos que hay tres botones para seleccionar diferentes tipos de papas fritas:

  • Papas fritas sabor queso;
  • Papas fritas sabor tocino;
  • Papas fritas sabor chile.
c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

Si la expresión probada no coincide con ninguno de los casos listados, se ejecuta el caso default. Si no se proporciona un caso default, el programa simplemente continúa su flujo.

Nota

La expresión probada en una declaración switch solo puede ser de tipo entero o char. No puedes usar variables, cadenas o tipos de datos no enteros como casos.

c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

El papel de break

El comando break detiene la ejecución del bloque actual y pasa al siguiente segmento de código. Esencialmente, una vez que el caso relevante está completo, sales de ese bloque y continúas con tu programa.

Sin el comando break, la declaración switch se ejecutaría continuamente, y probablemente terminarías con resultados no deseados.

c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

En ausencia del comando break, el programa comienza a ejecutarse inmediatamente después de encontrar un caso coincidente y continúa hasta que encuentra un break o llega al final del switch.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
We're sorry to hear that something went wrong. What happened?
some-alt