logo

Declaración de cambio en C

La declaración de cambio de caso evalúa una expresión dada y, en función del valor evaluado (que coincide con una determinada condición), ejecuta las declaraciones asociadas con ella. Básicamente, se utiliza para realizar diferentes acciones en función de diferentes condiciones (casos).

  • Las declaraciones de cambio de caso siguen un mecanismo de control de selección y permiten que un valor cambie el control de ejecución.
  • Son un sustituto por mucho tiempo. si declaraciones que comparan una variable con varios valores integrales.
  • La declaración de cambio es una declaración de rama multidireccional. Proporciona una manera sencilla de enviar la ejecución a diferentes partes del código según el valor de la expresión.

En C, la declaración de cambio de caso se usa para ejecutar una condición a partir de múltiples condiciones. Es similar a una escalera si-si no-si.



calcular la tenencia en excel

La declaración de cambio consta de casos basados ​​en condiciones y un caso predeterminado.

Sintaxis de la declaración de cambio en C

  switch(expression)     {     case   value1  :   statement_1;   break;     case   value2  :   statement_2;   break;   . . .   case   value_n  :   statement_n;   break;     default:   default_statement; }>

¿Cómo utilizar la declaración de caso de cambio en C?

Antes de usar el caso switch en nuestro programa, necesitamos conocer algunas reglas de la declaración switch.

Reglas de la declaración de caso de cambio

A continuación se detallan algunas de las reglas que debemos seguir al usar la declaración de cambio:



  1. En una declaración de cambio, el valor del caso debe ser de carbonizarse y En t tipo.
  2. Puede haber uno o N casos.
  3. Los valores en el caso deben ser único .
  4. Cada declaración del caso puede tener una declaración de ruptura. Es opcional.
  5. La Declaración predeterminada también es opcional.

Ejemplo

C
// C program to Demonstrate returning of day based numeric // value #include  int main() {  // switch variable  int var = 1;  // switch statement  switch (var) {  case 1:  printf('Case 1 is Matched.');  break;  case 2:  printf('Case 2 is Matched.');  break;  case 3:  printf('Case 3 is Matched.');  break;  default:  printf('Default case is Matched.');  break;  }  return 0; }>

Producción
Case 1 is Matched.>

¿Cómo funciona la declaración de cambio?

El funcionamiento de la declaración de cambio en C es el siguiente:

  1. Paso 1: Se evalúa la variable de conmutación.
  2. Paso 2: El valor evaluado se compara con todos los casos presentes.
  3. Paso 3A: Si se encuentra el valor de caso coincidente, se ejecuta el código asociado.
  4. Paso 3B: Si no se encuentra el código coincidente, se ejecuta el caso predeterminado, si está presente.
  5. Paso 4A: Si la palabra clave break está presente en el caso, entonces el control del programa sale de la declaración de cambio.
  6. Paso 4B: Si la palabra clave break no está presente, se ejecutan todos los casos posteriores al caso coincidente.
  7. Paso 5: Se ejecutan las declaraciones posteriores a la declaración de cambio.

También podemos comprender el funcionamiento de la declaración de cambio en C usando el diagrama de flujo.

Diagrama de flujo de la declaración de cambio

caja del interruptor en c

Diagrama de flujo de la declaración de cambio en C



Rotura en la caja del interruptor

Esta palabra clave se utiliza para detener la ejecución dentro de un bloque de interruptor. Ayuda a terminar el bloque de interruptores y salir de él. Cuando se alcanza una declaración de interrupción, el cambio termina y el flujo de control salta a la siguiente línea después de la declaración de cambio.

El la declaración de interrupción es opcional . Si se omite, la ejecución continuará en el siguiente caso. El flujo de control se extenderá a los casos posteriores hasta que se llegue a una ruptura.

Ejemplo de caja de interruptor sin rotura

C
// C Program to demonstrate the behaviour of switch case // without break #include  int main() {  int var = 2;  // switch case without break  switch (var) {  case 1:  printf('Case 1 is executed.
');  case 2:  printf('Case 2 is executed.
');  case 3:  printf('Case 3 is executed.');  case 4:  printf('Case 4 is executed.');  }  return 0; }>

Producción
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

Predeterminado en el caso del interruptor

La palabra clave predeterminada se utiliza para especificar el conjunto de declaraciones para ejecutar si no hay coincidencia de casos .

Es opcional para utilizar la palabra clave predeterminada en un caso de cambio. Incluso si la declaración de cambio de caso no tiene una declaración predeterminada, se ejecutará sin ningún problema.

Puntos importantes sobre las declaraciones de casos de cambio

1. La expresión de cambio debería dar como resultado un valor constante

Si la expresión proporcionada en la declaración de cambio no da como resultado un valor constante, no sería válida. Algunas expresiones válidas para el caso de cambio serán,

