国家二级(VB)机试模拟试卷385
选择题
1.窗体上有一个名称为Cb1的组合框,程序运行后,为了输出选中的列表项,应使用的语句是( )。(B)
A. Print Cb1.Selected
B. Print Cb1.List(Cb1.ListIndex)
C. Print Cb1.Selected.Text
D. Print Cb1.List(ListIndex)
解析:组合框的属性ListIndex返回当前所选项目的索引号,List(Index)属性返回指定索引号的列表项内容,因此返回当前选定的列表项应该用Cb1.List(Cb1,ListIndex)。
2.下列叙述中正确的是( )。(D)
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定
解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。
3.数据管理技:术发展的三个阶段中,( )没有专门的软件对数据进行管理。
Ⅰ.人工管理阶段
Ⅱ.文件系统阶段
Ⅲ.数据库阶段(A)
A. 仅Ⅰ
B. 仅Ⅲ
C. Ⅰ和Ⅱ
D. Ⅱ和Ⅲ
解析:数据管理技术发展的三个阶段中,只有人工管理阶段,没有操作系统,没有管理数据的软件,数据处理方式是批处理。在文件系统阶段,操作系统中已经有了专门数据管理软件,一般称为文件系统。在数据库系统阶段,出现了统一管理数据的专门软件系统,即数据库管理系统。
4.下列程序代码段中,在单击命令按钮调用
SelMid函数时,其运行结果为( )。
Private Function SelMid(aStr As String)As String
Dim temp As String,sLen As Integer
temp=\\(B)
A. abcdef
B. afbecd
C. fedcba
D. defabc
解析:本题考查函数过程分析。单击命令按钮时,事件过程内部调用SelMid函数。SelMid函数的功能是,将字符串重组,重组的规则是:从原字符串中前后各取一个字符重新连接起来并存入中间变量temp中(追加到中间变量原有字符的后面);然后再取原字符串中的前面第2个和倒数第2个字符连接起来,再连接到变量temp中;以此类推,直到将原字符串中的字符全部追加到变量temp中为止。
5.下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str=“ABCDABCD”,ch=“B”,则函数的返回值为:
“ACDACD”
Function delchar(str As String,ch As String)As String
Dim k As Integer,temp As String,ret As String
ret=\\(B)
A. 把ret=ret&temp改为ret=temp
B. 把Iftemp=ch Then改为Iftemp◇ch Then
C. 把delchar=ret改为delchar=temp
D. 把ret=\\
解析:题干中给出的函数作用为删除参数字符串中与ch相同的字符,而在给出的程序段中,每次遍历str参数中的每一个字符,若其与ch相等,则将其连接到结果字符串中,这样显然是不合要求的,应该是若取出的字符和ch不等则将其连接到结果中,否则舍弃。因此,应将“If temp=ch Then”改为“If temp◇ch Then”
6.如图2所示,在窗体上有一个文本框控件,名称为TextTime:一个计时器控件,名称为Timerl。要求每1s在文本框中显示一次当前的时间。
(C)
A. Enabled
B. Visible
C. Timer( )
D. Interval
解析:考查计时器控件。计时器控件只有一个事件,就是Timer( )事件,表示触发计时器控件时执行的操作。
7.在窗体中有一个名为Command1的命令按钮,并编写有以下代码。程序执行时,单击命令按钮,输出的结果为( )。
Public Sub Procl(n As Integer,ByVal m
As Integer)
n=n Mod 10:m=m/10
End Sub
Private Sub Command1_Click()
Dim x As Integer,y As Integer
X=12:y=34
Call Procl(x,y)
Printx;y
End Sub(B)
A. 2 3
B. 2 34
C. 12 3
D. 12 34
解析:本题考查参数传递。在VB的过程调用中,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。题目中的实参x为传址调用,y为传值调用,因此n的变化影响x,而m变化不会影响v。
8.下列排序方法中,最坏情况下比较次数最少的是( )。(D)
A. 冒泡排序
B. 简单选择排序
C. 直接插入排序
D. 堆排序
解析:冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。
9.窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为\\(C)
A. 过程调用语句不对,应为calc(HV, HT)
B. 过程定义语句的形式参数不对,应为Sub calc(x As Control, y As Control)
C. 计算结果在文本框中显示出来
D. 程序不能正确运行
解析:访问滚动条控件的值,可以直接使用控件的名称,也可以在名称后面指明Value属性。滚动条位置是用数值来表示的,因此定义Calc过程时参数应该定义为Integer类型。程序中,Text1.Text=x*y语句说明计算的结果在文本框中显示出来。
10.编写如下事件过程:
Pate Sub Form Activate( )
Dim score(1 To 3)As Integer
Dim i As Integer,t As Variant
For i=3 To 1 Step-1
score(i)=2*i
Next i
For Each t In score
Print t;
Next
End Sub
程序
本文档预览:3600字符,共17404字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载