江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2015年3月全国计算机二级VB选择题真题第2套

37

1.下列叙述中正确的是

 

A.数据结构中的数据元素可以是另一种数据结构

 

B.数据结构中的数据元素只能是另一种线性结构

 

C.数据结构中的数据元素只能是另一种非线性结构

 

D.以上说法均不正确

 

2.设数据元素集合为{A,B,C,D,E,F},下列关系为线性结构的是

 

A.R={ (D,F),(E,C),(B,C),(A,B),(C,F) }

 

B.R={ (D,E),(E,A),(B,C),(A,B),(C,F) }

 

C.R={ (A,B),(C,D),(B,A),(E,F),(F,A) }

 

D.R={ (D,E),(E,A),(B,C),(F,B),(C,F) }

 

3.设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为

 

A.m+1

 

B.0

 

C.m-1

 

D.产生栈空错误

 

4.设循环队列存储空间为Q(1:50)。初始状态为front=rear=50。经过一系列入队和退队操作后,front=14,rear=19,则该循环队列中的元素个数为

 

A.46

 

 

B.45

 

C.6

 

D.5

 

5.设二叉树中共有15个结点,其中的结点值互不相同。如果该二叉树的前序序列与中序序列相同,则该二叉树的深度为

 

A.15

 

B.6

 

C.4

 

D.不存在这样的二叉树

 

6.下列各组的排序方法中,最坏情况下比较次数相同的是

 

A.冒泡排序与快速排序

 

B.简单插入排序与希尔排序

 

C.堆排序与希尔排序

 

D.快速排序与希尔排序

 

7.单元测试主要涉及的文档是

 

A.编码和详细设计说明书

 

B.确认测试计划

 

C.需求规格说明书

 

D.总体设计说明书

 

8.下列关于数据库系统的叙述中正确的是

 

A.数据库的数据项之间无联系,记录之间存在联系

 

B.数据库中只存在数据项之间的联系

 

C.数据库的数据项之间以及记录之间都存在联系

 

D.数据库的数据项之间以及记录之间都不存在联系

 

9.设有三张表,客户(客户号,姓名,地址),产品(产品号,产品名,规格,进价),购买(客户号,产品号,价格),其中表客户和表产品的关键字(键或码)分别为客户号和产品号,则表购买的关键字为

 

 

 

A.客户号,产品号

 

B.客户号

 

C.产品号

 

D.客户号,产品号,价格

 

10.

 

A.(b,e, 1,2)

 

B.(c,c,11,4)  

 

C.(a,a,2,2)

 

D.空

 

11.Visual Basic窗体设计器的主要功能是(  )。

 

A.画图

 

B.编写源程序代码

 

C.建立用户界面

 

D.显示文字

 

12.程序运行时,当用鼠标点击滚动条两端的箭头按钮时,不会产生的结果是(  )。

 

A.改变Value属性的值

 

B.激活Scroll事件

 

C.激活Change事件

 

D.滚动框移动

 

 

 

13.已知文本框Text1中输入了一篇英文短文并编写了如下程序段

   Str_x = Text1.Text

   n = Len(Str_x)

   m = 0

   t = 0

   For i = 1 To n

      w = UCase(Mid(Str_x, i, 1))

      If w >= "A" And w <= "Z" Then

         If t = 0 Then m = m + 1

         t = t + 1

      Else

        t = 0

      End If

   Next

   Print m

 

该程序段的功能为统计并输出英文短文中(  )。

 

 

 

A.首字母大写的单词的个数

 

B.大写字母的个数

 

C.字母的个数

 

D.单词的个数

 

14.设窗体上有文本框Text1和命令按钮Command1并编写了下面的过程

Private Sub Command1_Click()

    ch$ = ""

    x% = Val(Text1.Text)

    k = 2

    For k = 2 To x / 2

        If x Mod k = 0 Then

            ch = ch & " " & k

        End If

    Next k

    Print ch

End Sub

 

程序运行后在文本框中输入28单击命令按钮则输出是(  )

 

 

 

A.2  4  7  14

 

B.14  7  4  2

 

C.2  4  6  8  10  12  14

 

D.1  3  5  7  9  11  13

 

15.设有如下程序代码:

 

Dim a%

Public b%, c%

Private Sub Form_Click()

    Dim b%

    Print a; b; c

End Sub

Private Sub Form_Load()

    Dim a%

    a = 5

    b = 8

    c = 10

