1、二级 VISUAL+BASIC 笔试-75 及答案解析(总分:74.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.下列哪个是面向对象程序设计不同于其他语言的主要特点?(分数:2.00)A.继承性B.消息传递C.多态性D.静态联编2.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特
2、殊的线性表,只能在一端插入元素,而在另一端删除元素4.在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1 Click()Dim array1 (10,10) As IntegerDim i As Integer,j As IntegerFor i=1 To 3For j=2 To 4array1(i,j)=i+jNext jNext iText1.Text=array1(2,3)+array1(3,4)End Sub程序运行后,单击命令按钮,在文本框中显示的值是(分数:2.00)A.12B.13C
3、.14D.155.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Static x As IntegerClsFor i=1 To 2y=y+xx=x+2NextPrint x, yEnd Sub程序运行后,连续三次单击 Command1 按钮后,窗体上显示的是(分数:2.00)A.4 2B.12 18C.12 30D.4 66.把窗体的 KeyPreview 属性设置为 True,然后编写如下事件过程:Prirate Sub Form_KeyPress(KeyAscii As Integer)Dim ch As
4、 Stringch=Chr(KeyAscii)KeyAscii=Asc(UCase(ch)Print Chr(KeyAscii+2)End Sub程序运行后,按键盘上的 A 键,则在窗体上显示的内容是(分数:2.00)A.AB.BC.CD.D7.函数过程 F1 的功能是:如果参数 b 为奇数,则返回值为 1,否则返回值为 0。以下能正确实现上述功能的代码是(分数:2.00)A.Function F1(b As Integer)If b Mod 2=0 ThenReturn 0ElseReturn 1End IfEnd FunctionB.Function F1(b As Integer)If
5、b Mod 2=0 ThenF1=0ElseF1=1End IfEnd FunctionC.Function F1(b As Integer)If b Mod 2=0 ThenF1=1ElseF1=0End IfEnd FunctionD.Function F1(b As Integer)If b Mod 20 ThenReturn 0ElseReturn 1End IfEnd Function8.以下关于 MsgBox 的叙述中,错误的是(分数:2.00)A.MsgBox 函数返回一个整数B.通过 MsgBox 函数可以设置信息框中的图标和按钮的类型C.MsgBox 语句没有返回值D.Msg
6、Box 函数的第二个参数是一个整数,该参数只能确定对话框中显示的按钮数量9.有如下程序:Option Base 1Private Sub Form Click()Dim arr,SumSum =0arr=Array(1,3,5,7,9,11,13,15,17,19)For i=1 To 10If arr(i)/3=arr(i)/3 ThenSum=Sum+arr(i)End IfNext iPrint SumEnd Sub程序运行后,单击窗体,输出结果为(分数:2.00)A.25B.26C.27D.2810.在窗体上绘制一个文本框和一个计时器控件,名称分别为 Text1 和 Timer1,在属
7、性窗口中把计时器的Interval 属性设置为 1 000,Enadled 属性设置为 False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序:Private Sub Command1 Click()Timerl._End SubPrivate Sub Timer_Timer()Text1.Text=TimeEnd Sub在横线处应填入的内容是(分数:2.00)A.Enabled=TrueB.Enabled=FalseC.Visible=TrueD.Visible=False11.在窗体上画一个名称为 Command1 的命令按钮和一个名称
8、为 Text1 的文本框,然后编写如下程序:Private Sub Command1 Click()Dim x, y, z As Integerx = 5y = 7z = 0Text1.Text = “ “Call P1(x, y, z)Text1.Text=Str(z)End SubSub Pl(ByVal a As Integer, ByVal b As Integer, c As Integer)c = a + bEnd Sub程序运行后,如果单击命令按钮,则在文本框中显示的内容是(分数:2.00)A.0B.12C.Str(z)D.没有显示12.以下叙述中错误的是(分数:2.00)A.在
9、程序运行时,通用对话框控件是不可见的B.在同一个程序中,用不同的方法(如 ShowOpen 或 ShowSave 等)打开的通用对话框具有不同的作用C.调用通用对话框控件的 ShowOpen 方法,可以直接打开在该通用对话框中指定的文件D.调用通用对话框控件的 ShowColor 方法,可以打开颜色对话框13.设有以下循环结构Do循环体Loop While条件则以下叙述中错误的是(分数:2.00)A.若“条件”是一个为 0 的常数,则一次也不执行循环体B.“条件”可以是关系表达式、逻辑表达式或常数C.循环体中可以使用 Exit Do 语句D.如果“条件”总是为 True,则不停地执行循环体14
10、.有如下程序:Private Sub Form Click()Dim i As Integer,sum As Integersum=0For i=2 To 10If i Mod 20 And i Mod 3=0 Thensum=sum+iEnd IfNext iPrint sumEnd Sub程序运行后,单击窗体,输出结果为(分数:2.00)A.12B.30C.24D.1815.设 a=“a“,b=“b“,c=“c“,d=“d“,执行语句 x=IIf(ab)Or(cd),“A“,“B“)后,x 的值为(分数:2.00)A.“a“B.“b“C.“B“D.“A“16.单击命名按钮时,下列程序代码的
11、执行结果为Public Sub procl ( n As Integer, Byval m As Integer)n=n Mod 10m=m Mod 10End SubPrivate Sub Cmmand1 Click()Dim x As Integer, y As Integerx=12:y=12Call Procl (x, y)Print x;yEnd Sub(分数:2.00)A.12 2B.2 12C.2 2D.12 1217.执行以下 Command1 的 Click 事件过程在窗体上显示Option Base 1Private Sub Command1 Click()Dim aa=
12、Array(“a“, “b“, “C“, “d“, “e“, “f“, “g“)Print a(1); a(3); a(5)End Sub(分数:2.00)A.ab;B.bdfC.aceD.出错18.以下关于文件的叙述中,错误的是(分数:2.00)A.顺序文件中的记录一个接一个地顺序存放B.随机文件中记录的长度是随机的C.执行打开文件的命令后,自动生成一个文件指针D.LOF 函数返回给文件分配的字节数19.在窗体上绘制一个命令按钮和一个文本框,名称分别为 Command1 和 Text1,然后编写如下程序:Private Sub Command1+Click()a=InputBox(“请输入日
13、期(131)”)t=“旅游景点:”&If(a 0 And a = 10, “长城”,“ “)&IIf(a 10 And a = 20, “故宫”,“ “)&IIf(a20 And a=31, “颐和园”,“ “)Text1.Text=tEnd Sub程序运行后,如果从键盘上输入 16,则在文本框中显示的内容是(分数:2.00)A.旅游景点:长城故宫B.旅游景点:长城颐和园C.旅游景点:颐和园D.旅游景点:故宫20.执行以下语句后,输出的结果是a$= “Good“b$=“Afternoom“Print a$+b$Print a$&b$(分数:2.00)A.GoodAfternoonGoodAft
14、ernoonB.Good+GoodAfternoonC.Good+Good&AfternoonD.GoodGood&21.以下关于多重窗体程序的叙述中,错误的是(分数:2.00)A.用 Hide 方法不但可以隐藏窗体,而且能清除内存中的窗体B.在多重窗体程序中,各窗体的菜单是彼此独立的C.在多重窗体程序中,可以根据需要指定启动窗体D.对于多重窗体程序,需要单独保存每个窗体22.阅读程序:Option Base 1Dim arr() As IntegerPrivate Sub Form Click()Dim i As Integer,i As IntegerReDim arr(3,2)For i
15、=1 To 3For j=1 To 2arr(i,j)=i*2+jNext jNext iReDim arr(3,2)+arr(3,4)End Sub程序运行后,单击窗体,输出结果为(分数:2.00)A.21B.13C.8D.2523.设 a=2,b=3,c=4,d=5,下列表达式的值是Not a=C Or 4*c=b2 And ba+c(分数:2.00)A.-1B.1C.TrueD.False24.设 a=3,b=5,则以下表达式值为真的是(分数:2.00)A.a=b And b10B.(ab)Or(b0)C.(a0)Eqv(b0)D.(-3+5a)And(b0)25.下面程序段的输出结果为
16、_。Print “10+20=“,Print 10+20Print “20+20=“;Print 20+20(分数:2.00)A.10+20=3020+20=40B.10+20=3020+20=40C.10+2020+20D.10+20=3020+20=4026.如果要在菜单中添加一个分隔线,则应将其 Caption 属性设置为(分数:2.00)A.=B.*C.&D.-27.有如下程序:Private Sub Form Click()Dim Check,CounterCheck=TrueCounter=0DoDo While Counter20Counter=Counter+1If Count
17、er=10 ThenCheck=FalseExit DoEnd IfLoopLoop Until Check=FalsePrint Counter,CheckEnd Sub程序运行后,单击窗体,输出结果为(分数:2.00)A.15 0B.20 -1C.10 TreeD.10 False28.以下叙述中正确的是(分数:2.00)A.窗体的 Name 属性指定窗体的名称,用来标识一个窗体B.窗体的 Name 属性的值是显示在窗体标题栏中的文本C.可以在运行期间改变对象的 Name 属性的值D.对象的 Name 属性值可以为空29.一个工程中含有窗体 Form1、Form2 和标准模块 Model1
18、,如果在 Form1 中有语句 Public X As Integer,在 Model1 中有语句 Public Y As Integer,则以下叙述中正确的是(分数:2.00)A.变量 X、Y 的作用域相同B.Y 的作用域是 Model1C.在 Form1 中可以直接使用 XD.在 Form2 中可以直接使用 X 和 Y30.设有如下变量声明:Dim TestDate As Date为变量 TestDate 正确赋值的表达方式是(分数:2.00)A.TestDate=#1/1/2002#B.TestDate=#“1/1/2002“#C.TestDate=date(“1/1/2002“)D.T
19、estDate=Format(“m/d/yy“,“1/1/2002“)二、填空题(总题数:7,分数:14.00)31.算法的复杂度主要包括 1 复杂度和空间复杂度。(分数:2.00)填空项 1:_32.在数据结构中,用一组地址连续的存储单元一次存储数据元素的方式是 1 结构。(分数:2.00)填空项 1:_33.在窗体上画一个名称为 Command1、标题为“计算”的命令按钮;画两个文本框,名称分别为 Text1 和Text2;然后画 4 个标签,名称分别为 Label1、Label2、Label3 和 Label4,标题分别为“操作数 1”、“操作数 2”、“运算结果”和空白;再建立一个含有
20、 4 个单选按钮的控件数组,名称为 Optionl,标题分别为“+”、“-”、“*”和“/”。程序运行后,在 Text1、Text2 中输入两个数值,选中一个单选按钮后单击命令按钮,相应的计算结果显示在 Label4 中,程序运行情况如图所示。请在_处填入适当的内容,将程序补充完整。(分数:2.00)填空项 1:_34.下面的程序用于根据文本框 Text 中输入的内容进行以下处理:若 Text 为 4,6,则打印“Text 的值为 4,6”;若 Text 为 1,3,5,7,则打印“Text 的值为1,3,5,7”;若 Text 为 8,9,则打印“Text 的值为 8,9”;否则打印“Tex
21、t 的值不在范围内”。请填空。Private Sub Command1_Click()Select Case Val(Text.Text)Case_Print “Text 的值为 4,6“Case_Print “Text 的值为 1,3,5,7“,Case_Print “Text 的值为 8,9“Case_Print “Text 的值不在范围内“End SelectEnd Sub(分数:2.00)填空项 1:_35.建立随机文件 TESTDAT,存放学生的姓名和总分,然后把该文件中的数据读出来显示。请在空白处填适当的内容,将程序补充完整。Type RecordStudent As String
22、 *20Score As SingleEnd TypeDim Class As RecordOpen “Textdat“ For _ As #1 Len=Len (Class)Class.Student= “LiuMin“: Class.Score=596Put #1,1,ClassClose #1Open “Text.dat“ For Random As #1 Len=Len(Class)_ Print “STUDENT:“, Class, StudnetPrint “SCORE:“,ClassScoreClose #1End(分数:2.00)填空项 1:_36.设有程序:Option Ba
23、se 1Private Sub Command1 Click()Dim arrl,Max as Integerarrl=Array(12,435,76,24,78,54,866,43)_ =arrl(1)For i=1 To 8If arrl(i)Max Then_Next iPrint“最大值是:”;MaxEnd Sub以上程序的功能是:用 Atray 函数建立一个含有 8 个元素的数组,然后查找并输出该数组中元素的最大值。请填空。(分数:2.00)填空项 1:_37.在名称为 Form1 的窗体上绘制一个文本框,其名称为 Text1,在属性窗口中把该文本框的 MultiLine属性设置为
24、True,然后编写如下的事件过程:Private Sub Form Click()Open “d:/test/smtext1.txt“ For Input As #1Do While NotLine Input #1,aspectswhole$=whole$+aspect$+Chr$(13)+Chr$(10)LoopText1.Text=whole$Close #1Open “d:/test/smtext2.txt“ For Output As #1Print #1, _Close #1End Sub上述程序的功能是,把磁盘文件 smtext1.txt 的内容读到内存并在文本框中显示出来,然后
25、把该文本框中的内容存入磁盘文件 smtext2.txt。请填空。(分数:2.00)填空项 1:_二级 VISUAL+BASIC 笔试-75 答案解析(总分:74.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.下列哪个是面向对象程序设计不同于其他语言的主要特点?(分数:2.00)A.继承性 B.消息传递C.多态性D.静态联编解析:解析 继承是一个子类直接使用父类的所有属性和方法。它可以减少相似的类的重复说明,从而体现出一般性与特殊性的原则,这使得面向对象程序设计语言有了良好的重用性,也是其不同于其他语言的主要特点。故答案为 A。2.下列叙述中正确的是(分数:2.00
26、)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 软件测试仍然是保证软件可靠性的主要手段,测试的目的是要尽量发现程序中的错误,调试主要是推断错误的原因,从而进一步改正错误。测试和调试是软件测试阶段的两个密切相关的过程,通常是交替进行的。选项 C 正确。3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:解析 栈是一种特殊的线
27、性表,其插入与删除运算都只在线性表的一端进行。由此可见,选项A、选项 B 和选项 D 错误,正确答案是选项 C。4.在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1 Click()Dim array1 (10,10) As IntegerDim i As Integer,j As IntegerFor i=1 To 3For j=2 To 4array1(i,j)=i+jNext jNext iText1.Text=array1(2,3)+array1(3,4)End Sub程序运行后,单击命令
28、按钮,在文本框中显示的值是(分数:2.00)A.12 B.13C.14D.15解析:解析 本题考查数组运算。程序使用二重循环给一个二维数组赋值,然后将数组中的两个元素求和并在文本框中显示出来。题目很简单,一般都能正确回答,选项 A 正确。5.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Static x As IntegerClsFor i=1 To 2y=y+xx=x+2NextPrint x, yEnd Sub程序运行后,连续三次单击 Command1 按钮后,窗体上显示的是(分数:2.00)A.4 2B.
29、12 18 C.12 30D.4 6解析:解析 本题考查考生对 Static 定义方式的理解。由于 x 用 Static 关键自定义,故变量 x 为静态变量,具备数值存储的功能。每单击一次按钮,将执行 For i 循环,每一次执行 For i 循环, x 值每次加 2,故在最后一次执行 For i 循环时,“y=y+x”中的 x 值本别为 8、10,故最终窗体上显示 x 值为12,y 值为 18。6.把窗体的 KeyPreview 属性设置为 True,然后编写如下事件过程:Prirate Sub Form_KeyPress(KeyAscii As Integer)Dim ch As Stri
30、ngch=Chr(KeyAscii)KeyAscii=Asc(UCase(ch)Print Chr(KeyAscii+2)End Sub程序运行后,按键盘上的 A 键,则在窗体上显示的内容是(分数:2.00)A.AB.BC.C D.D解析:解析 本题考查常用函数和窗体的 KeyKeyPress 事件。注意,一个窗体仅在它没有可视和有效的控件或 KeyPreview 属性被设置为 True 时才能接收事件。题目程序的功能是先将从键盘读入的 Ascii 码转换为字符,使用 Chr 函数完成; UCase 函数返回大写字母组成的字符串;Asc 函数将字符串转换为Ascii 码值,然后在此基础上加 2
31、,并利用 Chr 函数转换为字符串,再输出,故本题正确答案为选项 C。7.函数过程 F1 的功能是:如果参数 b 为奇数,则返回值为 1,否则返回值为 0。以下能正确实现上述功能的代码是(分数:2.00)A.Function F1(b As Integer)If b Mod 2=0 ThenReturn 0ElseReturn 1End IfEnd FunctionB.Function F1(b As Integer)If b Mod 2=0 ThenF1=0ElseF1=1End IfEnd Function C.Function F1(b As Integer)If b Mod 2=0 T
32、henF1=1ElseF1=0End IfEnd FunctionD.Function F1(b As Integer)If b Mod 20 ThenReturn 0ElseReturn 1End IfEnd Function解析:解析 本题考查函数过程的作用域。在 VB 中,除了“GoSub-Return”语句以外 (大纲不要求),其他地方都不会使用 Return 关键宇,所以选项 A、选项 D 是错误的。选项 C 程序段的功能是,当参数 b为偶数,则返回值为 1,否则返回值为 0,不符合题意。只有选项 B 的程序段满足题目要求。8.以下关于 MsgBox 的叙述中,错误的是(分数:2.0
33、0)A.MsgBox 函数返回一个整数B.通过 MsgBox 函数可以设置信息框中的图标和按钮的类型C.MsgBox 语句没有返回值D.MsgBox 函数的第二个参数是一个整数,该参数只能确定对话框中显示的按钮数量 解析:解析 本题考查 MsgBox 函数与 MsgBox 语句。MsgBox 函数的返回值是一个整数,它与所选择的按钮有关。A 项表述正确MsgBox 函数的第二个参数 Type 是一个整数值或符号常量,用来控制在对话框内显示的按钮,图标的种类及数量。故 B 项表述正确,D 项表述错误。MsgBox 语句与 MsgBox 函数不同之处在于 MsgBox 语句设有返回值。9.有如下程
34、序:Option Base 1Private Sub Form Click()Dim arr,SumSum =0arr=Array(1,3,5,7,9,11,13,15,17,19)For i=1 To 10If arr(i)/3=arr(i)/3 ThenSum=Sum+arr(i)End IfNext iPrint SumEnd Sub程序运行后,单击窗体,输出结果为(分数:2.00)A.25B.26C.27 D.28解析:解析 本题考查“/”与“/”的区别。“/”是浮点除法运算符,而“/”是整数除法运算符。比如:6/4=1.5,而 6/4=1。这两个运算符的差别是考试重点,容易混淆,务必
35、掌握。题目程序的功能实际上是对数组中能被 3 整除的元素求和,即 3+9+15。27,故选项 C 正确。10.在窗体上绘制一个文本框和一个计时器控件,名称分别为 Text1 和 Timer1,在属性窗口中把计时器的Interval 属性设置为 1 000,Enadled 属性设置为 False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序:Private Sub Command1 Click()Timerl._End SubPrivate Sub Timer_Timer()Text1.Text=TimeEnd Sub在横线处应填入的内容是(分
36、数:2.00)A.Enabled=True B.Enabled=FalseC.Visible=TrueD.Visible=False解析:解析 本题考查 Timer 控件的用法。计时器的常用属性有 Interval 属性和 Enable 属性。Interval 属性是用来设定计时器触发 Timer 事件的时间间隔;Enable 属性是用来设置控件对象是否对事件产生响应。只有 Timer 控件的 Enabled 属性被设置为 True,而且 Interval 属性大于 0,Timer 事件以Interval 属性指定的时间间隔发生。题目要求每隔一秒钟在文本框中显示一次当前的时间,所以选项 A满足
37、条件,为正确答案。11.在窗体上画一个名称为 Command1 的命令按钮和一个名称为 Text1 的文本框,然后编写如下程序:Private Sub Command1 Click()Dim x, y, z As Integerx = 5y = 7z = 0Text1.Text = “ “Call P1(x, y, z)Text1.Text=Str(z)End SubSub Pl(ByVal a As Integer, ByVal b As Integer, c As Integer)c = a + bEnd Sub程序运行后,如果单击命令按钮,则在文本框中显示的内容是(分数:2.00)A.0
38、B.12 C.Str(z)D.没有显示解析:解析 本题主要考查传值与传地址的区别。在 Visual Basic 中,参数通过两种方式传送。传地址通过关键字 ByRef 实现,可以通过改变过程中相应的参数来改变变量的值;而在传值方式下,Visual Basic 为形参分配内存空间,并将相应的实参拷贝给各形参。本题中形参 c 默认以传地址的方式传送参数。在事件过程中调用时,变量 2 经过运算后,不再保留原来的值,而变为 12,故本题正确答案为 B,而不是A。12.以下叙述中错误的是(分数:2.00)A.在程序运行时,通用对话框控件是不可见的B.在同一个程序中,用不同的方法(如 ShowOpen 或
39、 ShowSave 等)打开的通用对话框具有不同的作用C.调用通用对话框控件的 ShowOpen 方法,可以直接打开在该通用对话框中指定的文件 D.调用通用对话框控件的 ShowColor 方法,可以打开颜色对话框解析:解析 本题考查通用对话框控件。通用对话框 Common Dialog 主要有OpenSave、Color、Font、Printer、Help 等几类,分别表示打开、保存、颜色、字体、打印、帮助对话框。调用通用对话框控件的 ShowOpen 方法,不可以直接打开在该通用对话框中指定的文件,C 项表述不准确。程序运行时,通用对话框是不可见的,可以通过相关的方法打开具体类型的对话框。
40、13.设有以下循环结构Do循环体Loop While条件则以下叙述中错误的是(分数:2.00)A.若“条件”是一个为 0 的常数,则一次也不执行循环体 B.“条件”可以是关系表达式、逻辑表达式或常数C.循环体中可以使用 Exit Do 语句D.如果“条件”总是为 True,则不停地执行循环体解析:解析 本题考查 Do 循环控制语句。当指定的“循环条件”为 True,或直到指定的“循环条件”变为 True 之前重复执行循环体。本题的关键是“条件”是 True 还是 False。若“条件”是一个为 0 的常数,则表示 False,但 Do 循环仍然可以执行一次循环体,直到遇到这一条件时,系统才会作
41、出判断退出该循环。故 A 项是不正确的。循环体中可以使用 Exit Do 语句,也可以不使用。C 项表述正确。“条件”可以是关系表达式、逻辑表达式,也可以是常数,B 项表述正确。14.有如下程序:Private Sub Form Click()Dim i As Integer,sum As Integersum=0For i=2 To 10If i Mod 20 And i Mod 3=0 Thensum=sum+iEnd IfNext iPrint sumEnd Sub程序运行后,单击窗体,输出结果为(分数:2.00)A.12 B.30C.24D.18解析:解析 本题考查 For 循环以及表
42、达式运算。考生需要掌握 Mod 函数的用法“Mod”表示取模。题目程序的功能是将 2 到 10 之间的不能被 2 整除,但能被 3 整除的数求和。如果掌握了这个就很容易计算,结果为 3+9=12,选项 A 正确。15.设 a=“a“,b=“b“,c=“c“,d=“d“,执行语句 x=IIf(ab)Or(cd),“A“,“B“)后,x 的值为(分数:2.00)A.“a“B.“b“C.“B“D.“A“ 解析:解析 本题考查 IIf 的用法。 IIf 函数是“IfThenElse”结构的简写形式,IIf 是“Immediate If”的缩略。它的一般格式为: Result=IIf(条件,True 部
43、分,False 部分),用来执行简单的条件判断操作。“Result”是函数的返回值,“条件”是逻辑表达式,当“条件”为 True 时,IIf 函数返回“True 部分”,而当“条件”为 False 时返回“False 部分”。“True 部分”和“False 部分”可以是表达式、变量或函数。IIf 函数中的 3 个参数都不能省略,而且要求“True 部分”、“False 部分”及结果变量的类型一致。题目中(ab)Or(cd)的结果是 True,所以 x 的值为“A”,选项 D 正确。16.单击命名按钮时,下列程序代码的执行结果为Public Sub procl ( n As Integer,
44、Byval m As Integer)n=n Mod 10m=m Mod 10End SubPrivate Sub Cmmand1 Click()Dim x As Integer, y As Integerx=12:y=12Call Procl (x, y)Print x;yEnd Sub(分数:2.00)A.12 2B.2 12 C.2 2D.12 12解析:解析 本题为典型的考查传地址与传值区别的题由于 n 为默认的传地址参数, m 为传值参数,故在调用 Procl 过程后,x 值为经过处理后的值,y 为原值,不发生改变。故正确答案为 B17.执行以下 Command1 的 Click 事
45、件过程在窗体上显示Option Base 1Private Sub Command1 Click()Dim aa= Array(“a“, “b“, “C“, “d“, “e“, “f“, “g“)Print a(1); a(3); a(5)End Sub(分数:2.00)A.ab;B.bdfC.ace D.出错解析:解析 本题主要考查考生对 Option Base 语局的理解。当为 a 赋值时,其下标下界主要看OptionBase 对它的定义。本题中下标下界为 1,故 a(1)、a(3)、a(5)分别对应 a、c、e,故答案为 C。18.以下关于文件的叙述中,错误的是(分数:2.00)A.顺序
46、文件中的记录一个接一个地顺序存放B.随机文件中记录的长度是随机的 C.执行打开文件的命令后,自动生成一个文件指针D.LOF 函数返回给文件分配的字节数解析:解析 本题考查文件的操作语句和函数。顺序文件,顾名思义,它的记录一个接一个地顺序有效。A 表述正确。随机文件中记录的长度是不是随机的,而是固定的,这样将方便文件的读写操作,B 项表述错误。文件被打开后,自动生成一个文件指针,它是隐含的,文件的读写就是从这个指针所指的位置开始,C 项表述正确,D 项的 LOF 函数返回给文件分配的字节数。19.在窗体上绘制一个命令按钮和一个文本框,名称分别为 Command1 和 Text1,然后编写如下程序
47、:Private Sub Command1+Click()a=InputBox(“请输入日期(131)”)t=“旅游景点:”&If(a 0 And a = 10, “长城”,“ “)&IIf(a 10 And a = 20, “故宫”,“ “)&IIf(a20 And a=31, “颐和园”,“ “)Text1.Text=tEnd Sub程序运行后,如果从键盘上输入 16,则在文本框中显示的内容是(分数:2.00)A.旅游景点:长城故宫B.旅游景点:长城颐和园C.旅游景点:颐和园D.旅游景点:故宫 解析:解析 本题考查 IIf 函数和连接符&的用法。IIf 函数是考试重点,也是非常常用的一个函
48、数,应该熟练掌握。题目非常简单,考生不需要分析都可以正确回答,因为 1610 而且 1620,所以文本框中显示的内容是:旅游景点:故宫,选项 D 正确。20.执行以下语句后,输出的结果是a$= “Good“b$=“Afternoom“Print a$+b$Print a$&b$(分数:2.00)A.GoodAfternoonGoodAfternoon B.Good+GoodAfternoonC.Good+Good&AfternoonD.GoodGood&解析:解析 本题主要考查字符串的连接问题。字符串的运算符有“&”,表示将两个字符串连接在一起,“+”也可以起到相同的作用,但为了使程序严谨并提高可读性,一般不使用“+”。本题选 A。21.以下关于多重窗体程序的叙述中,错误的是(分数:2.00)A.用 Hide 方法不但可以隐藏窗体,而且能清除内存中的窗体 B.在多重窗体程序中,各窗体的菜单是彼此独立的C.在多重窗体程序中,可以根据需要指定启动窗体D.对于多重窗体程序,需要单独保存每个窗体解析:解析 本题考查多重窗体的基本知识。Hide 方法只能隐藏某一窗体,但不能将其从内存中清除出去。只有执行 UnLoad 方法,才可以清除内存中的窗体。故 A 项表述错误。22.阅读程序:Option Base 1Dim arr() As IntegerPrivate Su