Registrarse Página 17 de 18
Enlaces Web
Volver al índice
Foros
Sentencia switch
Sitemap
La sentencia switch se compone de las siguientes palabras clave: switch, case, default y break.
Lo que hace está sentencia es comparar sucesivamente el valor de una expresión (dicha expresión tan
solo puede ser de tipo entero o de tipo carácter) con una lista de constantes enteras o de caracteres.
Cuando la expresión coincide con la constante, ejecuta las sentencias asociadas a ésta.
Últimos Tutoriales
Índice Programación
PIC en C
Actualizar a Ubuntu
9.10 (Karmic Koala)
Programación de
Microcontroladores
PIC en C con Ubuntu
utilizando el ICD2
Particiones y
sistemas de archivos
en Linux
Algunas razones para
probar Ubuntu
Instalación de
Ubuntu 9.04 paso a
paso
Compilador PCW CCS
Compiladores C para
PIC
La sentencia break hace que el programa salte a la línea de código siguiente a la sentencia switch. Si
Programación PIC en se omite se ejecutará el resto de casos case hasta encontrar el próximo break.
C
La sentencia default se ejecuta cuando no ha habido ninguna coincidencia. La parte default es opcional
X - 10 y, si no aparece, no se lleva a cabo ninguna acción al fallar todas las pruebas y el programa seguirá a
partir de la llave que cierra la sentencia switch
Comandos Unix/Linux
Curso PIC32 Consideraciones a la hora de usar esta sentencia:
Autómatas
Secuenciales Finitos En una sentencia switch No puede haber dos sentencias case con el mismo valor de constante.
CAD Electrónico Una constante char se convierte automáticamente a sus valores enteros.
Arduino y el Switch difiere del if en que switch solo puede comprobar la igualdad mientras que if puede evaluar
controlador LCD serie expresiones relacionales o lógicas. Además cuando la comparación se basa en variables o se
trabaja con expresiones que devuelven float deberemos usar el if-else.
Chat Hay que decir que la secuencia de sentencias en un case no es un bloque (no tiene porque ir
entre llaves). Por lo tanto no podríamos definir una variable local en él. Mientras que la estructura
swith global sí que es un bloque.
josu: hola ke tal gente
inyelber: hay alguien alli? Vamos a ver un ejemplo para ver todo esto:
inyelber: epale
aquihayapuntes.com/programacion-pi… 1/3
11/10/2010 Programación PIC en C - Sentecias Co…
cristian: HOLA
jonathan1111111: ola
faxtor: alguien mepuede ayudar , que modulo utilizo para generar pulsos PWM
faxtor: Hola soy nuvo en este chat, les pregunto :como genero pulsos PWM?
faxtor: hola..
[Sw itchnode]
Licencia
Todo el contenido de
este sitio está bajo una
licencia de Creative
Commons
Comentario
Fijaros en el segundo case, he omitido su break correspondiente a posta (el compilador no da error si se
quita), para que veáis el resultado cuando se introduce un “2”:
Como veis en la figura de arriba se ejecutan las sentencias pertenecientes al segundo case, pero al no
encontrar la sentencia break, ejecuta también la sentencia del tercer case. Esto hay que tenerlo en
cuenta para tener claro que lo que hace salir de la sentencia switch es el break correspondiente a cada
case.
Si introducimos por ejemplo un “9” al no a ver coincidencia con el valor de ningún case, se ejecutará la
sentencia perteneciente a default.
Un ejemplo un poco más práctico del uso de esta sentencia, lo tenéis aquí, gracias a QuijotescoXp,
que ha hecho una mejora en el decodificador binario a decimal que en su día incluí en la sección de
prácticas, os animo a que participes en el foro aportando mejoras ó ejemplos nuevos, de esta forma
ayudas a que el curso vaya para adelante.
Volver al índice
aquihayapuntes.com/programacion-pi… 2/3
11/10/2010 Programación PIC en C - Sentecias Co…
© 2007-2010 AquiHayapuntes.com
aquihayapuntes.com/programacion-pi… 3/3