End Sub

 

运行程序时单击窗体则在窗体上显示的是(  )

 

 

 

A.0  0  10

 

B.0  8  10

 

C.5  8  10 

 

D.5  0  10

 

 

 

16..设有以下程序片段

Public x%

Private y$

Private Sub Command1_Click()

    Dim a

    ……

End Sub

 

Private Sub Command2_Click()

    Static b

    ……

End Sub

 

 

Command1_Click过程中无法访问的变量是(  )

 

 

 

A.a

 

B.b

 

C.x

 

D.y

 

17.设有如下程序段:

Dim x As Integer

x = Val(InputBox("输入变量x的值"))

 

Select Case x

   Case ________________

       Print "*"

   Case Else

       Print "#"

End Select

 

以上程序段的功能是当变量x的值在510之间或者大于20输出*其它情况输出#则程序中横线处应填入的内容是(  )

 

 

 

A.5 To 10, Is>20

 

B.5-10 Or x>20

 

C.x>= 5 And x <= 10 Or x > 20

 

D.5 To 10: x>20

 

 

 

18.编写如下程序代码

Private Sub Command1_Click()

   s = "Visual Basic"

   x = Left(s, 1)

   For i = 2 To Len(s)

      z = Mid(s, i, 1)

      If z > x Then x = z

   Next i

   Print x

End Sub

 

程序运行后,单击命令按钮Command1,输出结果为(  )。

 

 

 

A.a

 

B.V

 

C.s

 

D.u

 

19.设a、b、c为整型变量,其值分别为4、5、6。以下程序段的输出结果是(  )。

 

a = b: b = c: c = a

Print a; b; c

 

 

 

A.5  6  4

 

B.4  5  6

 

C.5  6  5

 

D.6  5  4

 

 

 

20.Visual Basic数据类型中占用内存最小的是(  )

 

 

 

A.Integer         

 

B.Boolean         

 

C.Single          

 

D.Byte

 

21.当复选框的Value属性值为1时,表示(  )

 

A.该复选框不可用

 

B.该复选框不可见

 

C.没有选中该复选框 

 

D.选中该复选框

 

 

 

22.在窗体上画一个名称为List1的列表框和一个名称为Text1的文本框,然后编写如下两个事件过程:

 

Private Sub Form_Load()

    List1.AddItem "100"

    List1.AddItem "200"

    List1.AddItem "300"

    List1.AddItem "400"

    Text1.Text = ""

End Sub

Private Sub List1_DblClick()

    a = List1.Text

    Print a + Text1.Text

End Sub

 

程序运行后,在文本框中输入"500",然后双击列表框中的"400",则输出结果为(  )。

 

 

 

A.400500

 

B.500400

 

C.900

 

D.0

 

23.在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是(  )。

 

 

 

A. Private Sub Text1_Change()

        Label1.Caption = Str(Len(Text1.Text))

     End Sub

 

 

 

B.Private Sub Text1_Click()

        Label1.Caption = Str(Len(Text1.Text))

     End Sub

 

 

 

 

C.Private Sub Text1_Change()

        Label1.Caption = Text1.Text

     End Sub

 

 

 

D.Private Sub Label1_Change()

        Label1.Caption = Str(Len(Text1.Text))

     End Sub

 

 

 

24.以下叙述中,错误的是(  )

 

A.在设计阶段不能调整通用对话框控件的大小

 

B.当文本框失去焦点时,触发其LostFocus事件

 

 

 

C.可以将计时器控件的Enabled属性设置为False,使其不能自动触发Timer事件

 

 

 

D.如果文本框的TabStop属性值为False,则不能接收从键盘上输入的数据

 

25.以下关于图片框控件的说法中,正确的是(  )。

 

 

 

A.清空图片框控件中图形的方法之一是将其Picture属性的值设置为Null

 

 

 

B.可以通过调用图片框的Print方法在图片框中输出文本

 

 

 

C.为使图像能自动适应图片框的大小,应将图片框的Stretch属性设置为False

 

D.用cls方法可以清除图片框中装入的图片

 

26.当复选框控件被选中(即复选框控件内显示标记)时,其Value属性的值为(  )

 

A.0

 

B.1

 

C.True 

 

D.False

 

27.对于复选框来说,Value属性可以设置为0、1或2。其中1表示选中该复选框。故B选项正确

 

