switch-case结构

if-else结构一般表示两个分支或是嵌套表示少量的分支,但是如果分支很多的话,还是用switch-case结构。基本格式为:

switch(variable)
{
  case Value1:
    //program code
    break;
case Value2:
    //program code
    break;
case Value3:
    //program code
    break;
...
default:
    break; 
}
  • 每个case语句的结尾不要忘了加break,否则将会导致分支重叠,除非有意使多个分支重叠。
  • 最后必须使用default分支,即使程序真的不需要default处理。
  • case后面只能是整型或者字符型的常量或常量表达式。
  • 在case子句中,虽然包含了一个以上的执行语句,但可以不必用花括号括起来,会自动顺序执行本case后面的所有语句,当然加上花括号也可以。

多个case标号可以共用一组执行语句,例如:

#include 
#include 

int main()
{
   char grade;
   scanf("%c", &grade);
   printf("Your score:");
   switch(grade)
   {
   case 'A':
   case 'B':
   case 'C':
    printf(">60\n");
    break;
   case 'D':
    printf("<60\n");
    break;
   default:
    break;
   }
   return 0;
}

当grade的值为'A', 'B' ,'C'时都执行同一组语句,输出”>60“,然后换行。


#include 

int main()
{
   void action1(int, int), action2(int, int);
   char ch;
   int a=15, b = 23;
   ch = getchar();
   switch(ch)
   {
   case 'a':
   case 'A':
    action1(a, b);
    break;
   case 'b':
   case 'B':
    action2(a, b);
    break;
   default:
       putchar('\a');
    break;
   }
   return 0;
}

void action1(int x, int y)
{
    printf("x+y=%d\n", x+y);
}

void action2(int x, int y)
{
    printf("x*y=%d\n", x*y);
}




捕获.JPG

你可能感兴趣的:(switch-case结构)