Anda di halaman 1dari 3

11/10/2010 Programación PIC en C - Sentecias Co…

Inicio Contactar Acerca de .. Foros Blog

Inicio Programación PIC en C


Menú Principal
Programación PIC en C - Sentecias Condicionales. Sentencia switch
Inicio Escrito por biblioman

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.

La estructura de la sentencia switch es la siguiente:

Últimos Tutoriales

Índice Programación
PIC en C

Índice prácticas PIC


C

SDCC (Small Device


C Compiler) en
Windows

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

Anton: El módulo CPP..

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..

Bibliom an: Lo tienes en el menú principal en el enlace sitemap

[Sw itchnode]

Licencia

Todo el contenido de
este sitio está bajo una
licencia de Creative
Commons

Comentario

En el ejemplo introducimos un carácter numérico, lo almacenamos en el array llamado cadena1 y por


medio de la función atoi() lo convertimos a un valor entero y guardamos su valor en la variable de tipo
entero num, no hay que olvidarse de incluir el archivo de cabecera “stdlib.h” necesaria para la función
atoi().

Ahora introducimos valores para ver que obtenemos a la salida.


Si introducimos un “1”, coincidirá con el valor de la constante asignada al primer case, por lo cual se
ejecutan las dos primeras sentencias y el programa para de ejecutar sentencias porque se ha
encontrado con un break, después ejecuta el último printf() por estar esta sentencia fuera de las llaves
que delimitan a switch.

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.

El código fuente del ejemplo lo tenéis aquí.

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.

Un saludo y hasta pronto

Volver al índice

<< Inicio < Prev 11 12 13 14 15 16 17 18 Próximo > Fin >>

Última actualización el Viernes, 12 de Marzo de 2010 21:26

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

Anda mungkin juga menyukai