Latest web development tutorials

sentencia switch C

analizando C analizando C

Caso de prueba de una sentenciaswitch permite una variable igual al valor múltiple.Cada valor se llama un caso, y la variable se pondrá a prueba cadacaso interruptor para ser revisado.

gramática

C sintaxis de la sentenciade cambio de idioma:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
  
    /* 您可以有任意数量的 case 语句 */
    default : /* 可选的 */
       statement(s);
}

sentenciaswitch debe seguir las siguientes reglas:

  • expresión declaración del interruptordebe ser un tipo entero o enumeración, o un tipo de clase, que clase tiene una única función de conversión para convertirlo en un tipo entero o enumeración.
  • En un interruptor que puede tener cualquier número de declaraciones de casos. Cada caso es seguido de un valor a comparar con dos puntos.
  • caso deconstante-expresión debe tener el mismo tipo de datos y cambiar las variables, y debe ser una constante o literal.
  • Cuando la variable que está siendo probado es igual al caso de la constante de tiempo, seguido de una declaración de caso será ejecutado, hasta que se encuentre una sentenciabreak.
  • Cuando se encuentra una instrucciónbreak, interruptor termina el flujo de control pasa a la siguiente línea después de la sentencia switch.
  • No todos los casos debe incluirdescanso.Si la sentencia case no contiene undescanso, vamos aseguirpara controlar el flujo de la caja posterior, hasta que encuentra una ruptura.
  • Una sentenciaswitch puede tener un caso por defecto opcional,que aparece al final del interruptor. caso por defecto se puede utilizar en todo el caso anterior no es cierto cuando se realiza una tarea. No se requiere laruptura de la declaración de caso por defecto.

diagrama de flujo

sentencia switch C

Ejemplos

#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   char grade = 'B';

   switch(grade)
   {
   case 'A' :
      printf("很棒!\n" );
      break;
   case 'B' :
   case 'C' :
      printf("做得好\n" );
      break;
   case 'D' :
      printf("您通过了\n" );
      break;
   case 'F' :
      printf("最好再试一下\n" );
      break;
   default :
      printf("无效的成绩\n" );
   }
   printf("您的成绩是 %c\n", grade );
 
   return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

做得好
您的成绩是 B

analizando C analizando C