Dominando la sentencia switch en C: sintaxis, flujo y ejemplo práctico
Dominando la sentencia switch en C
En este tutorial descubrirá cómo crear una sentencia switch limpia y eficiente en C, completa con un ejemplo de calculadora práctico.
La construcción switch le permite ejecutar un bloque de código de entre muchas alternativas. Aunque podría usar una cadena if…else if, switch ofrece sintaxis más clara y legibilidad más rápida, especialmente cuando la decisión depende de una sola expresión.
Sintaxis de Switch-Case
switch (expresión) {
case constante1:
// sentencias
break;
case constante2:
// sentencias
break;
/* … */
default:
// sentencias por defecto
}
Cómo funciona
- La expresión se evalúa una vez y se compara contra cada etiqueta case.
- Cuando se encuentra una coincidencia, el bloque correspondiente se ejecuta hasta alcanzar un
break(o el final delswitch). - Si no ocurre ninguna coincidencia, se ejecuta el bloque
defaultopcional.
Puntos clave
- Omitir
breakcausa "caída" (fall-through): los cases subsiguientes también se ejecutan. - La cláusula
defaultes opcional pero muy recomendada para manejo de errores.
Diagrama de flujo de sentencia switch

Ejemplo: Calculadora simple
#include <stdio.h>
int main(void) {
char operador;
double n1, n2;
printf("Ingrese un operador (+, -, *, /): ");
scanf("%c", &operador);
printf("Ingrese dos operandos: ");
scanf("%lf %lf", &n1, &n2);
switch (operador) {
case '+':
printf("%.1lf + %.1lf = %.1lf\n", n1, n2, n1 + n2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf\n", n1, n2, n1 - n2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf\n", n1, n2, n1 * n2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf\n", n1, n2, n1 / n2);
break;
default:
printf("¡Error! operador no es correcto\n");
}
return 0;
}
Ejemplo de salida
Ingrese un operador (+, -, *, /): - Ingrese dos operandos: 32.5 12.4 32.5 - 12.4 = 20.1
Cuando el usuario ingresa -, el programa salta al case correspondiente, realiza la resta, y el break sale del switch. Si el operador es inválido, la cláusula default alerta al usuario.
Lenguaje C
- Circuito con interruptor: guía práctica de circuitos eléctricos básicos
- Experimento con Diodo Conmutador: Supresión de Retroceso Inductivo con Lámpara de Neón
- Interruptores eléctricos: tipos, funciones y aplicaciones
- Eliminación de rebote en contactos de interruptores mecánicos
- Multímetros: De Analógicos a Digitales — Guía Completa
- Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
- Sentencia break en C#: Cómo y cuándo usarla
- Dominando la sentencia continue en C#: Cómo saltar iteraciones de bucles eficazmente
- Dominando la Sentencia break en C++
- Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos
- Dominando la sintaxis básica de C: Tokens, estructura y punto y coma