A. Combo1.RemoveItem Combo1.ListCount-1

 

B.Combo1.RemoveItem Combo1.Index

 

C.Combo1.RemoveItem 3

 

D.Combo1.RemoveItem Combo1.ListIndex

 

28.设有一名称为txtName的文本框,则下列能使其具有输入焦点的语句是(  )

 

A.Focus=True

 

 

B.txtName.SetFocus=True

 

 

C.txtName.SetFocus  

 

D.txtName=SetFocus  

 

 

29.编写如下程序代码

Private Sub Command1_Click()

   Const n = 5

   Dim arrx(n) As Integer

   For i = 1 To 5

      arrx(i) = i * i

   Next i

   Call swap(arrx(), n)

   For i = 1 To n

      Print arrx(i);

   Next

End Sub

 

Public Sub swap(a() As Integer, k As Integer)

   For i = 1 To k / 2

      t = a(i)

      a(i) = a(k - i + 1)

      a(k - i + 1) = t

   Next

End Sub

 

程序运行后单击命令按钮Command1输出结果为(  )

 

 

 

A.1   4   9   4   1  

 

B.4   1   9   25   16

 

 

 

C.1   4   9   16   25    

 

D.25   16   9   4   1

 

 

 

30.如果在过程A中用语句Call proc(a, b) 调用下面的过程

Private Sub proc(b As Integer, ByVal a As Integer)

    a = a + 1

    b = b * 2

 

End Sub

 

则调用结束后的结果是(  )。

 

 

 

A.过程A中变量b的值变为原有值的2

 

B.过程A中变量a的值变为原有值的2倍

 

 

 

C.过程A中变量a的值变为原有值的2倍,b的值等于原有值加1

 

 

 

 

 

D. 过程A中变量b的值变为原有值的2倍,a的值等于原有值加1

 

31.以下Case子句中错误的是(  )。

 

A. Case Is > 10 And Is < 50 

 

B.Case Is > 10

 

 

 

C.Case 0 To 10

 

D.Case 3, 5, Is > 10

 

32.设在程序开始处有语句Option Base 0则下面定义的数组中正好有12个元素的是(  )。

 

A.Dim s%( 3 , 2 )

 

B.Dim a%( 12 )

 

C.Dim s%( 3 , 4 )

 

D.Dim a%( -6 To 6 )

 

 

 

33.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写以下程序代码:

 

Private Sub sub1(ByRef d(), ByRef m1 As Integer)

  Dim i As Integer

  m1 = d(LBound(d))

  For i = LBound(d) + 1 To UBound(d)

    If m1 < d(i) Then m1 = d(i)

  Next i

End Sub

 

Private Sub Command1_Click()

  Dim n1 As Integer

  n1=-1

  Dim data()

  data = Array(10, 20, -20, 50, 15, -5)

  Call sub1(data(), n1)

  Text1.Text = n1

End Sub

 

程序运行过程中当单击命令按钮Command1则在文本框Text1中显示的结果为(  )

 

 

 

A. -5

 

B. -1

 

C.0

 

D.50

 

34.有以下程序代码

Private Sub Command1_Click ()

    Print fun(10), fun(5)

End Sub

Private Function fun(n As Integer) As Integer

    Static t

    For k = 1 To n

        t = t + k

    Next k

    fun = t

End Function

 

执行Command1_Click过程产生的输出是(  )

 

 

 

A.55            15 

 

 

B.55            70

 

 

 

C.15            55

 

D.15            70

 

 

 

35.在窗体上画1个名称为CD1的通用对话框,1个名称为Command1的命令按钮,编写如下Click事件过程:

 

Private Sub Command1_Click()

  CD1.FileName = ""

  CD1.Filter = "所有文件|*.*|所有jpg文件|*.jpg|所有bmp文件|*.bmp"

  CD1.FilterIndex = 2

  CD1.Action = 1

End Sub

 

关于以上代码正确的叙述是(  )。

 

 

 

A.执行以上事件过程可显示打开文件对话框

 

B.在出现的对话框中,显示的是所有扩展名为.bmp的文件

 

C.语句CD1.Action = 1可以等价地改成语句CD1.ShowSave

 

 

 

D.在出现的对话框中,显示的是所有扩展名为.bmp的文件

 