diferencia entre dos cadenas python
// Constant expressions allowed switch(1+2+23) switch(1*2+3%4) // Variable expression are allowed provided // they are assigned with fixed values switch(a*b+c*d) switch(a+b+c)>

2. El valor de la expresión debe ser sólo de tipo int o char.

La declaración de cambio solo puede evaluar el valor de un número entero o de carácter. Por lo tanto, la expresión de cambio debería devolver los valores de tipo int o char únicamente.

3. Los valores de los casos deben ser únicos

En la declaración de cambio de C, no se permiten valores de casos duplicados.

3. Anidamiento de declaraciones de cambio

Se permite el anidamiento de declaraciones de cambio , lo que significa que puedes tener declaraciones de cambio dentro de otro interruptor. Sin embargo, se deben evitar las declaraciones de cambio anidadas, ya que hacen que el programa sea más complejo y menos legible.

4. El bloque predeterminado se puede colocar en cualquier lugar.

Independientemente de su ubicación, el caso predeterminado sólo se ejecuta si no se cumple ninguna de las otras condiciones del caso. Entonces, ponerlo al principio, en el medio o al final no cambia la lógica central.

serial en postgres

Ejemplos de declaración de cambio en C

Ejemplo 1: Programa C para imprimir el día de la semana usando una caja de interruptor.

C
// C program to print the day using switch #include  // Driver Code int main() {  int day = 2;  printf('The day with number %d is ', day);  switch (day) {  case 1:  printf('Monday');  break;  case 2:  printf('Tuesday');  break;  case 3:  printf('Wednesday');  break;  case 4:  printf('Thursday');  break;  case 5:  printf('Friday');  break;  case 6:  printf('Saturday');  break;  case 7:  printf('Sunday');  break;  default:  printf('Invalid Input');  break;  }  return 0; }>

Producción
The day with number 2 is Tuesday>

Ejemplo 2: Calculadora simple usando switch case en C

C
// C Program to create a simple calculator using switch // statement #include  #include  // driver code int main() {  // switch variable  char choice;  // operands  int x, y;  while (1) {  printf('Enter the Operator (+,-,*,/)
Enter x to '  'exit
');  scanf(' %c', &choice);  // for exit  if (choice == 'x') {  exit(0);  }  printf('Enter the two numbers: ');  scanf('%d %d', &x, &y);  // switch case with operation for each operator  switch (choice) {  case '+':  printf('%d + %d = %d
', x, y, x + y);  break;  case '-':  printf('%d - %d = %d
', x, y, x - y);  break;  case '*':  printf('%d * %d = %d
', x, y, x * y);  break;  case '/':  printf('%d / %d = %d
', x, y, x / y);  break;  default:  printf('Invalid Operator Input
');  }  }  return 0; }>


Producción

Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>

Ventajas de la declaración de cambio C

  1. Más fácil de leer que si no.
  2. Más fácil de depurar y mantener para una gran cantidad de condiciones.
  3. Velocidad de ejecución más rápida.

Desventajas de la declaración de cambio de C

  1. Cambiar caso solo puede evaluar el tipo int o char.
  2. No hay soporte para expresiones lógicas.
  3. Hay que tener en cuenta añadir un descanso en cada caso.

Conclusión

En este artículo, analizamos la declaración de cambio en la programación en C y cómo usarla. Es una declaración condicional como la escalera if-else-if que tiene sus propios méritos y deméritos. Se prefiere sobre todo cuando el número de condiciones a evaluar es grande.

Preguntas frecuentes sobre la declaración de cambio de C

1. ¿Cuál es el caso del interruptor en C?

La declaración de caso de cambio es una declaración de control de flujo en la que podemos definir una variable de cambio y luego ejecutar código diferente según el valor de la variable de cambio. Es una alternativa de if else if escalera.

2. ¿Cuál es el caso en la declaración de cambio en C?

La palabra clave case se utiliza para definir los diferentes casos y su código asociado en la declaración de cambio.

3. ¿Qué hace la rotura en la caja del interruptor?

La palabra clave break se utiliza para salir del bloque de cambio después de ejecutar el caso coincidente.

4. ¿Cuáles son las diferencias entre switch y if else if ladder en C?

A continuación se presentan los principales diferencias entre interruptor C y C if else if escalera :

cambiar

si no si

Ejecuta los diferentes casos en función del valor de la variable de cambio.Ejecuta los diferentes bloques según la condición especificada.
Solo puede evaluar expresiones de tipo int o char.Puede evaluar cualquier tipo de expresión.
Más rápido y más fácil de leer para la gran cantidad de condiciones.Puede resultar complicado cuando hay muchas condiciones.

Debe leer:

  • Datos interesantes sobre Switch Case en C
  • Imprima dígitos individuales como palabras sin usar if o switch