MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

C Switch


Declaración de Switch

En lugar de escribir muchas declaraciones if..else, puedes usar el switch declaración.

La instrucción switch selecciona uno de los muchos bloques de código que se ejecutarán:

Sintaxis

switch(expresión) {
  case x:
    // bloque de código
    break;
  case y:
    // bloque de código
    break;
  default:
    // bloque de código
}

Así es como funciona:

  • La expresión switch se evalúa una vez
  • El valor de la expresión se compara con los valores de cada case
  • Si hay una coincidencia, se ejecuta el bloque de código asociado
  • La instrucción break sale del bloque de cambio y detiene la ejecución
  • La instrucción default es opcional y especifica parte del código que se ejecutará si no hay ninguna coincidencia entre mayúsculas y minúsculas

El siguiente ejemplo utiliza el número del día de la semana para calcular el nombre del día de la semana:

Ejemplo

int day = 4;

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;
}

// Outputs "Thursday" (day 4)
Inténtalo tú mismo »

La palabra clave break

Cuando C alcanza una palabra clave break, sale del bloque de cambio.

Esto detendrá la ejecución de más código y pruebas de casos dentro del bloque.

Cuando se encuentra una coincidencia y el trabajo está hecho, es hora de hacer un descanso. No es necesario realizar más pruebas.

Una interrupción puede ahorrar mucho tiempo de ejecución porque "ignora" la ejecución del resto del código en el bloque de cambio.


La palabra clave default

La palabra clave default especifica parte del código que se ejecutará si no hay ninguna coincidencia entre mayúsculas y minúsculas:

Ejemplo

int day = 4;

switch (day) {
  case 6:
    printf("Today is Saturday");
    break;
  case 7:
    printf("Today is Sunday");
    break;
  default:
    printf("Looking forward to the Weekend");
}

// Outputs "Looking forward to the Weekend"
Inténtalo tú mismo »

Nota: La palabra clave predeterminada debe usarse como última declaración en el cambio y no necesita interrupción.


C Ejercicios

Ponte a prueba con ejercicios

Ejercicio:

Inserte las partes que faltan para completar la siguiente declaración de cambio:

int day = 2;
switch () {
 1:
printf("Monday");
;
 2:
printf("Sunday");
;
}