36.设有一名称为mnuBold的下拉菜单项,程序运行时,希望达到如下效果:当第一次单击该菜单项时,其标题左侧显示,当第二次单击该菜单项时,其标题左侧的消失,依此交替进行,...... 。则应在mnuBold_Click事件过程中书写的语句是(  )。

 

 

 

A.mnuBold.Checked = False

 

 

 

B.mnuBold.Checked = True

 

 

C.mnuBold.Checked = Not mnuBold.Checked

 

D.mnuBold.Checked = IIf(mnuBold.Checked, True, False)

 

37.下列与鼠标拖放操作无关的是(  )。

 

A.Drag方法

 

B.KeyPress事件

 

C.DragOver事件

 

D.DragDrop事件

 

 

 

38.在窗体上画一个名称为Text1的文本框,然后编写以下事件过程:

 

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

  If _________________ Then

      Text1.SelStart = 0

      Text1.SelLength = Len(Text1.Text)

  End If

End Sub

 

要求程序运行时若输入焦点在Text1按下组合键Ctrl+A可以选取Text1内所有的文本则在横线处应填入的表达式是(  )

 

 

 

A.KeyCode = 65 And Shift = 2

 

B.KeyCode = "A" And Shift = "Ctrl"

 

 

 

C.Text1.KeyCode = 65 And Text1.Shift = 2

 

 

 

D.Text1.KeyCode = "A" And Text1.Shift = "Ctrl"

 

39.下列关于随机文件的描述中,错误的是(  )。

 

A.每条记录的长度必须相同 

 

B.每条记录都有一个记录号

 

C.数据存取灵活方便,容易修改

 

D.只能随机存取

 

40.以下叙述中错误的是(  )。

 

A.保存程序时,应分别保存窗体文件和工程文件

 

 

 

B.打开一个工程文件时,系统自动装入与该工程有关的窗体文件

 

 

 

 

C.一个工程中可以包含一个或多个窗体,但不能包含其他模块

 

 

 

D.标准模块文件的扩展名是 .bas ,工程文件的扩展名是 .vbp

 

 

 

1.A  数据元素是一个含义很广泛的概念,它是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

 

数据元素可以是一个数据也可以是被抽象出的具有一定结构的数据集合,所以数据结构中的数据元素可以是任何一种数据结构,包括线性结构和非线性结构。故A选项正确

 

2.B  一个非空的数据结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,那么该数据结构称为线性结构,也称为线性表。

 

A选项中,F有两个前件D、C,属于非线性结构。B选项中,D为根结点,线性表为DEABCF。C选项中,A有两个前件B、F,属于非线性结构。D选项中,有两个根结点D、B,属于非线性结构。故B选项正确

 

3.A  栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。

题目中初始状态为top=m+1,可知入栈栈顶指针top=top-1, 出栈栈顶指针top=top+1,由于栈长为m,当top=m时,栈中还有一个元素,即top指针所指向的元素,再出栈一个元素后top指向栈底,栈空,此时top=m+1。

 

故选A选项

 

4.D  循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。

 

队列初始状态为front=rear=50,当front=14,rear=19时,队列中有19-14=5个元素。故选D选项

 

5.A  二叉树遍历可以分为3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访问右子树两者之间)、后序遍历(访问根结点在访问左子树和访问右子树之后)。

由结点值互不相同而前序序列与中序序列相同可知,该二叉树所有的结点都没有左子树,所以15个结点的二叉树深度为15。

 

故选A选项

 

6.A  对长度为n的线性表排序,下表为常用排序方法时间复杂度:

 

方法

平均时间

最坏情况时间

冒泡排序

O(n2)

O(n2)

直接插入排序

O(n2)

O(n2)

简单选择排序

O(n2)

O(n2)

快速排序

O(nlog2n)

O(n2)

堆排序

O(nlog2n)

O(nlog2n)

上表中未包括希尔排序,因为希尔排序的时间效率与所取的增量序列有关,如果增量序列为:d1=n/2, di+1=di/2,在最坏情况下,希尔排序所需要的比较次数为O(n1.5)。可知冒泡排序与快速排序最坏情况下比较次数相同。故选A选项

 

7.A  单元测试也称模块测试,是对模块进行正确性的检验,以期尽早发现各模块内部可能存在的各种错误。

通常单元测试在编码阶段进行,单元测试的依据除了源程序以外还有详细设计说明书。

 

故选A选项

 

