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

Contenido del Curso

Fundamentos de C

Fundamentos de C

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

bookSwitch, Break

Usando la Sentencia switch

Imagina que estás comprando un refresco en una máquina expendedora. Después de seleccionar la bebida deseada, en el ordenador 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 sentencia switch.

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

La estructura de una sentencia switch es la siguiente:

Consideremos el ejemplo de una máquina expendedora. Supongamos que hay tres botones para seleccionar distintos tipos de papas fritas:

  1. Papas fritas con sabor a queso
  2. Papas fritas con sabor a beicon
  3. Papas fritas con sabor a 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 comprobada no coincide con ninguno de los casos de la lista, se ejecuta el caso default. Si no se proporciona ningún caso por defecto, el programa simplemente continúa su flujo.

Nota

La expresión probada en una sentencia switch sólo puede ser de tipo entero o char. No se pueden utilizar variables, strings o tipos de datos no enteros como cases.

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 completado el caso relevante, sales de ese bloque y continúas con tu programa.

Sin el comando break, la sentencia switch se ejecutaría continuamente, y probablemente acabarí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
some-alt