Introducción a la declaración de cambio en C

Antes de aprender qué es la instrucción Switch en C, primero entendamos qué es C.
C es un lenguaje de programación orientado a procedimientos desarrollado por Dennis Ritchie. El propósito básico detrás del desarrollo del lenguaje C era usarlo como un lenguaje de programación del sistema, es decir, para programar un sistema operativo. Muchos lenguajes toman prestada su sintaxis de este lenguaje C. C ++, por ejemplo, es una extensión o puede considerarse como una versión mejorada del lenguaje de programación C.

¿Qué es la declaración de cambio en C?

Considere un caso en el que le hayan dado un montón de llaves de diferentes tamaños. Ahora se le pide que abra una puerta con una de las llaves de este grupo. Entonces, ¿cuál será su enfoque hacia este problema? Es simple, y lo has adivinado bien, elegirás una llave e intentarás desbloquear la puerta usándola. Si esta llave no abre la puerta, intente con otra llave. El proceso continúa hasta que finalmente encuentre la llave que abre la puerta. Después de encontrar la llave y desbloquear la puerta, se detiene. En caso de que pueda encontrar la clave en el primer intento, no continuará intentando con las otras claves después de eso, ¿correcto?

Similar es el caso con la declaración de cambio. Este ejemplo puede ayudarlo a comprender fácilmente la definición básica y el flujo de la instrucción switch. El flujo básico y la funcionalidad de la instrucción switch siguen siendo los mismos en todos los lenguajes de programación. La diferencia solo se puede ver en la sintaxis general basada en el lenguaje de programación utilizado.

En un término muy básico, una instrucción switch evalúa una expresión, la prueba y la compara con los varios casos escritos en el código. Tan pronto como se encuentra la coincidencia con cualquier caso, el control entra en este caso y comienza a ejecutar las declaraciones escritas dentro de este caso hasta que se encuentra una declaración de interrupción. Tan pronto como aparece una declaración de interrupción, la declaración del interruptor finaliza y el control del programa sale del interruptor.

A veces puede suceder que ningún caso coincida con el valor de la expresión. Para tales casos, mencionamos un caso predeterminado que siempre se ejecutará en caso de que no se encuentre ninguna coincidencia.

Los casos en un bloque de la instrucción switch están representados por diferentes números o cadenas, lo que se conoce como un identificador. El valor de la expresión o el valor proporcionado por el usuario se compara con estos casos hasta que se encuentra la coincidencia.

La sintaxis para la instrucción switch en lenguaje de programación C se da a continuación:

sintaxis:

switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;

Ejemplo:

Este ejemplo dará más claridad sobre el uso de la instrucción switch
#include
int main () (
char grade_report = 'D';
printf("Your performance is : ");
switch(grade_report) (
case 'A' :
printf("Outstanding Result!\n" );
break;
case 'B' :
printf("Excellent Result!\n" );
break;
case 'C' :
printf("Good Result\n" );
break;
case 'D' :
printf("Satisfying Result\n" );
break;
case 'F' :
printf("Poor Result\n" );
break;
default :
printf("You did not appear for exam\n" );
)
return 0;
)

Salida:

Su rendimiento es: Resultado satisfactorio

Diagrama de flujo de la declaración de cambio

Cómo funciona la declaración de cambio en C

Comprendamos el flujo de control representado en el diagrama de flujo anterior para obtener una mejor comprensión del flujo de ejecución.

Se pasa una expresión con la instrucción switch que es igual a uno de los valores de los casos. En caso de que el valor no sea igual, se ejecuta el caso predeterminado. El valor de esta expresión se compara con el identificador de caso o el primer caso. Si el primer caso coincide, se ejecuta el bloque de código asociado con el primer caso. Una vez que se encuentra la interrupción, la ejecución se detiene y saldrá de la instrucción de cambio. Sin embargo, si el caso no coincide, la ejecución fluye al siguiente caso. Si este caso coincide, entonces el segundo bloque de código se ejecuta de otra manera, el flujo verifica el siguiente caso de manera similar. Finalmente, si ningún caso coincide, se ejecuta el bloque de código predeterminado.

Echemos un vistazo a algunos ejemplos más:

Ejemplo :

Este ejemplo muestra el uso de la instrucción break en el switch. Si la declaración de interrupción no se especifica después del caso, el flujo de ejecución continuará hasta que encuentre la declaración de interrupción.

#include
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
printf("The number is 10 or 20 or 30 ");
break;
case 50:
case 55:printf("This case also executes because there is no break ");
printf("\n");
case 60:
printf("The number is either 40 or 50 or 60");
break;
default:
printf("The number is greater than 60");))

Salida :
Este caso también se ejecuta porque no hay descanso
El número es 40, 50 o 60.

Ejemplo:

#include
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
printf("hi");
break;
case 0:
printf("bye");
break;
default:
printf(" Hello bye ");
) )

Salida :

adiós

Ejemplo:

Declaración de cambio anidado.

#include
int main() (
int ID = 300;
int password = 1000;
printf("Enter Your ID:\n ");
scanf("%d", & ID);
switch (ID) (
case 300:
printf("Enter your password:\n ");
scanf("%d", & password);
switch (password) (
case 1000:
printf("Welcome to the portal\n");
break;
default:
printf("Enter correct password");
break;
)
break;
default:
printf("Enter correct ID");
break;
)
)

Salida :

Esto dependerá de los valores ingresados ​​por el usuario.

Salida 1:

Ingrese su ID: 300
Ingrese su contraseña: 1000
Bienvenido al portal

Salida 2:
Ingrese su ID: 100
Ingrese la identificación correcta

Salida 3:
Ingrese su ID: 300
Ingrese su contraseña: 000
Ingrese la contraseña correcta

Conclusión

Las declaraciones de cambio de caso son declaraciones controladas que se consideran como un sustituto de las declaraciones if-else. Es una declaración de rama múltiple que proporciona una forma de organizar el flujo de ejecución a partes del código en función del valor de la expresión.

Artículos recomendados

Esta ha sido una guía para la Declaración de cambio en C. Aquí también discutimos la Introducción y cómo funciona la Declaración de cambio en C. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. C ++ vs Java | Descubre la diferencia
  2. Ejemplos de declaración de cambio en C ++
  3. ¿Cómo funciona la declaración de caso en Java?
  4. Descripción general de la declaración de cambio de PHP
  5. Óxido vs C ++ | Principales diferencias
  6. Guía completa para la declaración de cambio de Python
  7. Guía para cambiar la carcasa en PowerShell