1、二级 VISUAL+BASIC-84 及答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:35,分数:66.00)1.在文本框中,要使键入的所有字符都显示“*”号,这时应该设置 _属性为“*”号。(分数:1.00)A.TextB.MultiLineC.ScrollBarsD.PasswordChar2.软件设计中模块划分应遵循的准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合3.设有如下通用过程: Public Function f(x As Integer) Dim y As Integer x=20:y=2:f=x*y End
2、 Function 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() Static x As Integer x=10:y=5:y=f(x)Print x; y End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是(分数:2.00)A.10 5B.20 40C.20 5D.10 404.下面不是键盘事件的是_。(分数:1.00)A.KeyDownB.KeyUpC.KeyPressD.KeyCode5.软件测试的目的是_。(分数:1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中
3、的错误D.发现程序中的错误6.在 PasswordChar 属性中设置#,但运行时仍显示文本内容,原因是(分数:1.00)A.文本框的 Locked 属性设置为 FalseB.文本框的 Locked 属性设置为 TreeC.文本框的 Multiline 的属性设置为 FasleD.文本框的 Multiline 的属性设置为 True7.程序段如下: Private Sub Command1_Click() a=0 for I=15 To 15 Step-2 a=a+I Next I Print a,I End Sub 发生 Command1 的单击事件后,程序的输出结果是_。(分数:2.50)
4、A.0 13B.15 13C.0 15D.15 158.下列程序执行的结果为 x=25:y=20: z=7 Print“S(“;x+2*y;“)“(分数:1.00)A.S(47)B.S(165)C.S(25+7*20)D.S(87)9.软件设计中,有利于提高模块独立性的一个准则是(分数:1.00)A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合10.在窗体上画两个文本框(名称分别为 Text1 和 Text2)和一个命令按钮(名称为 Command1),然后编写下列事件过程: Private Sub Command1_Click() x=0 DO While x50 x=(x+
5、2)*(x+3) n=n+1 Loop Text1.Text=Str(n) Text2.Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框中显示的值分别为_。(分数:2.50)A.1 和 0B.2 和 72C.3 和 50D.4 和 16811.为计算 1+2+22+23+24+210 的值,并把结果显示在文本框 Text1 中,若编写如下事件过程:Private Sub Command1 Click() Dim a Next k Print Next j 运行程序后,输出的结果是_。(分数:1.50)A.25 36B.58 69C.47 58D.59 6813.若
6、要把窗体上命令按钮 Command1 的状态设置为不可用,应该执行的命令是_。(分数:1.00)A.Command1.Enabled=FalseB.Command1.Visible=FalseC.Command1.Cancel=FalseD.Command1.Default=False14.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Diml,Num Randomize Do For I=1 To 1000 Num=lnt(Rnd*100) Print Num; Select Case Num Case 12 Exit For Ca
7、se 58 Exit Do Case 65,68,92 End End Select Next1 Loop End Sub 上述事件过程执行后,下列描述中正确的是_。(分数:2.00)A.Do 循环执行的次数为 1000 次B.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 12 时结束所有循环D.当所产生的随机数为 65、68 或 92 时窗体关闭、程序结束15.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书16.在窗体上画一个名为 Command1 的命令按钮,然后编写以下
8、程序: Private Sub Command1 Click() Dim a(10) As Integer For k=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k) End Sub 运行程序,单击命令按钮,输出结果是_。(分数:2.50)A.18B.12C.8D.617.设整型数组 a 有 10 个元素,其中前 9 个元素中数已按小到大顺序排列,下面程序段的作用是_。 x = InputBox(“请输入一个整数“) k = 8 Do If x = a(k) Then a(k+1) = x Exit Do Else a(k + 1)
9、 = a(k) If k = 0 Then a(k) = x k = k - 1 End If Loop Until k 0(分数:2.50)A.把 x 中的数插入数组 a,使数组中的数仍然保持从小到大的顺序B.在数组 a 中找到小于或等于 x 的数,把 x 中的数放到这个数的后面C.把 x 中的数放到下标为 0 的数组元素中D.把数组 a 中的数依次后移,然后把 x 中的数放到数组的最前面18.阅读程序: Private Sub Form Click _ Dim num As Integer, digit As Integer num=InputBox(“输入数据“) Do While nu
10、m0 digit=num Mod 10 num=num/10 Print digit; Loop End Sub 程序运行后,如果从键盘上输入 12345,则输出结果为_。(分数:2.00)A.1 3 7 5 9B.5 4 3 2 1C.2 4 6 8 10D.1 2 3 4 519.运行下面程序后,正确的输出结果是_。 Private Sub Command1_Click() x=6 if x6 then Print “x6“; Else if x8 then Print “x8“; Else if x=6 then Print: “x=6“; End if End if End if En
11、d Sub (分数:2.50)A.B.C.D.20.软件测试的目的是_。(分数:2.50)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误21.函数过程 n 的功能是:如果参数 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 I
12、fEnd FunctionC.Function F1(b As Integer)If b Mod 2=0 ThenF1=1ElseF1=0End IfEnd FunctionD.Functionn(b As Integer)If b Mod 2 0ThenReturn 0ElseReturn 1End IfEnd Function22.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a(5)As String For i=1 To 5 a(i):Chr(Asc(“A“)+(i-1) Next i For Each b In a
13、Print b; Next End Sub 程序运行后,单击命令按钮,输出结果是 _ 。(分数:2.00)A.ABCDEB.1 2 3 4 5C.abcdeD.出错信息23.下列程序的执行结果为_。 Private Sub Command1_Click() a=100 b=50 if ab then a=a+b Else b=b-a Print a,b End Sub(分数:2.50)A.50 50B.150 50C.200 200D.10 1024.在列表框中当前被选中的列表项的序号是由下列哪个属性表示_。(分数:2.00)A.ListB.IndexC.ListindexD.Tabindex
14、25.用链表表示线性表的优点是 _。 A) 便于插入和删除操作 B) 数据元素的物理顺序与逻辑顺序相同 C) 花费的存储空间较顺序存储少 D) 便于随机存取 (分数:1.00)A.B.C.D.26.在 Visual Basic 中,表达式 3*2/5 Mod3 的值是_(分数:3.00)A.1B.0C.3D.出现错误提示27.设有语句 Open “c:/Test. Dat“ For Output As#1 则以下错误的叙述是_。(分数:2.00)A.该语句打开 C 盘根目录下一个已经存在的文件 Test.DatB.该语句在 C 盘根目录下建立一个名为 Test.Dat 的文件C.该语句建立的文
15、件的文件号为 1D.执行该语句后,就可以通过 Print#句向文件 Test.Dat 中写入信息28.当文本框中的内容发生改变时所触发的事件是_。(分数:2.00)A.KeyUpB.ChangeC.LostFocusD.GotFocus29.以下说法错误的是 _。(分数:1.00)A.函数过程没有返回值B.子过程没有返回值C.函数过程可以带参数D.子过程可以带参数30.下面程序运行后,输出结果是_。 Private Sub mysub(b()As Integer,Optional ByVal n As Integer=2) For I=1 to 4 b(I)=n*I Next I End Su
16、b Private Sub Command1_Click() Dim a(1 to 4)As Integer,I As Integer Call mysub(a(),5) Mysub a() ForI=1 to 4 Print a(i); Next End Sub A 1 5 10 15 20 B2 4 6 8 C出错 D0 0 0 0 (分数:2.50)A.B.C.D.31.设 x 是整型变量,与函数 IIf(x0,-x,x)有相同结果的代数式是_。(分数:2.50)A.|x|B.-|x|CxD.-x32.决定控件上文字的字体、字形、大小、效果的属性是 _。(分数:1.00)A.TextB.
17、CaptionC.NameD.Font33.改变驱动器列表框的 Drive 属性值将激活_事件。(分数:2.00)A.ChangeB.ScrollC.KeyDownD.KeyUp34.下列叙述中正确的是_。(分数:1.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构35.随机文件用于读数据的语句是_。(分数:2.50)A.GetB.WritC.PrintD.Input二、填空题(总题数:14,分数:28.00)以下程序用来产生 20 个 100 以内的随机整数,并将其中的偶数在窗体上显示,请填空。 Randomiz
18、e Fori=1 To 20 x= 1 If = 2Then PrintX End If Nexti(分数:4.00)填空项 1:_填空项 1:_37.以下程序的功能是:把当前目录下的顺序文件 smtext1.txt 的内容读入内存,并在图片框 Picture1 中显示出来。请填空。 Private Sub Command1_Click 1 Dim inData As String Open “./mText1.txt“ _ 2_ As 1 Do While Not EOF(1) Input #i,inData Picture1.Print inData Loop Close#1 End Su
19、b (分数:2.00)38.运行下列程序: Dim t As Integer Private Sub Form_C1ick 1 t=2 x=Val(InputBox(“输入一个整数 5“) Print funl(x);t End Sub Private Function funl(v) If y0 Then fun1=1:t=10 Else If y=0 Then fun1=0:t=20 Else fun1=-1:t=30 End If End Function 从键盘为变量 x 输入数据 5,输出的结果是 2。 (分数:2.00)39.Visual Basic 中允许出现的数为 1。 25.
20、74 347E-10 .368 1.87E+50 10(1.256) D32 2.5E 12E3 34.75D+6 0.258 (分数:2.00)40.文件的打开和关闭语句分别是 _ 1_ 和 _ 2_ 。 (分数:2.00)41.逻辑常量值为 True 或 1。 (分数:2.00)42.数据模型是数据库系统中用于提供信息表示和操作手段的结构形式。实际数据库系统中斯支持的数据模型主要有层次模型、网状模型和 _ 1_ 3 种。 (分数:1.00)43.人员基本信启、一般包括身份证号、姓名、性别、年龄等。其中可以作为主关键字的是 1。 (分数:2.00)44.对如图 4 所示的二叉树进行中序遍历的
21、结果是 1。 (分数:2.00)45.若要添加 CommonDialog 控件,则应从“工程”菜单中选定“部件”,在“部件”对话框的“控件”选项卡中选择 1,将控件添加到工具箱中。 (分数:2.00)46.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。 (分数:2.00)47.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表示传递的是数据。 (分数:2.00)48.软件开发过程主要分为需求分析、设计、编码与测试 4 个阶段,其中 1 阶段
22、产生“软件需求规格说明书”。 (分数:2.00)49.我国古代数学家张丘建在其著名的算经中提出了百鸡问题:每只公鸡 5 元,每只母鸡 3 元,三只雏鸡 1 元;如何用 100 元买 100 只鸡,即公鸡、母鸡、雏鸡各多少只。请在空白处填入适当的内容,将程序补充完整。 Private Sub Commandl_Click() Dim Cock As Integer Dim Hen As Integer Dim Chick As Integer FormlPrint“公鸡数”,“母鸡数”,“雏鸡数” For Cock;0 To 20 For Hen=0 To 33 For Chick=0 To 1
23、00 If 1Then Form1Print Cock,Hen,Chick End If Next Chick Next Hen Next Cock End Sub (分数:1.00)二级 VISUAL+BASIC-84 答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:35,分数:66.00)1.在文本框中,要使键入的所有字符都显示“*”号,这时应该设置 _属性为“*”号。(分数:1.00)A.TextB.MultiLineC.ScrollBarsD.PasswordChar 解析:解析 PasswordChar 属性:返回或设置一个值,该值指示所键入的字符或占位符在 T
24、extBox 控件中是否要显示出来;返回或设置用作占位符。 为了在对话框中创建一个密码域应使用此属性。虽然能够使用任何字符,但是大多数基于 Windows 的应用程序使用星号(*)。 注意:如果 MultiLine 属性被设为 True,那么设置 PasswordChar 属性将不起效果。2.软件设计中模块划分应遵循的准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 软件设计中,模块划分应遵循的准则是高内聚低耦合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的准则,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统
25、可靠性高,易于理解和维护。模块之间的耦合应尽可能地低,模块的内聚应尽可能地高,因此本题答案为 B。3.设有如下通用过程: Public Function f(x As Integer) Dim y As Integer x=20:y=2:f=x*y End Function 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() Static x As Integer x=10:y=5:y=f(x)Print x; y End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是(分数:2.00)A.10 5
26、B.20 40 C.20 5D.10 40解析:解析 本题中函数 f 中的形参 x 和按钮的单击事件中的静态变量 x 是不同的变量,相互之间互不影响。函数 f 的参数 x 使用的是地址传递的形式,即形参的变化会影响到实参;在命令按钮的单击事件中调用函数 f,会使得参数 x 的值变成 20,函数返回值为 40。4.下面不是键盘事件的是_。(分数:1.00)A.KeyDownB.KeyUpC.KeyPressD.KeyCode 解析:解析 KeyCode 是 KeyDown、KeyUp 键盘事件的参数,不是键盘事件,它返回的是按键相应的ASCII 字符代码。故选项 D 错误。5.软件测试的目的是_
27、。(分数:1.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误 解析:解析 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。6.在 PasswordChar 属性中设置#,但运行时仍显示文本内容,原因是(分数:1.00)A.文本框的 Locked 属性设置为 FalseB.文本框的 Locked 属性设置为 TreeC.文本框的 Multiline 的属性设置为 FasleD.文本框的 Multiline 的属性设置为 True 解析:解析:选项 A)和 B)中,Locked 属
28、性是决定控件是否失效,不符合本题的本意;而 MultiLine 属性决定文本框是否可以输入多行文本,如果设置为 True,则 Pass- wordChar 失效,所以选项 C)错误,选项D)正确。7.程序段如下: Private Sub Command1_Click() a=0 for I=15 To 15 Step-2 a=a+I Next I Print a,I End Sub 发生 Command1 的单击事件后,程序的输出结果是_。(分数:2.50)A.0 13B.15 13 C.0 15D.15 15解析:解析 for 循环的结束条件是循环变量存变化方向上超过终值。当发生 Comma
29、nd1_Click 事件时,给变量 a 赋值为 0,执行 for 循环,给循环变量赋值 15,循环变量的终值为 15,步长为-2,变化方向是从大到小。循环变量的值没有超过终值,执行循环体,给 a 赋值 15,循环变量加上步长变为 13,已经在变化方向上超过了终值,循环结束。输出的 a 和的值分别为 15 和 13。8.下列程序执行的结果为 x=25:y=20: z=7 Print“S(“;x+2*y;“)“(分数:1.00)A.S(47)B.S(165) C.S(25+7*20)D.S(87)解析:解析 考查考生对表达式的基本认识。 解题要点 题中表达式的计算顺序是:先计算 z* y,然后计算
30、 x+(z*y),最后的出一个表达式值。 错解分析 该题涉及到赋值语句与运算符优先级的顺序,Print 语句具有运算功能,故选项 C) 是错误的;由于运算符的优先级是先乘除后加减,所以选项 B) 为正确,选项 A) 和选项 D) 不正确。 考点链接 表达式计算的优先顺序。9.软件设计中,有利于提高模块独立性的一个准则是(分数:1.00)A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合解析:解析 内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度。在软件设计中,有利于提高模块独立性的一千准则是高内聚低耦合
31、。选项 C 正确。10.在窗体上画两个文本框(名称分别为 Text1 和 Text2)和一个命令按钮(名称为 Command1),然后编写下列事件过程: Private Sub Command1_Click() x=0 DO While x50 x=(x+2)*(x+3) n=n+1 Loop Text1.Text=Str(n) Text2.Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框中显示的值分别为_。(分数:2.50)A.1 和 0B.2 和 72 C.3 和 50D.4 和 168解析:解析 Do While UntilLoop 循环语句的执行过程是:如
32、果条件为真(True),则执行语句块,当执行到 Loop 语句时,将返回到 While 语句并对“条件”再次进行判断,如仍为真(True),则重复前述过程;如果条件为假(False),则不执行语句块,而执行 Loop 之后的语句。 本题第 1 次执行循环体后,x、n 的值分别为 6 和 1,第 2 次执行循环体后,x、n 的值分别为 72 和 2,此时 While 语句“条件”为假,将 n、x 的值在文本框中显示。11.为计算 1+2+22+23+24+210 的值,并把结果显示在文本框 Text1 中,若编写如下事件过程:Private Sub Command1 Click() Dim a
33、Next k Print Next j 运行程序后,输出的结果是_。(分数:1.50)A.25 36B.58 69 C.47 58D.59 68解析:13.若要把窗体上命令按钮 Command1 的状态设置为不可用,应该执行的命令是_。(分数:1.00)A.Command1.Enabled=False B.Command1.Visible=FalseC.Command1.Cancel=FalseD.Command1.Default=False解析:解析 命令按钮的 Enabled 属性是设置可用不可用,故 A 选项正确。 Visible 属性是设置可见不可见; Cancel 属性值为 True
34、 时,表示按 Esc 键和单击该命令按钮一样都会触发该命令按钮的单击事件,反之,Esc 键不起作用; Default 属性值为 True 时,表示按回车键和单击该命令按钮一样都会触发该命令按钮的单击事件,反之,回车键不起作用。14.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Diml,Num Randomize Do For I=1 To 1000 Num=lnt(Rnd*100) Print Num; Select Case Num Case 12 Exit For Case 58 Exit Do Case 65,68,92 En
35、d End Select Next1 Loop End Sub 上述事件过程执行后,下列描述中正确的是_。(分数:2.00)A.Do 循环执行的次数为 1000 次B.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 12 时结束所有循环D.当所产生的随机数为 65、68 或 92 时窗体关闭、程序结束 解析:解析 程序 Do 循环中嵌套了 For 循环,Do 循环没有设置结束条件,而是在 For 循环体中的Select 语句中设置了退出 Do 循环和 For 循环及结束程序的分支,因此 Do 循环的次数无法确定。随机函数 Rnd 产生0,1)之间的一个数,包括 0 但不
36、包含 1,因此 Rnd*100 的范围是大于等于 0 小于 100。随机数为 65、68 或 92 时结束程序关闭窗体,为 58 时退出 Do 循环,为 12 时退出 For 循环进入下一次 Do 循环。15.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 需求分析阶段只能产生需求分析规格说明书,A 测试说明书是软件测试阶段生成的,B 软件详细设计说明书是设计阶段生产,C 用户手册是软件发布时随软件一同交付给用户的。16.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序:
37、 Private Sub Command1 Click() Dim a(10) As Integer For k=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k) End Sub 运行程序,单击命令按钮,输出结果是_。(分数:2.50)A.18 B.12C.8D.6解析:解析 本题中通过 For 循环可以求出 a(1)到 a(10)的值,分别为18,16,14,12,10,8,6,4,2,0。此时 k=0,不满足循环条件,退出循环,最后 k=k+7=7,a(k-a(k)=a(7-a(7)=a(1)=18。17.设整型数组 a 有 10
38、 个元素,其中前 9 个元素中数已按小到大顺序排列,下面程序段的作用是_。 x = InputBox(“请输入一个整数“) k = 8 Do If x = a(k) Then a(k+1) = x Exit Do Else a(k + 1) = a(k) If k = 0 Then a(k) = x k = k - 1 End If Loop Until k 0(分数:2.50)A.把 x 中的数插入数组 a,使数组中的数仍然保持从小到大的顺序 B.在数组 a 中找到小于或等于 x 的数,把 x 中的数放到这个数的后面C.把 x 中的数放到下标为 0 的数组元素中D.把数组 a 中的数依次后移
39、,然后把 x 中的数放到数组的最前面解析:解析 本题是将 x 插入数组 a,并保证数组元素按从小到大排列。循环体中,首先判断 x 是否大于 a(8),如果条件成立,则将 x 赋值给 a(9),否则,将 a 数组的值按从大到小依次递减的方式与 x 值进行比较,在合适位置插入 x 值。故正确答案为选项 A。18.阅读程序: Private Sub Form Click _ Dim num As Integer, digit As Integer num=InputBox(“输入数据“) Do While num0 digit=num Mod 10 num=num/10 Print digit; L
40、oop End Sub 程序运行后,如果从键盘上输入 12345,则输出结果为_。(分数:2.00)A.1 3 7 5 9B.5 4 3 2 1 C.2 4 6 8 10D.1 2 3 4 5解析:解析 本题使用了当循环,循环执行的条件是 num 不等于 0。在循环体内,先用 Mod 运算符求出输入的数 num 的余数,接着用 10 对该数进行整除,把得到的商赋给 num,最后输出余数。然后对整除后的 num 重复上述过程,直到 num 为 0,结束循环。实际上该程序的功能是:从有至左,逐个读取 num 的位数,并将其赋值给 digit,再在窗体上打印出来,即输出结果为:5、4、3、2、1。1
41、9.运行下面程序后,正确的输出结果是_。 Private Sub Command1_Click() x=6 if x6 then Print “x6“; Else if x8 then Print “x8“; Else if x=6 then Print: “x=6“; End if End if End if End Sub (分数:2.50)A.B. C.D.解析:解析 本题难点是如何确定 if 结构语句的判决条件,不要将其与输出结果混淆起来。打印分隔符为“;”时,字符串之间没有空格。20.软件测试的目的是_。(分数:2.50)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错
42、误D.发现程序中的错误 解析:解析 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能,也不是为了评估软件或改正错误。21.函数过程 n 的功能是:如果参数 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 Fu
43、nction C.Function F1(b As Integer)If b Mod 2=0 ThenF1=1ElseF1=0End IfEnd FunctionD.Functionn(b As Integer)If b Mod 2 0ThenReturn 0ElseReturn 1End IfEnd Function解析:解析 Visual Basic 程序中不能使用 Return 语句来返回一个函数的值。要返回一个函数的值,需要把这个值赋值给函数名。所以本题中 A、D 选项错误,而题目中,当 b 为奇数时返回 0,所以本题答案是 B。22.在窗体上画一个命令按钮,然后编写如下事件过程: P
44、rivate Sub Command1_Click() Dim a(5)As String For i=1 To 5 a(i):Chr(Asc(“A“)+(i-1) Next i For Each b In a Print b; Next End Sub 程序运行后,单击命令按钮,输出结果是 _ 。(分数:2.00)A.ABCDE B.1 2 3 4 5C.abcdeD.出错信息解析:解析 Asc 为取 ASC码,Chr 为从 ASC码计算字符。所以输出 A 与其后的 4 位连续字母。23.下列程序的执行结果为_。 Private Sub Command1_Click() a=100 b=50
45、 if ab then a=a+b Else b=b-a Print a,b End Sub(分数:2.50)A.50 50B.150 50 C.200 200D.10 10解析:解析 本题的重点为单行结构 if 语句的使用。当条件为真时,执行 then 后面的表达式,否则执行 Else 后面的表达式。其功能可以用 Iif 函数来替代。24.在列表框中当前被选中的列表项的序号是由下列哪个属性表示_。(分数:2.00)A.ListB.IndexC.Listindex D.Tabindex解析:解析 List 属性:该属性用来列出列表项的内容。List 属性保存了列表框中所有值的数组,可以通过下标
46、访问数组中的值(下标值介于 0 到 List.ListCount-1 之间)。 ListIndex 属性:该属性的设置值是已选中的列表项的位置。列表项位置由索引值指定,第一项的索引值为 0,第二项为 1,依次类推。如果没有选中任何列表项,ListIndex 的值将设置为-1。25.用链表表示线性表的优点是 _。 A) 便于插入和删除操作 B) 数据元素的物理顺序与逻辑顺序相同 C) 花费的存储空间较顺序存储少 D) 便于随机存取 (分数:1.00)A. B.C.D.解析:解析 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要
47、移动数据元素。故链式存储结构下的线性表便于插入和删除操作。26.在 Visual Basic 中,表达式 3*2/5 Mod3 的值是_(分数:3.00)A.1 B.0C.3D.出现错误提示解析:解析 VB 中算术运算符优先级从高到低:乘方负号-乘险除*整除/取模 Mod加减+、-。 根据优先级顺序,先计算 3*2 为 6,再 6/5 整除为 1,最后 1 Mod3 取模结果为 1。故 A 选项正确。27.设有语句 Open “c:/Test. Dat“ For Output As#1 则以下错误的叙述是_。(分数:2.00)A.该语句打开 C 盘根目录下一个已经存在的文件 Test.Dat
48、B.该语句在 C 盘根目录下建立一个名为 Test.Dat 的文件C.该语句建立的文件的文件号为 1D.执行该语句后,就可以通过 Print#句向文件 Test.Dat 中写入信息解析:解析 当以顺序型访问打开一个文件时,可执行以下操作: 从文件输入字符(Input) 向文件输出字符(Output) 把字符加到文件(Append) 要顺序型访问打开一个文件,Open 语句使用以下语法: Open pathname ForInputOutputAppendAs filenumberLen=buffersize 当打开顺序文件作为 Input 时,该文件必须已经存在,否则,会产生一个错误。然而,当打开一个不存在的文件作为 Output 或 Append 时,Open 语句首先创建该文件,然后再打开它。 当在文件与程序之间拷贝数据时,选项 Len 参数指定缓冲区的字符数。 在打开一个文件 Input、Output 或 Append 以后。在为其他类型的操作重新打开它之前必须先使用