8.C  数据库中的联系是指实体之间的对应关系,它反映现实世界事物之间的相互关联。数据库中数据项之间以及记录之间都存在着联系。故选C选项

 

9.A  候选键(码)是二维表中能唯一标识元组的最小属性集。

由于表客户和表产品的关键字分别为客户号和产品号,即客户号可以唯一标识客户,而产品号可以唯一标识产品,则表购买需要属性客户号与属性产品号两者来共同标识,即能唯一标识购买的最小属性集为(客户号,产品号),故表购买的关键字为(客户号,产品号)。故选A选项。

 

N200030380)

 

 

 

10.A  表示针对元组进行的选择运算, A<>B表示选择AB两个属性中不相同的元组,D>=2表示选择属性D中元素不小于2的元组,关系“”表示选择两个条件同时成立的元组。满足条件的元组只有(b e 1 2)。故选A选项。

 

11.C  Visual Basic窗体设计器简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。各种图形、图像、数据等都是通过窗体或窗体中的控件显示出来的,在设计应用程序时,窗体就像是一块画布,在这块画布上可以画出组成应用程序的各个构件。故C选项正确。

 

12.B  对滚动条的操作一般就是移动,滚动条事件有Scroll事件和Change事件,故选项A、C和D均正确;本题正确答案为B

 

13.D  在变量Str_x中存放文本框中输入的一篇英文短文,通过Len函数获得短文的长度,并将其长度赋值给变量n。在外层For循环中,循环变量i从1开始到n结束。表达式Mid(Str_x,i,1)依次截取字符串Str_x中第i个字符,然后通过大写转换函数UCase转换成大写字母赋值给变量w。紧接着判断变量w中存放的字符是否为英文字母,若是,则通过变量t判断该字符是否为该单词的第一个字符,若是第一个字符,则计数器变量m加1。程序最终的功能是统计一篇英文短文中单词的个数,故选项D正确。

 

14.A  首先程序通过转换函数Val将文本框中输入的字符转换为数值,即变量x的值为28。For循环中,循环变量k的初始值为2,终止值为14,if语句用来判断x的值是否能被k整除,若能被k整除,则将该值作为字符串保存到字符串变量ch中,也就是说通过For循环结构,找出2到14之间能整除28的数,结果为2,4,7,14。故选项A正确。

 

 

 

15.A  程序开头位置定义了一个模块级变量a和两个全局变量b和c,在默认情况下,模块级变量对该模块的所有过程都是可见的,但是对其他模块中的代码不可见;全局变量的作用于最大,可以在工程的每个模块、每隔过程中使用。本题中,程序先执行Form_Load()再执行Form_Click() 函数。当程序加载时先为变量赋初值,在Form_Load事件中,又定义了局部变量a,局部变量的作用于仅限于本过程,出了过程就不复存在了。当局部变量和模块级变量同名,且作用域发生重叠,局部变量会屏蔽模块级变量,所以在Form_Load过程中,给变量a赋值为5,此处的变量a是局部变量,而不是模块级变量;b和c也分别赋了值,此时赋的值就是全局变量的值,b=8、c=10。当单击窗体时,程序执行Form_Click过程,也定义了一个局部变量b,b的初始值为0,与全局变量b同名且作用域发生重叠,局部变量会屏蔽全局变量,也就是说在Form_Click过程中,输出的变量b是局部变量,而变量a和变量c都是全局变量,全局变量a的值为其初始值0,全局变量c的值为10,所以最终输出的结果为 0 0 10,故选项A正确。

 

 

 

16.B  Command2_Click过程中用Static定义的变量b属于静态局部变量,只能在定义的过程中被使用,在其它过程中无法使用和访问,故B选项正确。

 

17.A  在Select Case语句中,Case表达式列表可以有3中形式:1)表达式[,表达式]……;2)表达式To表达式;3)Is关系运算表达式;在一个Select Case语句中,3种形式可以混用。故只有A选项正确,选项B、C、D均错误。

 

18.D  Left(s, 1)表示截取字符串s中最左边1个字符,即x=V;Len 英文全称Length,中文意长度。Len(s)测量字符串长度,函数返回值为12;For循环中,循环变量i初始值为2,终止值为12,每执行一次循环通过表达式Mid(s, i, 1)将字符串s中的第i个元素取出来赋值给变量z,再通过if语句判断z与x的大小,使变量x始终保存较大的元素,也就是说程序的功能为:通过For循环遍历整个字符串z,找出其中最大的字母,最后输出。注意:字符的比较其实比较的是字符的ASCII码,所以字符串s中最大字符为u,故D选项正确。

 

 

 

