分享

switch语句

 217小月月坑 2015-07-22

switch语句
 格式:
  switch(表达式)
  {
   case常量表达式1:语句1;
   case常量表达式2:语句2;
   ...
   case常量表达式n:语句n;
   default :语句n+1;
  }

 第一:所有case后面的常量表达式为便于描述我们姑且称之为标签,这些标签只能是
  (1)枚举常量
  (2)数值常量
  (3)字符常量
  (4)常变量:只能赋予一个常数的变量,例:const int i;i = 5;将5赋予i之后,i的值只能是5,不能再被赋值,不能再改变
  (5)宏名中的一种

 第二:执行完一个case语句后,流程控制就转移到下一个case语句继续执行。"case"常量表达式只是起语句标号的作用,并不是在该处进行条件判断。在执行switch语句时,根据switch()中表达式的值找到与之匹配的case语句,就从此语句开始执行下去,不再进行判断

  switch(i)
  {
   case 1: 语句1;
   case 2:语句2;
   default :语句3;
   case 3:语句4;

  }

  当i==1时,从case1处开始往下一个不落的执行,当i==2时,从case2处开始往下一个不落的执行,当i==3时,只执行case3一句,当i==4时,从default处开始往下一个不落的执行,当 i 等于1、2、3 之外的数字时,情况与i==4的一样


 第三:switch是选择不是循环,如果在switch中出现了break语句。该语句的功能只是退出switch语句转去执行它下面的语句。在switch中出现continue是错误的,除非switch本身就属于for或while循环的一部分


/* 示例代码 switch语句示例 **
 * 时间 2015-7-22 21:37   **/
# include <stdio.h>

int main()
{

 int val;
 printf("请输入一个楼层:\n");
 scanf("%d", &val);

 switch (val)
 {
 case 1:
  printf("1层开!!\n");
  break;
 case 2:
  printf("2层开!!\n");
  break;
 case 3:
  printf("3层开!!\n");
  break;
 default:
  printf("aaaaa\n");
  break;
 }
 printf("bbbb\n");
 system("pause");
 return 0;
}

/*
 输出结果:
----------------------
 加入break结果:
----------------------
 请输入一个楼层:
 2
 2层开!!
 bbbb
 请按任意键继续. . .
----------------------
 不加入break结果:
----------------------
 请输入一个楼层:
 1
 1层开!!
 2层开!!
 3层开!!
 aaaaa
 4层开!!
 bbbb
 请按任意键继续. . .
----------------------
 请输入一个楼层:
 6
 aaaaa
 4层开!!
 bbbb
 请按任意键继续. . .
----------------------

*/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多