虽然If语句嵌套格式可以实现多分支选择结构程序设计,但在实际应用中如果分支结构较复杂,程序就会过长,很容易出错。Visual Basic提供了多分支选择结构(Select Case),可以避免这个问题的发生。
多分支选择结构的特点是,如果根据单一表达式来执行多种可能的动作,则可以使程序更为简洁。多分支选择结构的语法格式:
说明:
1)<测试条件>为必选参数,可以是任何数值表达式或字符表达式,一般为变量或常量。
2)Case子句的<表达式表>用来测试其中是否有值与<测试条件>相匹配。Case子句的<表达式表>可以是表4-4中列出的形式。
表4-4 Case子句的表达式表
3)[语句块]为可选参数,是一条或多条语句,当<表达式表>中有值与<测试条件>相匹配时被执行。
4)Case Else子句用于指明:当<测试条件>和所有的Case子句中的<表达式表>都不匹配时,则会执行[其他语句块]。在设计程序时,加上这条语句可以处理不可预见的测试条件值。
5)如果相同的检测条件在多个Case子句中出现,那么就执行符合条件的第一个Case子句下的语句块。例如:
如果x的值为1,则输出结果为"1"。(www.xing528.com)
如果x的值为2,则输出结果为"1、2"。
如果x的值为3、4、5,则输出结果为"1 To 5"。
【例4-13】用多分支控制语句实现。输入一个成绩,并判断其等级。
“三步法”分析过程略,完整代码如下。
程序执行时,先判断第一个Case Is<0,如果满足条件,则执行该分支,执行完该分支后,程序就直接转到End Select语句,即使下面的Case子句中也有符合条件的,程序也不会执行。如果该条件不满足,则判断第二个Case Is<60。
只要程序能运行到此处,就说明x肯定是大于或等于0的,所以在Case Is<60中就没有必要再对x是否
大于或等于0进行判断。如果写成Case Is<60 And Is>=0,这样既没有必要,而且语法也是错误的,Case
后面不能出现逻辑运算符。试分析,是否可以对这些Case语句进行顺序调整?例如:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。