奶爸业余单片机学习之:C语言基础——switch多分支选择语句

============switch 多分支选择语句==========

一般形式为:
switch(表达式)
{
  case 常量表达式1: 语句1;
  case 常量表达式2: 语句2;
  …
  case 常量表达式n: 语句n;
  default: 语句n+1;
}

功能:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

实例:

#include<stdio.h>
int main()
{
  int i = 0;
  while(i<5)
  {
    switch(i)
    {
      case 0: printf("switch执行了1次循环,i = %d\n",i); break;
      case 1: printf("switch执行了2次循环,i = %d\n",i); break;
      case 2: printf("switch执行了3次循环,i = %d\n",i); break;
      case 3: printf("switch执行了4次循环,i = %d\n",i); break;
      case 4: printf("switch执行了5次循环,i = %d\n",i); break;
      case 5: printf("switch执行了6次循环,i = %d\n",i); break;
      case 6: printf("switch执行了7次循环,i = %d\n",i); break;
      case 7: printf("switch执行了8次循环,i = %d\n",i); break;
    }
    i++;
  }
  return 0;
}

在VC++6.0中输出:

switch执行了1次循环
i = 1
switch执行了2次循环
i = 2
switch执行了3次循环
i = 3
switch执行了4次循环
i = 4
switch执行了5次循环
i = 5
Press any key to continue

 

在使用switch语句时还应注意以下几点:

  1. 在case后的各常量表达式的值不能相同,否则会出现错误。
  2. 在case后,允许有多个语句,可以不用{}括起来。
  3. 各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
  4. default子句可以省略不用。
posted @ 2014-08-20 16:07  八零后奶爸  阅读(971)  评论(0编辑  收藏  举报