8.1.3 考点3:IIf函数
IIf函数可以用来执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本,是“Immediate If”的缩略。其格式如下:
result=IIf(条件,True 部分,False 部分)
其中,“result”是函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回“True部分”,否则返回“False部分”。“True部分”或“False部分”可以是表达式、变量或其他函数。该函数与C语言中“?:”运算符的功能相似,可以使程序大为简化。本章节内容来自希赛网IT教育研发中心的计算机等级考试用书 《计算机等级考试考点分析、题解与模拟——二级Visual Basic语言》。
例8.1.3 设a=“a”,b=“b”,c=“c”,d=“d”,执行语句x=IIf((a<b) Or (c>d),“A”,“B”)后,x的值为( )。[2005年4月 选择第15题]
A.“a” B.“b” C.“B” D.“A”
答案:D
警钟长鸣:使用IIf函数时,其中的三个参数都不可以省略,而且要求“True 部分”、“False 部分”及结果变量的类型一致。此外,由于IIf要计算“True部分”和“False部分”,因此有可能会产生副作用。
8.1.4 考点4:多分支控制结构
多分支控制结构由情况语句(Select语句或Case语句)构成,它可以根据一个表达式的值,在一组相互独立的可选语句序列中挑选要执行的语句序列。情况语句是块形式条件语句的一种变形,其格式如下:
Select Case 测试表达式
Case 表达式表列1
[语句块2]]
[Case 表达式表列2
[语句块2]]
……
[Case Else
[语句块n]]
End Select
其功能是,根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。本章节内容来自希赛网IT教育研发中心的计算机等级考试用书《计算机等级考试考点分析、题解与模拟——二级Visual Basic语言》。其中,“测试表达式”可以是数值表达式或字符串表达式,通常称为变量或常量;“语句块1、语句块2……语句块n”由一行或多行合法的Visual Basic语句组成;购书请到希赛网第一书店。“表达式表列1、表达式表列2……表达式表列n”称为域值,可以采用下述三种形式:表达式[,表达式]、表达式To表达式、Is关系运算表达式。
对于这种控制结构,需要掌握以下几点:
Select Case语句与If…Then…Else语句块的功能类似,二者可以互换使用。
和C语言不同,如果同一个域值的范围在多个Case子句中出现,则只执行符合要求的第一个Case子句的语句块。
Case Else子句必须放在所有的Case子句之后,如果Select Case结构中任何一个Case子句都没有与测试表达式相匹配的值,而且也没有Case Else子句,则不执行任何操作。
在不同的Case子句中指定的条件和相应的操作不能相互矛盾。
例8.1.4 在窗体上画1个命令按钮(名称为Command1)和1个文本框(名称为Text1),然后编写如下事件过程:
Private Sub Command1_Click()
x=Val(Text1.Text)
Select Case x
Case1,3
y=x*x
Case Is>=10,Is<=-10
y=x
Case-10 To 10
y=-x
End Select
End Sub
程序运行后,在文本框中输入3,然后单击命令按钮,则以下叙述中正确的是( )。[2006年4月 选择第20题]
A.执行y=x*x B.执行y=-x C.先执行y=x*x,再执行y=-x D.程序出错
答案:A
警钟长鸣:“表达式表列”中的三种形式,在使用时需要注意以下几点:
关键字To用来指定一个范围,此时,必须把较小的值写在前面,较大的值写在后面,字符串常量的范围必须按字母的顺序写出。
如果使用关键字Is,则只能用关系运算符,并且条件只能是简单条件,不能用逻辑运算符将两个或多个简单条件组合在一起。购书请到希赛网第一书店。
在一个Select Case语句中,三种形式可以混用。
本章节内容来自希赛网IT教育研发中心的计算机等级考试用书 《计算机等级考试考点分析、题解与模拟——二级Visual Basic语言》。(购书请见 : http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032473)