En este tutorial de la declaración switch , vamos a aprender lo comunicado switch se , cuando se utiliza, ¿cuáles son los características y desventajas de la misma? Cómo comunicado switch es diferente de la sentencia if else ?
Hay un montón de sentencias condicionales disponibles en el mundo de la programación. Cada uno de ellos tiene sus propias ventajas y desventajas. En este artículo, vamos a discutir declaraciones Switch .
switch: Una sentencia compuesta
Esta declaración se utiliza cuando tenemos que seleccionar una opción de entre varias opciones sobre la base del valor de alguna variable.
Sintaxis para la declaración switch:
switch(expression/condition)
{
case 1:
statements;
[break;]
case 2:
statements;
[break;]
default:
statements;
}
Aquí, la expresión puede ser cualquier cosa que vuelve enteros valor o valor de carácter, pero no un valor flotante.
Ejemplo:
#include <stdio.h>
int main()
{
int a = 2 ;
switch(a)
{
case 1:
printf("abc");
break;
case 2:
printf("xyz");
break;
case 3:
printf("pqr");
break;
default:
printf("stu");
}
return 0;
}
salida
xyz
Aquí, un es una expresión que devuelve un valor entero, ya que de valor es 2 case 2 será ejecutado. Tenga en cuenta que como hemos utilizado break declaración aquí solamente case 2 será ejecutado y después de que el control saldrá de la llave de cierre de la switch.
Nota: También hay que tener en cuenta que switch , case , default son todas las palabras clave.
Características de switch
- ejecutar múltiples sentencias, en cualquier case, no hay ningún requisito de llaves como en caso de else.
- El default puede o no utilizar el break comunicado.
- Podemos usar el número case en orden ascendente o descendente o en cualquier orden aleatorio.
- En tanto switch y case , utilizamos int o char constante.
- Podemos utilizar default cualquier parte del programa, porque cada vez default se ejecuta solamente cuando no hay coincidencia de cualquier case.
- Podemos ejecutar un conjunto común de declaración para múltiples casos.
- Si hay alguna declaración en switch entonces debe ser en ningún case.
La ejecución de un conjunto común de declaraciones para múltiples casos se imprime
#include <stdio.h>
int main()
{
int a = 2 ;
switch(a)
{
case 1:
case 2:
printf("xyz");
break;
case 3:
printf("pqr");
break;
default:
printf("stu");
}
return 0;
}
salida
xyz
Aquí, si incluso case 1 se encuentra XYZ.
desventajas de declaraciones switch
- float constante no puede ser utilizado en el switch, así como en el case.
- No se puede utilizar la expresión variable en case.
- No se puede utilizar la misma constante en dos casos diferentes.
- No podemos utilizar la expresión relacional en case.
Diferencia entre switch case y si- else
1 | En case de un switch, creamos tabla de saltos en tiempo de compilación se ejecuta sólo case seleccionada en tiempo de ejecución. | En este case, que do no creamos una tabla de saltos y todos los casos se ejecutan en tiempo de ejecución. |
2 | Si un programa es grande usamos la declaración switch. | Si un programa es grande estructura del programa a continuación, será más complejo. |
3 | Si un programa es grande, entonces switch case da el programa más estructurado. | Si un programa es pequeño uso que si else. |
Usando switch case para diseñar calculadora
#include<stdio.h>
int main()
{
int num1,num2,opt;
printf("Enter the first Integer: ");
scanf("%d",&num1);
printf("Enter the second Integer: ");
scanf("%d",&num2);
printf("1:addition n2: subtraction n3: multiplication n4: divisionn");
printf("Enter an correct option...: ");
scanf("%d",&opt);
switch(opt)
{
case 1:
printf("nAddition of %d and %d is: %d",num1,num2,num1+num2);
break;
case 2:
printf("nSubstraction of %d and %d is: %d",num1,num2,num1-num2);
break;
case 3:
printf("nMultiplication of %d and %d is: %d",num1,num2,num1*num2);
break;
case 4:
if(num2==0)
{
printf("OOps Devide by zeron");
}
else
{
printf("n Division of %d and %d is: %d",num1,num2,num1/num2);
}
break;
default:
printf("n Enter correct optionn");
}
return 0;
}
salida
Enter the first Integer: 10
Enter the second Integer: 6
1:addition
2: subtraction
3: multiplication
4: division
Enter an correct option...: 3
Multiplication of 10 and 6 is: 60