Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

switch…caso en C (Sentencia Switch en C) con ejemplos

¿Qué es la instrucción Switch en C?

Declaración de cambio en C prueba el valor de una variable y lo compara con múltiples casos. Una vez que se encuentra la coincidencia de caso, se ejecuta un bloque de declaraciones asociadas con ese caso en particular.

Cada caso en un bloque de un interruptor 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 de cambio hasta que se encuentra la coincidencia.

Si NO se encuentra una coincidencia de mayúsculas y minúsculas, se ejecuta la instrucción predeterminada y el control sale del bloque de interruptores.

En este tutorial, aprenderá-

Sintaxis de mayúsculas y minúsculas

Una sintaxis general de cómo se implementa switch-case en un programa 'C' es la siguiente:

switch( expression )
{
	case value-1:
			Block-1;
			Break;
	case value-2:
			Block-2;
			Break;
	case value-n:
			Block-n;
			Break;
	default:
			Block-1;
			Break;
}
Statement-x;

Diagrama de flujo de declaración de cambio

El siguiente diagrama ilustra cómo se selecciona un caso en el caso del interruptor:

Ejemplo de cambio de caso en C

El siguiente programa ilustra el uso del interruptor:

#include <stdio.h>
    int main() {
        int num = 8;
        switch (num) {
            case 7:
                printf("Value is 7");
                break;
            case 8:
                printf("Value is 8");
                break;
            case 9:
                printf("Value is 9");
                break;
            default:
                printf("Out of range");
                break;
        }
        return 0;
    }

Salida:

Value is 8

  1. En el programa dado hemos explicado inicializó una variable num con valor 8.
  2. Se utiliza una construcción de interruptor para comparar el valor almacenado en la variable num y ejecutar el bloque de instrucciones asociado con el caso coincidente.
  3. En este programa, dado que el valor almacenado en la variable num es ocho, un interruptor ejecutará el caso cuya etiqueta de caso sea 8. Después de ejecutar el caso, el control se saldrá del interruptor y el programa terminará con el resultado exitoso imprimiendo el valor en la pantalla de salida.

Intente cambiar el valor de la variable num y observe el cambio en la salida.

Por ejemplo, consideramos el siguiente programa que por defecto:

#include <stdio.h>
int main() {
int language = 10;
  switch (language) {
  case 1:
    printf("C#\n");
    break;
  case 2:
    printf("C\n");
    break;
  case 3:
    printf("C++\n");
    break;
  default:
    printf("Other programming language\n");}}

Salida:

Other programming language

Cuando trabaja con el caso del interruptor en C, agrupa varios casos con etiquetas únicas. Debe introducir una declaración de ruptura en cada caso para bifurcarse al final de una declaración de cambio.

El caso predeterminado opcional se ejecuta cuando no se realizan otras coincidencias.

Consideramos la siguiente declaración de cambio:

#include <stdio.h>
int main() {
int number=5;
switch (number) {
  case 1:
  case 2:
  case 3:
    printf("One, Two, or Three.\n");
    break;
  case 4:
  case 5:
  case 6:
    printf("Four, Five, or Six.\n");
    break;
  default:
    printf("Greater than Six.\n");}}

Salida:

Four, Five, or Six.

Interruptor anidado en C

En C, podemos tener un interruptor interno incrustado en un interruptor externo. Además, las constantes de mayúsculas y minúsculas del interruptor interno y externo pueden tener valores comunes y sin conflictos.

Consideramos el siguiente programa en el que el usuario debe escribir su propia identificación, si la identificación es válida, le pedirá que ingrese su contraseña, si la contraseña es correcta, el programa imprimirá el nombre del usuario, de lo contrario, el programa imprimirá Incorrecto Contraseña y si la identificación no existe, el programa imprimirá una identificación incorrecta

#include <stdio.h>
int main() {
        int ID = 500;
        int password = 000;
        printf("Plese Enter Your ID:\n ");
        scanf("%d", & ID);
        switch (ID) {
            case 500:
                printf("Enter your password:\n ");
                scanf("%d", & password);
                switch (password) {
                    case 000:
                        printf("Welcome Dear Programmer\n");
                        break;
                    default:
                        printf("incorrect password");
                        break;
                }
                break;
            default:
                printf("incorrect ID");
                break;
        }
}

SALIDA:

Plese Enter Your ID:
 500
Enter your password:
 000
Welcome Dear Programmer

  1. En el programa dado, hemos explicado dos variables inicializadas:ID y contraseña
  2. Se usa una construcción de interruptor externo para comparar el valor ingresado en la ID de variable. Ejecuta el bloque de sentencias asociado con el caso coincidente (cuando ID==500).
  3. Si la declaración de bloque se ejecuta con el caso coincidente, se usa un interruptor interno para comparar los valores ingresados ​​en la contraseña variable y ejecutar las declaraciones vinculadas con el caso coincidente (cuando la contraseña ==000).
  4. De lo contrario, el caso del interruptor activará el caso predeterminado e imprimirá el texto apropiado con respecto al esquema del programa.

¿Por qué necesitamos una carcasa para Switch?

Existe un problema potencial con la declaración if-else, que es que la complejidad del programa aumenta cada vez que aumenta el número de caminos alternativos. Si usa múltiples construcciones if-else en el programa, un programa puede volverse difícil de leer y comprender. A veces, incluso puede confundir al desarrollador que escribió el programa.

La solución a este problema es la sentencia switch.

Reglas para la sentencia switch

  • Una expresión siempre debe ejecutarse en un resultado.
  • Las etiquetas de casos deben ser constantes y únicas.
  • Las etiquetas de los casos deben terminar con dos puntos ( :).
  • Debe estar presente una palabra clave de ruptura en cada caso.
  • Solo puede haber una etiqueta predeterminada.
  • Podemos anidar varias sentencias switch.

Resumen

  • Un interruptor es una construcción de toma de decisiones en 'C.'
  • Un interruptor se usa en un programa en el que se toman decisiones múltiples.
  • Un interruptor debe contener una expresión de prueba ejecutable.
  • Cada caso debe incluir una palabra clave de ruptura.
  • La etiqueta del caso debe ser constante y única.
  • El valor predeterminado es opcional.
  • Se pueden anidar varias sentencias de cambio una dentro de otra.

Lenguaje C

  1. Circuito con un interruptor
  2. Declaración de cambio de C#
  3. C++ do...while bucle con ejemplos
  4. Declaración de caso de cambio de C ++ con EJEMPLO
  5. Punteros de C++ con ejemplos
  6. Sobrecarga de operadores de C++ con ejemplos
  7. Funciones de C++ con ejemplos de programas
  8. Tutorial de colecciones de C# con ejemplos
  9. Declaración Python Print():cómo imprimir con ejemplos
  10. Python String count () con EJEMPLOS
  11. Función Python round() con EJEMPLOS