interruptor ... caso en C Programación

En este tutorial, aprenderá a crear la instrucción switch en programación C con la ayuda de un ejemplo.

La declaración de cambio nos permite ejecutar un bloque de código entre muchas alternativas.

Puedes hacer lo mismo con la if… else… ifescalera. Sin embargo, la sintaxis de la switchdeclaración es mucho más fácil de leer y escribir.

Sintaxis de switch… case

 switch (expression) ( case constant1: // statements break; case constant2: // statements break;… default: // default statements )

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

La expresión se evalúa una vez y se compara con los valores de cada etiqueta de caso.

  • Si hay una coincidencia, se ejecutan las declaraciones correspondientes después de la etiqueta coincidente. Por ejemplo, si el valor de la expresión es igual a constante2, las instrucciones posteriores case constant2:se ejecutan hasta que breakse encuentra.
  • Si no hay coincidencia, se ejecutan las declaraciones predeterminadas.

Si no lo usamos break, se ejecutan todas las declaraciones posteriores a la etiqueta correspondiente.

Por cierto, la defaultcláusula dentro de la switchdeclaración es opcional.

cambiar diagrama de flujo de declaración

Ejemplo: calculadora simple

 // Program to create a simple calculator #include int main() ( char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); 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; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); ) return 0; ) 

Salida

 Ingrese un operador (+, -, *,): - Ingrese dos operandos: 32.5 12.4 32.5 - 12.4 = 20.1

El operador - introducido por el usuario se almacena en la variable de operador. Y, dos operandos 32.5 y 12.4 se almacenan en las variables n1 y n2 respectivamente.

Dado que el operador es -, el control del programa salta a

 printf ("%. 1lf -% .1lf =% .1lf", n1, n2, n1-n2);

Finalmente, la sentencia break termina la switchsentencia.

Articulos interesantes...