Switch case in c

Switch case in c

bucle do while

Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  «Switch statement» – noticias – periódicos – libros – scholar – JSTOR (abril de 2013) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
En los lenguajes de programación de ordenadores, una sentencia switch es un tipo de mecanismo de control de selección utilizado para permitir que el valor de una variable o expresión cambie el flujo de control de la ejecución del programa a través de la búsqueda y el mapa.
Las sentencias switch funcionan de forma similar a la sentencia if utilizada en lenguajes de programación como C/C++, C#, Visual Basic .NET, Java y existe en la mayoría de los lenguajes de programación imperativos de alto nivel como Pascal, Ada, C/C++, C#, Visual Basic .NET, Java, y en muchos otros tipos de lenguaje, utilizando palabras clave como switch, case, select o inspect.
Las sentencias switch se presentan en dos variantes principales: un switch estructurado, como en Pascal, que toma exactamente una rama, y un switch no estructurado, como en C, que funciona como un tipo de goto. Las principales razones para utilizar un conmutador incluyen la mejora de la claridad, al reducir la codificación que de otro modo sería repetitiva, y (si la heurística lo permite) también ofrece la posibilidad de una ejecución más rápida a través de una optimización más fácil del compilador en muchos casos.

cambiar de caso en c con varios valores

El control pasa a la sentencia case cuyo valor de la expresión constante coincide con el valor de la expresión. La sentencia switch puede incluir cualquier número de instancias case. Sin embargo, no puede haber dos valores de expresiones constantes dentro de la misma sentencia switch que tengan el mismo valor. La ejecución del cuerpo de la sentencia switch comienza en la primera sentencia dentro o después de la sentencia etiquetada que coincida. La ejecución continúa hasta el final del cuerpo, o hasta que una sentencia break transfiere el control fuera del cuerpo.
Puede utilizar la sentencia break para finalizar el procesamiento de una sentencia etiquetada concreta dentro de la sentencia switch. Se bifurca al final de la sentencia switch. Sin la sentencia break, el programa continúa con la siguiente sentencia etiquetada, ejecutando las sentencias hasta que se alcance un break o el final de la sentencia. Esta continuación puede ser deseable en algunas situaciones.
La sentencia por defecto se ejecuta si ningún valor de la expresión constante del caso es igual al valor de la expresión. Si no hay ninguna sentencia por defecto, y no se encuentra ninguna coincidencia de case, no se ejecuta ninguna de las sentencias del cuerpo del switch. Puede haber como máximo una sentencia por defecto. La sentencia por defecto no tiene que ir al final. Puede aparecer en cualquier parte del cuerpo de la sentencia switch. Una etiqueta case o default sólo puede aparecer dentro de una sentencia switch.

bucle while

El cuerpo de una sentencia switch puede tener un número arbitrario de etiquetas case:, siempre que los valores de todas las expresiones constantes sean únicos (después de la conversión al tipo de expresión promovido). Como máximo puede haber una etiqueta default: (aunque las sentencias switch anidadas pueden utilizar sus propias etiquetas default: o tener etiquetas case: cuyas constantes sean idénticas a las utilizadas en el switch que las encierra).
Si la expresión se evalúa al valor que es igual al valor de una de las expresiones constantes después de la conversión al tipo de expresión promovido, entonces el control se transfiere a la sentencia que está etiquetada con esa expresión constante.
Si un VLA u otro identificador con tipo modificado de forma variable tiene una etiqueta case: o default: dentro de su ámbito, toda la sentencia switch debe estar en su ámbito (en otras palabras, un VLA debe declararse antes de todo el switch o después de la última etiqueta):

variable estática

Cada caso de un bloque de switch tiene un nombre/número diferente que se denomina identificador. El valor proporcionado por el usuario se compara con todos los casos dentro del bloque del switch hasta encontrar la coincidencia.
Consideramos el siguiente programa que el usuario escriba su propio identificador, si el identificador es válido le pedirá que introduzca su contraseña, si la contraseña es correcta el programa imprimirá el nombre del usuario, de lo contrario, el programa imprimirá Contraseña Incorrecta y si el identificador no existe, el programa imprimirá Identificador Incorrecto
Hay un problema potencial con la declaración if-else que es la complejidad del programa aumenta cuando el número de ruta alternativa aumenta. Si se utilizan múltiples construcciones if-else en el programa, un programa puede llegar a ser difícil de leer y comprender. A veces puede incluso confundir al desarrollador que ha escrito el programa.

Usamos cookies para asegurar que le damos la mejor experiencia en nuestra web. Si continúa usando este sitio, asumiremos que está de acuerdo con ello. Nuestros socios (incluye a Google) podrán compartir, almacenar y gestionar sus datos para ofrecerle anuncios personalizados    Más información
Privacidad