19.C  Print方法可以输出多个变量的值,各变量用分隔符(逗号、分号或空格)隔开。初始时a=4,b=5,c=6;执行a=b后,a的值为5;执行b=c后,b的值为6;执行c=a后,c的值为5;使用Print方法输出结果为5;6;5;故C选项正确。

 

 

 

 

 

20.D  在Visual Basic中,整数(Integer)占用2个字节;布尔(Boolean)占用2个字节;

 

单精度浮点型(Single)占用4个字节;字节(Byte)占用1个字节;故D选项正确。

 

 

 

21.D  对于复选框来说,Value属性可以设置为0、1或2。其中:

 

10:表示没有选择该复选框;1:表示选中该复选框;2:表示该复选框被禁止(灰色)故D选项正确。

 

 

 

 

22.A  当加载窗体时,首先执行Form_Load();列表框的Text属性表示最后一次选中的表项的文本,双击列表框中的400,表示选中400选项,则在List1_DblClick事件中a=400,在文本框中输入500,通过Print a + Text1.Text输出400500。语句中的+为字符串连接符,作用是将两个字符串连接为一个新串。故本题A选项正确。

 

23.A  要想实现题中所叙述的功能,必须使用Text1的Change事件,故首先可以排除B、D;选项C,在标签中显示的是文本框中的内容而非字符个数。故选项C错误。在标签中显示文本框中字符的个数可以使用,Label1.Caption= Str(Len(Text1.Text))语句,其中:Len函数可以获取文本框Text1中所输入字符的个数,然后通过Str转换函数,将数字转换成字符赋值给Label1的Caption属性,故本题正确答案为A。

 

 

 

24.D  文本框中TabStop属性用来设置用户是否可以使用Tab键来选定对象,当文本框的Locked属性值为False,则不能接收从键盘上输入的数据,故D选项错误;A、B、C选项均正确。

 

25.B  将图片框Picture属性的值设置为Null并不能清空图片框控件中的图形,故A选项错误;图片框是容器控件,可以作为父控件,并且可以通过Print方法接收文本,故B选项正确;Stretch属性用于图像框,用来自动调整图像框中图形内容的大小,而非图片框,故C选项错误;Cls方法可以清除窗体或图片框中的信息,并将光标移动到对象的左上角(0,0)处,故D选项错误。本题正确答案为B。

 

 

 

26.B  对于复选框来说,Value属性可以设置为0、1或2。其中1表示选中该复选框。故B选项正确

 

27.A  ListCount属性列出组合框中表项的数量。组合框中表项的排列从0开始,最后一项的序号为ListCount-1,所以使用表达式Combo1.RemoveItem Combo1.ListCount-1可以从组合框中删除最后一项,故A选项正确。

 

28.C  SetFocus是文本框中较常使用的方法:格式为:[对象.]SetFocus,该方法可以把输入光标(焦点)移动到指定的文本框中。故C选项正确。

 

29.D  Visual Basic允许把数组作为实参传送到过程中,当用数组作为过程的参数时,使用的是传地址方式。本题中首先在Command1_Click过程中定义一个数组,并通过For循环给数组中的元素赋值,arrx(1)=1;arrx(2)=4;arrx(3)=9;arrx(4)=16;arrx(5)=25;在swap过程中,形参是数组,通过For循环将数组首尾元素交换。当i=1时,t=a(1)=1,a(1)=a(5)=25,a(5)=t=1,a(1)与a(5)交换成功;当i=2时,t=a(2)=4,a(2)=a(4)=16;a(4)=t=4,a(2)与a(4)交换成功。循环执行2次结束,由于是按地址传递,主调过程Command1_Click中数组元素的值即发生了交换,数组元素输出结果为:25   16   9   4   1。故D选项正确。

 

 

 

30.B  用Call语句调用Sub过程。如果形参前面有关键字ByVal,则该参数以传值方式传送。调用结束后,变量a的值变为原有值的2倍,变量b的值不变。故本题正确答案为B。

 

 

 

 

31.A  Case表达式列表可以有以下几种形式:1)以逗号隔开的一组值。故D选项正确。2)以To关键字表示的一个范围。故C选项正确。3)Is 关系运算表达式。当用关键字Is定义条件时,只能是简单的条件,不能用逻辑运算符将两个或多个简单条件组合在一起,故A选项错误,B选项正确。本题正确答案为A。

 

