2012 Sentencia de control switch
M.Sc. Ana María Salgado Universidad Nacional Autónoma de Nicaragua - León
Abril 2012
Sentencia switch
Unidad IV: Estructuras de control Sentencia switch Selecciona entre varias alternativas dependiendo del valor de una variable. La estructura switch comienza con la palabra reservada switch seguida de una expresión entre paréntesis. Luego de esto vienen las etiquetas de selección a través de la palabra reservada case, ésta palabra debe tener como argumento obligatoriamente constantes enteras, por ejemplo, int, char, enum, pero no float, o string. En varios de los casos puede hacerse referencia a una misma acción, para ello se disponen en secuencia y la última cláusula case es la que hará referencia a la secuencia de instrucciones asociada. switch(c) { case 'a': printf("Op A\n"); break;
M.Sc. Ana María Salgado Universidad Nacional Autónoma de Nicaragua - León
Abril 2012
Sentencia switch
Unidad IV: Estructuras de control Sentencia switch Selecciona entre varias alternativas dependiendo del valor de una variable. La estructura switch comienza con la palabra reservada switch seguida de una expresión entre paréntesis. Luego de esto vienen las etiquetas de selección a través de la palabra reservada case, ésta palabra debe tener como argumento obligatoriamente constantes enteras, por ejemplo, int, char, enum, pero no float, o string. En varios de los casos puede hacerse referencia a una misma acción, para ello se disponen en secuencia y la última cláusula case es la que hará referencia a la secuencia de instrucciones asociada. switch(c) { case 'a': printf("Op A\n"); break; case 'b': printf("Op B\n"); break; case 'c': case 'd': printf("Op C o D\n"); break; default: printf("Op ?\n"); } Por lo común la última instrucción antes de la siguiente etiqueta es la instrucción break, ésta palabra reservada provoca el abandono de la estructura switch. Si no existe una proposición break la ejecución continúa con las instrucciones de la siguiente etiqueta. La ausencia de instrucciones break es una causa de error frecuente en un switch. Por último puede haber una instrucción etiquetada como default y representa el caso en el que el valor de la expresión no coincida con ningún valor de las etiquetas utilizadas. No es necesario incluir la sentencia default.
2
M.Sc. Ana María Salgado G.
Sentencia switch
La forma general de esta sentencia es: switch (expresión) { case exp1: sentencia 1; sentencia 2; break; case exp2: sentencia1; sentencia2; break; case expN: sentencia N; break; default: sentencia D; }
Ejemplo 1: Construya un pseudocódigo y el correspondiente programa en C, que al recibir como datos dos variables de tipo entero, obtenga el resultado de la siguiente función: T/5
Si OP = 1
T ** T
Si OP = 2
6 * T/2
Si OP = 3,4
1
Para cualquier otro caso.
f(T) =
3
M.Sc. Ana María Salgado G.
Sentencia switch
Pseudocódigo en PSEINT Proceso funcion Escribir "Ingrese la opcion del calculo y el valor entero:"; Leer OP,T; Segun (OP) Hacer 1: RES