English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderá a crear instrucciones switch en programación en C a través de un ejemplo.
La instrucción switch nos permite ejecutar uno de varios bloques de código.
Aunque puede usar if...else..if para realizar la misma operación. Sin embargo, la sintaxis de la instrucción switch es más fácil de leer y escribir.
switch (expresión) { case constante1: // Instrucción break; case constante2: // Instrucción break; . . . default: // Instrucción por defecto }
¿Cómo funciona la instrucción switch?
La expresión (expresión) se evalúa una vez y se compara con cada etiqueta case.
Si hay una coincidencia, se ejecuta la instrucción después de la etiqueta coincidente. Por ejemplo, si el valor de la expresión es igual a constante2Entonces se ejecuta case constante2Las instrucciones después de : hasta que se encuentre break.
Si no se encuentra una coincidencia, se ejecutará la instrucción default (default).
Si no se utiliza break, se ejecutarán todas las instrucciones después de la etiqueta coincidente.
Por cierto, la cláusula default de la instrucción switch es opcional.
//El programa crea un simple calculador #include <stdio.h> int main() { char operator; double n1, n2; printf("Ingrese un operador ( ");+, -, *, /)"); scanf("%c", &operator); printf("Ingrese dos operandos: "); scanf("%lf %lf", &n1, &n2); switch (operator) { case '+': printf("%.1lf + %.1lf = %.1lf", n1, n2, n1 + n2); break; case '-': printf("%.1lf - %.1lf = %.1lf", n1, n2, n1 - n2); break; case '*': printf("%.1lf * %.1lf = %.1lf", n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf", n1, n2, n1 / n2); break; // No se ha encontrado ningún operador coincidente ( +, -, *, /) default: printf("¡Error! Operador incorrecto"); } return 0; }
Resultado de salida
Ingrese un operador (+, -, *,): - Ingrese dos operandos: 32.5 12.4 32.5 - 12.4 = 20.1
“Operador ingresado por el usuario (”-“Almacenado en la variable operator. Además32.5y}}12.4se almacenan en la variable n1y n2en.
Debido a que operator es -,por lo tanto, el control del programa se salta a la declaración
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
Finalmente,Sentencia breakTerminar esta sentencia switch, la operación se ha completado.