declaración del caso del interruptor en C Programación con ejemplo

La declaración de cambio de caso se utiliza cuando tenemos múltiples opciones y necesitamos realizar una tarea diferente para cada opción.

C – Declaración de cambio de caso

Antes de ver cómo funciona la declaración de un caso de cambio en un programa C, revisemos su sintaxis.

switch (variable o una expresión entera){ constante de mayúsculas y minúsculas: //C Statements ; constante de mayúsculas y minúsculas: //C Sentencias; por defecto: //C Sentencias ;}

Diagrama de flujo de Switch Case

Caja de interruptores C

Ejemplo de caso de cambio en C

Tomemos un ejemplo simple para entender el funcionamiento de una declaración de un caso de cambio en el programa C.

#include <stdio.h>int main(){ int num=2; switch(num+2) { case 1: printf("Case1: Value is: %d", num); case 2: printf("Case1: Value is: %d", num); case 3: printf("Case1: Value is: %d", num); default: printf("Default: Value is: %d", num); } return 0;}

Salida:

Predeterminado: el valor es: 2

Explicación: En switch di una expresión, puedes dar variable también. Di num+2, donde el valor de num es 2 y después de la suma la expresión resultó 4. Como no hay ningún caso definido con el valor 4 se ejecuta el caso por defecto.

Giro en una historia – Introduciendo la frase Break

Antes de discutir más sobre la declaración de ruptura, adivina el resultado de este programa C.

#include <stdio.h>int main(){ int i=2; switch (i) { case 1: printf("Case1 "); case 2: printf("Case2 "); case 3: printf("Case3 "); case 4: printf("Case4 "); default: printf("Default "); } return 0;}

Salida:

Caso2 Caso3 Caso4 Por defecto

Pasé una variable para cambiar, el valor de la variable es 2, por lo que el control saltó al caso 2, Sin embargo, no hay tales declaraciones en el programa anterior que podría romper el flujo después de la ejecución del caso 2. Esa es la razón por la que después del caso 2, todos los casos posteriores y las declaraciones por defecto se ejecutaron.

¿Cómo evitar esta situación?
Podemos usar la declaración de ruptura para romper el flujo de control después de cada bloque de casos.

Declaración de ruptura en el caso del interruptor

Las declaraciones de ruptura son útiles cuando quieres que tu flujo de programa salga del cuerpo del interruptor. Cada vez que se encuentra una declaración de ruptura en el cuerpo del interruptor, el control sale de la declaración de la caja del interruptor.

Ejemplo de Switch Case con break
Estoy tomando lo mismo arriba que hemos visto arriba pero esta vez estamos usando el descanso.

#include <stdio.h>int main(){ int i=2; switch (i) { case 1: printf("Case1 "); break; case 2: printf("Case2 "); break; case 3: printf("Case3 "); break; case 4: printf("Case4 "); break; default: printf("Default "); } return 0;}

Salida:

Caso 2

¿Por qué no usé la declaración de ruptura después de la falta?
El control en sí mismo saldría del interruptor después del defecto así que no lo usé, sin embargo si quieres usar el break después del defecto entonces puedes usarlo, no hay ningún daño en hacerlo.

Algunos puntos importantes sobre el caso del interruptor

1) El caso no siempre necesita tener el orden 1, 2, 3 y así sucesivamente. Pueden tener cualquier valor entero después de la palabra clave del caso. Además, el caso no tiene que estar siempre en orden ascendente, puedes especificarlos en cualquier orden según la necesidad del programa.

2) También puedes usar caracteres en mayúsculas y minúsculas, por ejemplo –

#include <stdio.h>int main(){ char ch='b'; switch (ch) { case 'd': printf("CaseD "); break; case 'b': printf("CaseB"); break; case 'c': printf("CaseC"); break; case 'z': printf("CaseZ "); break; default: printf("Default "); } return 0;}

Salida:

CasoB

3) La expresión proporcionada en el conmutador debe dar lugar a un valor constante, de lo contrario no sería válida.
Por ejemplo:
Expresiones válidas para el switch –

switch(1+2+23)switch(1*2+3%4)

Expresiones de cambio inválidas –

switch(ab+cd)switch(a+b+c)

4) Se permite el anidamiento de declaraciones de cambio, lo que significa que puedes tener declaraciones de cambio dentro de otro interruptor.

Sin embargo, las declaraciones de cambio anidadas deben evitarse ya que hace que el programa sea más complejo y menos legible.
5) No se permiten los valores en mayúsculas y minúsculas duplicados. Por ejemplo, el siguiente programa es incorrecto:
Este programa es incorrecto

porque tenemos dos mayúsculas y minúsculas aquí, lo cual es incorrecto ya que no podemos tener valores en mayúsculas y minúsculas duplicados.

#include <stdio.h>int main(){ char ch='B'; switch (ch) { case 'A': printf("CaseA"); break; case 'A': printf("CaseA"); break; case 'B': printf("CaseB"); break; case 'C': printf("CaseC "); break; default: printf("Default "); } return 0;}

6) La declaración por

defecto es opcional, si no tiene un defecto en el programa, se ejecutaría sin problemas. Sin embargo, es una buena práctica tener una declaración por defecto para que se ejecute si no hay ningún caso que coincida. Esto es especialmente útil cuando tomamos la información del usuario para las elecciones de casos, ya que el usuario puede en algún momento introducir un valor incorrecto, podemos recordarle al usuario con un mensaje de error adecuado que podemos establecer en la declaración predeterminada.❮ PreviousNext ❯

Rate this post

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio