Switch, Break
Uso de la instrucción switch
Imagina que compras un refresco en una máquina expendedora. Después de seleccionar la bebida deseada, en el interior del sistema de la máquina, la variable user_input toma uno de varios valores predefinidos. Cada una de estas opciones se denomina un case, y aquí es donde entra en juego la instrucción switch.
Considera la instrucción switch como otra versión de la instrucción if-else. Actúa en respuesta a valores específicos que has definido previamente.
Así es como se ve la estructura de una instrucción switch:
main.c
1234567891011121314151617switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }
Considere el ejemplo de una máquina expendedora. Suponga que hay tres botones para seleccionar diferentes tipos de papas fritas:
- Papas sabor queso;
- Papas sabor tocino;
- Papas sabor chile.
Main.c
123456789101112131415161718192021222324#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 evaluada 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.
La expresión evaluada en una sentencia switch solo puede ser de tipo entero o char. No se pueden usar cadenas de texto ni tipos de datos no enteros como casos.
Main.c
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. Es decir, una vez que se completa el caso relevante, se sale de ese bloque y el programa continúa.
Sin el comando break, la sentencia switch se ejecutaría de forma continua, lo que probablemente resultaría en resultados no deseados.
Main.c
123456789101112131415161718192021222324#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.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.63
Switch, Break
Desliza para mostrar el menú
Uso de la instrucción switch
Imagina que compras un refresco en una máquina expendedora. Después de seleccionar la bebida deseada, en el interior del sistema de la máquina, la variable user_input toma uno de varios valores predefinidos. Cada una de estas opciones se denomina un case, y aquí es donde entra en juego la instrucción switch.
Considera la instrucción switch como otra versión de la instrucción if-else. Actúa en respuesta a valores específicos que has definido previamente.
Así es como se ve la estructura de una instrucción switch:
main.c
1234567891011121314151617switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }
Considere el ejemplo de una máquina expendedora. Suponga que hay tres botones para seleccionar diferentes tipos de papas fritas:
- Papas sabor queso;
- Papas sabor tocino;
- Papas sabor chile.
Main.c
123456789101112131415161718192021222324#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 evaluada 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.
La expresión evaluada en una sentencia switch solo puede ser de tipo entero o char. No se pueden usar cadenas de texto ni tipos de datos no enteros como casos.
Main.c
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. Es decir, una vez que se completa el caso relevante, se sale de ese bloque y el programa continúa.
Sin el comando break, la sentencia switch se ejecutaría de forma continua, lo que probablemente resultaría en resultados no deseados.
Main.c
123456789101112131415161718192021222324#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.
¡Gracias por tus comentarios!