32.A  Option Base语句用来指定数组的下标的默认下界,Option Base 0表示数组的默认下标下界为0,A选项中,数组有4行(0~3)、3列(0~2),共有4×3=12个元素;B选项中,数组共有(0~12)共计13个元素;C选项中,数组有4行(0~3)、5列(0~4),共有4×5=20个元素;D选项中,数组有(-6~6)共计13个元素;故A选项正确。

 

 

 

 

 

33.D  程序的主要功能为:找出数组中的最大值并输出。首先,在程序中定义一个数组变量data,然后通过Array函数给数组整体赋值。LBound函数返回数组某一维的下界,UBound函数返回数组某一维的上界。在子程序sub1中,通过ByRef方式将数组的首地址及变量n的地址分别传给形参数组d和变量m1,此时形参数组d和变量m1与实参数组data和变量n1共享相同的地址空间。在Command_Click过程中语句Call sub1(data( ), n1)调用子过程sub1,并传递参数。在子过程sub1中,LBound(d)=0(数组下标的下界值),UBound(d) = 5;m1=d(LBound(d))=d(0)=10。程序进入For循环,i从1开始执行到5结束,当i=1时,d(1)=20,10<20为真,m1=d(1)=20;当i=2时,d(2)=-20,20<-20为假;当i=3时,d(3)=50,20<50为真,m1=d(3)=50;当i=4时,d(4)=15,50<15为假;当i=5时,d(5)=-5,50<-5为假。整个程序运行结束,最终m1的值为50,也就是说n1的值为50,程序返回后将n1的值显示在文本框Text1中,故选项D正确。

 

 

 

34.B  Command1_Click过程中两次调用fun函数,第一次调用时,将10传递给形参n,在fun函数过程中定义了一个静态变量i,i的初始值为0,并且变量i的结果可以保留。fun函数中For循环的功能是对1到n之间的值进行累加,循环执行10次,t的值为1+2+3+……+10=55,将累加值通过变量t返回到主调过程Command1_Click中进行输出,结果为55;主调过程Command1_Click第二次调用函数fun,将5传递给形参n,此时静态变量i保留了上次程序执行的结果55,再循环执行5次,t的值为55+1+2+3+4+5=70,将累加结果通过变量t返回到主调过程Command1_Click中进行输出,结果为70。故选项B正确。

 

 

 

 

 

35.A  过程中的CD1.Action=1用来建立Open对话框,它与语句CD1.ShowOpen等价,故A选项正确,C选项错误;Filter属性用来指定在对话框中显示的文件类型,用该属性可以设置多个文件类型,供用户在对话框的文件类型的下拉列表中选择。FilterIndex属性用来指定默认的过滤器,其默认值为一整数。过程中的CD1.FilterIndex = 2语句用来指定将第二个过滤器作为默认显示的过滤器,所以在出现的对话框中,显示的是所有扩展名为.jpg的文件,故B选项错误;执行以上代码,只能打开选中的文件内容,并不能读取内容,故D选项错误。本题正确答案为A。

 

 

 

36.C  动态设置菜单项标记可以使用Checked属性,该属性有True和False两种取值,当Checked属性为True时,表示菜单项前面有标记;Checked属性为False时,菜单项前面没有标记;只有C选项能够在显示和消失两种状态之间来回切换,故C选项正确。

 

 

 

37.B  KeyPress事件为键盘事件,故B选项正确;A、C、D均与鼠标拖放操作有关,故均正确。

 

 

 

38.A  KeyDown事件有两个参数,即KeyCode和Shift。其中,KeyCode是按键实际的ASCII码,A的KeyCode是65;Shift是转换键,它指的是3个转换键的状态,包括Shift、Ctrl和Alt,这3个键分别以二进制表示,每个键有3位,即Shift键为001,Ctrl键为010,Alt键为100。当按下Ctrl键时,Shift参数的值为010(十进制数2)。故A选项正确。

 

 

 

39.D  随机文件既可以随机存取也可以顺序存取,故D选项错误;A、B、C叙述均正确。

 

 

 

40.C  一个工程中可以包含一个或多个窗体,也能包含多个标准模块,故C选项错误;其它选项叙述均正确。本题答案为C。