您现在的位置: 天极网 > 2.3 逻辑运算和判断选取控制

2.3 逻辑运算和判断选取控制

来源:yesky 作者: 责任编辑: 发表时间:2001-01-19 20:50 评论()
${article.keywordHaveUrl}
  2.3.4 switch...endswitch语句

  当程序有多个条件判断时,若使用if语句则可能使嵌套太多,降低了程序的可读性。开关语句switch能很好地解决这个问题,它具有下列形式:

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

  当表达式的值与case中某个值相等时,就执行该case中":"号后面的所有语句。若case中所有的值都不等于表达式的值,则执行default:后面的语句,若default不存在,则跳出switch 结构。

  这里的表达式可以是一个常量、变量、算术表达式、逻辑表达式或一个有返回值的函数,但必须用圆括号"( )"括起来。case后面只能是一个常数或常量名,不能为变量名、有返回值的函数名、字符串表涉及的字符串名以及其他类型的表达式等。

  例如:

  STRING szMsg, svResult;
  NUMBER nvResult;
  program
   GetSystemInfo(VIDEO, nvResult, svResult); // 获得系统显卡类型
   switch (nvResult)
      case IS_UNKNOWN: szMsg = "用户显卡类型未知";
      case IS_EGA : szMsg = "EGA显卡";
      case IS_VGA : szMsg = "VGA显卡";
      case IS_SVGA : szMsg = "Super VGA (800 x 600) 显卡";
      case IS_XVGA : szMsg = "XVGA (1024 x 768) 显卡";
      case IS_UVGA : szMsg = "分辨率大于1024 x 768的显卡";
         default : szMsg = "错误";
   endswitch;
    MessageBox(szMsg, INFORMATION);
  endprogram

  每次只有一个case语句块被执行,执行后,将跳出switch结构,执行endswitch后面的语句,这一点与C语言不同,InstallScrip的case语句后不需要break。
共5页。 9 7 1 2 3 4 5

相关报道

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络