Hola y bienvenidos.
Vamos a estudiar a continuación la sentencia Switch en el lenguaje C Están listos?
Vamos bien.
Básicamente, la sentencia Switch nos va a permitir simplificar la sintaxis de la sentencia if else
y además la sentencia switch tiene algunos usos bastante particulares.
Vamos a ver un ejemplo para que todo esto quede más claro.
Por ejemplo, si revisamos la sintaxis de nuestro bloque if else, ya sabemos que en primer lugar tenemos
nuestro bloque if y agregamos una condición Si esta condición es verdadera, entonces se ejecuta el
bloque de código relacionado a este bloque if.
De lo contrario, si queremos agregar más condiciones, entonces tenemos que agregarlas utilizando un
bloque else if.
Agregamos tantas condiciones como necesitemos utilizando este bloque.
Y si cualquiera de estos bloques la condición que se está revisando es verdadera, entonces ejecuta
el bloque de código asociado a la condición que resultó verdadera y así podemos tener tantos bloques,
else, if y condiciones a revisar como necesitemos.
Pero recordemos que solamente se ejecuta el bloque de código donde la condición sea verdadera y en caso
de que ninguna de las condiciones anteriores sea verdadera, entonces para ello tenemos el bloque else
y por lo tanto, si no coincidió ninguna de las revisiones anteriores, entonces se ejecuta este bloque
de código.
Ahora vamos a compararlo utilizando la sentencia Switch.
Realmente el concepto es muy similar.
Sin embargo, vamos a ver que la sintaxis se simplifica.
En primer lugar, vamos a tener lo siguiente En lugar de la palabra reservada, if, vamos a tener la
palabra reservada switch.
Y en lugar de agregar una condición, simplemente vamos a agregar una variable.
Esta variable va a tener el valor que se va a evaluar a lo largo de los diferentes casos que vamos a
agregar en esta estructura switch.
Así que vamos a ver en qué consiste.
Básicamente, proporcionamos una variable y esta variable tiene el valor que vamos a empezar a revisar
y entonces, si esta variable coincide, por ejemplo, su valor con el caso uno, entonces se ejecuta
este bloque de código del caso uno.
Y hasta aquí en la comparación podríamos decir que es exactamente este mismo bloque.
Sin embargo, aquí la revisión de la condición se hace de manera automática según el valor que contenga
nuestra variable que hemos proporcionado.
Se revisa si es igual al valor de uno y si es igual al valor de uno, entonces se ejecuta este bloque
de código.
Sin embargo, un detalle importante en la revisión de cada uno de estos casos es que al final de cada
uno de estos bloques de código se debe de agregar la sentencia break.
Si no se agrega la sentencia break, entonces, a diferencia del bloque IF, en el cual si recordamos
únicamente se ejecuta este bloque de código, en caso de que esta condición sea verdadera, se terminan
de ejecutar estas líneas y entonces lo siguiente que sucede es que nos vamos hasta la última línea de
nuestro bloque if else.
En cambio, en este caso, si no agregamos la sentencia break, en lugar de irnos a la última línea
de la sentencia, Switch se va a continuar con los demás casos.
Esto lo vamos a ver más adelante en un ejemplo, pero básicamente esto va a ser bastante importante.
Hay que agregar la sentencia break en cada uno de los bloques de código de cada uno de los casos que
estamos agregando, ya que si no lo agregamos, como hemos comentado, se va a seguir ejecutando los
demás casos hasta que encuentre la sentencia.
Break break significa romper en español, así que básicamente, si encontramos break significa que ya
se rompe la ejecución de ese caso y por lo tanto nos vamos al fin de la sentencia Switch.
Muy similar a lo que ocurre con el bloque if else.
Si alguno de estos bloques se ejecuta, entonces de manera automática termina de ejecutarse ese bloque
de código y nos vamos al final hasta la última línea de este bloque.
If else if else.
Bien.
Y entonces podemos revisar los demás casos.
La sintaxis se va a simplificar.
Observamos que simplemente ya vamos a agregar, por ejemplo, la revisión del caso dos y si el valor
almacenado en la variable que se proporcionó para evaluar tiene el valor de dos, entonces se ejecuta
este bloque de código y de igual manera recordemos que tenemos que agregar la sentencia break para que
termine de ejecutarse este caso.
Ahora también un detalle importante es que la sentencia break es opcional, sin embargo se utiliza en
la mayoría de los casos precisamente para que no termine ejecutando los demás bloques de código de cada
uno de los casos que podría tener a continuación.
Por ello se recomienda siempre agregar la sentencia break.
Y por último, en caso de que ya no necesitemos agregar más casos, entonces tenemos la opción por default.
Si no se coincidió con ninguna de las revisiones anteriores de ninguno de los casos, entonces llegamos
al bloque de código.
Por default se ejecuta este bloque de código y debido a que es el último bloque de código, ya no hay
necesidad de agregar la sentencia break.
Podemos omitirlo o podemos agregarlo, pero de cualquier manera ya no hay nada que romper, ya que llegamos
ya al final de la sentencia Switch y con eso termina nuestro bloque Switch.
Podemos observar que de igual manera que nuestro bloque IF, en este caso se abre un bloque aquí, pero
también se cierra y entonces este bloque switch es un solo bloque bastante más grande.
A diferencia de los bloques if else son más pequeños, tenemos que ir abriendo y cerrando llaves.
En cambio, la sentencia Switch abrimos un bloque y lo cerramos hasta el final.
Así que este bloque de código normalmente es más grande, ya que de manera interna tiene todos los casos.
Sin embargo, una de las limitantes que tenemos en la sentencia Switch es que solamente podemos con.
Parar con valores numéricos.
Así que esta variable que vamos a proporcionar para que empiece a revisar cada uno de los casos solamente
puede tener un valor numérico.
Por ello, esta sentencia switch normalmente se utiliza cuando queremos preguntarle al usuario qué opción
desea, por ejemplo, para programar un menú o cualquier opción.
Pero a final de cuentas, el usuario solamente puede proporcionar un valor numérico.
Para eso nos sirve perfectamente la sentencia Switch y nos va a simplificar bastante la sintaxis a comparación
de un bloque if else if else.
Sin embargo, este bloque if tiene la diferencia de que esta condición puede ser cualquier expresión.
Así que podemos comparar no solamente valores numéricos, sino que pueden ser expresiones mucho más
complejas.
Pero al final de cuentas, recordemos que el único requisito es que esta condición sea un valor booleano,
un valor lógico al final.
Así que podemos realizar cualquier comparación, pero al final debe regresar verdadero o falso.
Y en este caso tenemos que proporcionar un valor numérico en la variable que se va a proporcionar al
bloque switch y de manera interna se van a ir haciendo las revisiones, las comparaciones con cada uno
de los casos que estemos programando.
Ahora, si este bloque de código lo queremos reutilizar para varios casos, por ejemplo si es el mismo
para tanto el caso uno y el caso dos, entonces ya no hay necesidad de repetir este bloque de código,
podríamos omitirlo y entonces juntarlo con este y entonces juntar este código para el caso uno y también
para el caso dos.
Así que en este caso podemos agregarle la siguiente sintaxis.
Este bloque de código va a funcionar tanto para el caso uno, pero también después de los dos puntos
agregamos, en caso de que también coincida con el caso dos, entonces esa será la sintaxis y así podemos
poner tantos casos como necesitemos para poder reutilizar este bloque de código.
Así que en este caso la revisión será la siguiente si es el caso uno o es el caso dos, entonces ejecuta
este bloque de código y así tantos casos como queramos agregar.
Bien, pero con esto ya estamos revisando la sintaxis básica.
Vamos a detener hasta aquí este video y vamos a realizar un ejercicio en el siguiente.
Saludos.