2013年9月全国计算机等级《二级VB》命题预测试卷四
-
在考生文件夹中有工程文件sj3.vbp及其窗体文件sj3.frm,该程序是不完整的。
在窗体上有一个文本框,名称为Text1,一个列表框,名称为List1,一个命令按钮,名称为Command1、标题为“复制”。要求程序运行后,在列表框中自动建立5个列表项,分别为“Temp1”、“Te Tnp2”、“Temp3”、“Temp4”、“Temp5”如果选择列表框中的一项,则单击“复制”按钮时,可以把该项复制到文本框中,如图8—3所示。
注意:请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“'”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
-
本题描述如下:
在名称为Form1的窗体上有一个文本框,名称为Textl,MultiLine属性为True,Scr01lBars属性为2;两个命令按钮,名称分别为Command1和Command2、标题分别为“读人数据”和“计算保存”,运行界面如图7-5所示。要求程序运行后,如果单击“读入数据”按钮,则读入in.txt文件中的50个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击“计算保存”按钮,则先进行升序排列,计算前25个数的和与后25个数的和之差,并把求得的结果在文本框Text2中显示出来,同时把该结果存入考生文件夹中的out.txt文件中。(在号生文件夹下的标准模块mode.bas中的writedata过程可以把结果存入指定的文件。)
注意:文件必须存放在考生文件夹下,窗体文件名为sj5.frm,工程文件名为sj5.vbp,计算结果存入out.txt文件,否则没有成绩。
-
在考生文件夹下有工程文件sj4.vbp及窗体文件sj4.frm,该程序是不完整的。在窗体上建立一个名称为Command1,标题为“计算”的命令按钮,再建立一个名称为Text1的文本框。运行界面如图6-4所示。要求程序运行后,若单击“计算”按钮,将计算200~350 之间所有素数的和,在文本框中显示结果,同时把结果存人文件out.txt中。(在考生文件夹中有标准模块mode.bas,其中的writedata过程可以把结果存入文件,而isprimenum函数可以判断整数x是否为素数,如果是素数,则函数返回True,否则返回False,考生可以把该模块义件添加到自己的工程中。)
注意:请在有“?”的地方填入正确内容,然后删除“?”及代码前的所有注释符(即“b’号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 -
在名称为Form1的窗体上建立两个命令按钮,名称分别为Command1和Command2、标题分别为“显示”和“删除”,一个名称为Pic1的图片框。要求程序运行后,每单击一次“显示”按钮,不使用任何变量而直接在图片框中显示“Picture1”;如果单击“删除”按钮,则清除图片框中的文本,如图6-1所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sj1.frm,工程文件名为Sj1.vbp。
-
在窗体上绘制出3个文本框,名称分别为Text1、Text2和Text3。要求程序运行时,焦点位于Text1,当按Tab键时,焦点从Text1越过Text2直接跳到Text3上。本题不得使用任何变量。程序运行时的窗体界面如图2—2所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sj2.frm,工程文件名为sj2.vbp。
-
下面是求最大公约数的函数的首部:
Function gcd(ByVal X As Integer,ByVal y As Integer)As Integer
若要输出8、12、16这3个数的最大公约数,下面正确的语句是( )。
- A.Print gcd(8,12),gcd(12,16),gcd(16,8)
- B.Print gcd(8,12,16)
- C.Print gcd(8),gcd(12),gcd(16)
- D.Print gcd(8,gcd(12,16))
-
滚动条可以响应的事件是( )。
- A.Load
- B.Scroll
- C.Click
- D.MouseDown
-
以下描述中错误的是( )。
- A.在多窗体应用程序中,可以有多个当前窗体
- B.多窗体应用程序的启动窗体可以在设计时设定
- C.多窗体应用程序中每个窗体作为一个磁盘文件保存
- D.多窗体应用程序可以编译生成一个EXE文件
-
软件测试的目的是( )。
- A.评估软件可靠性
- B.发现并改正程序中的错误
- C.改正程序中的错误
- D.发现程序中的错误
-
下列关于二叉树的叙述中,正确的是( )。
- A.叶子结点总是比度为2的结点少一个
- B.叶子结点总是比度为2的结点多一个
- C.叶子结点数是度为2的结点数的两倍
- D.度为2的结点数是度为1的结点数的两倍
-
设窗体上有一个名为Text1的文本框和一个名为Command1的命令按钮,并有以下事件过程:
Private Sub Command1 Click( )
X!=Val(Text1.Text)
Select Casc x
Case Is<-10,Is>=20
Print"输入错误"
Case Is<0
Print 20-x
Case Is<10
Print 20
Case Is<=20
Print x+10
End Seleet
End Sub
程序运行时,如果在文本框中输入-5,则单击命令按钮后的输出结果是( )。
- A.5
- B.20
- C.25
- D.输入错误
-
窗体上有一个名称为Command1的命令按钮,其单击事件过程代码如下:
Private Sub Command1 Click( )
Static x As Variant
n=0
x=Array(1,2,3,4,5,6,7,8,9,10)
While n<=4
x(n)=x(n+5)
Print x(n):
n=n+1
Wend
End Sub
运行程序,单击命令按钮Command1,窗体上显示的是( )。
- A.1 2 3 4 5
- B.6 7 8 9 10
- C.2 3 4 5 6
- D.6 2 3 4 5
-
有如下程序:
Option Base 1
Private Sub Command1 Click( )
Dim arr(10)
- arr=Array(10,35,28,90,54,68,72,90)
- For Eaeh a In arr
- If a>50Then Sum=Sum+a
- End If Next a
- End Sub 运行上述程序时出现错误,错误之处是( )。
- A.数组定义语句不对,应改为Dim arr
- B.没有指明For循环的终值
- C.应在For语句之前增加Sum=0
- D.Next a应改为Next
-
要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是( )。
- A.Private Sub P1 MouseMove(Button As Integer,Shift As Integer,X As Single,Y
- As Single) Print X Y
- End Sub
- B.Private Sub P1 MouseDown(Button As Integer,Shift As Integer,X As Single,Y
- As Single) Picture.Print X,Y
- End Sub
- C.Private Sub P1 MouseMove(Button As Integer,Shift As Integer,X As Single,Y
- As Single) P1.Print X,Y
- End Sub
- D.Private Sub Form. MouseMove(Button As Integer,Shift As Integer,X As Single,Y
-
程序调试的任务是( )。
- A.设计测试用例
- B.验证程序的正确性
- C.发现程序中的错误
- D.诊断和改正程序中的错误
-
阅读下面的程序段:
- a==0
- For i=1 To 3
- For j=1 To i
- For k=j To 3
- a=a+l Next k Next j Next i 执行上面的程序段后,a的值为( )。
- A.3
- B.9
- C.14
- D.21
-
单击命令按钮时,下列程序段的执行结果是( )。
Private Sub Command1 Click( )
Dim a As Integer,b As Integer,C As Integer
- a=2:b=4:c=6
- Call S1(a.b) Print"a=";a;"b=";b;"c=";c
- Call S2(a,b) Print"a=";a;"b=";b;"c=";c;
- End Sub Private Sub S1(X.As Integer,Y As Integer)
- Dim C As Integer x=2*X:y=y+2:c=x+y
- End Sub Sub S2(x As Integer,ByVal Y As Integer)
- Dim e As Integer x=2*x:Y=Y+2:e=x+y
- End Sub
- A.a=4 b=6 c=6
- a=4 b=6 c=6
-
下列( )标识符不能作为Visual Basic的变量名。
- A.ABCabe
- B.bl234
- C.28wed
- D.crud
-
窗体如图1所示。要求程序运行时,在文本框Text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现如此功能:
Private Sub Command l Click( )
Dim n%,k%
n=Len(Text1.Text)
For k=0 To List1.ListCount-1
If Left(List1.List(k),n)=Text1.Text Then
List 1.Removeltem k
End If
Next k
End Sub
在调试时发现,如输入“陈”,可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除了“刘邦”、“刘备”2项,结果如图2所示。这说明程序不能适应所有情况,需要修改。正确的修改方案是把For k=0 To List1.ListCount-1改为( )。
- A.For k=List1.ListCount-1 To 0 Step-1
- B.For k=0 To List1.ListCount
- C.For k=1 To List1.ListCount-1
- D.For k=1 To List1.ListCount
-
设窗体上有一个名为List1的列表框,并编写下面的事件过程:
Private Sub List1_Click( )
Dim ch As String
ch=List1.List(List1.Listlndex)
List1.RemoveItem List1.Listlndex
List1.Addltem ch
End Sub
程序运行时,单击一个列表项,则产生的结果是( )。
- A.该列表项被移到列表的最前面
- B.该列表项被删除
- C.该列表项被移到列表的最后面
- D.该列表项被删除后又在原位置插入
-
在窗体上画1个命令按钮,并编写如下事件过程:
private Sub Command1_Click( )
For i=5 To 1 Step-0.8
Print Int(i);
Next i
End Sub
运行程序,单击命令按钮,窗体上显示的内容为( )。
- A.5 4 3 2 1 1
- B.5 4 3 2 1
- C.4 3 2 1 1
- D.4 4 3 2 1 1
-
数据库应用系统中的核心问题是( )。
- A.数据库设计
- B.数据库系统设计
- C.数据库维护
- D.数据库管理员培训
-
下列描述不正确的是( .)。
- A.某个子过程中声明的局部变量,其使用范围仅限定于该子过程内
- B.某个子过程中声明的局部变量,其生命周期仅限于该子过程被执行过程中
- C.不同子过程中的局部变量可以具有相同的名称
- D.不同子过程中具有相同的名称的局部变量是同一变量
-
请阅读程序:
Sub subP(b( )As Integer)
For i=1 To4
b(i)=2*i
Next i
End Sub
Private Sub Commandl Click( )
Dim a(1 To 4)As Integer
- a(1)=5:a(2)=6:a(3)=7:a(4)=8 subP a( )
- For i=1 To 4 Print a(i) Next i
- End Sub 运行上面的程序,单击命令按钮,则输出结果是( )。
- A.2 4 6 8
- B.5 6 7 8
- C.10 12 14 16
- D.出错
-
若在窗体模块的声明部分声明了如下自定义类型和数组:
Private Type rec
Code As Integer
Caption As St ring
End Type
Dim art(5)As rec
则下面的输出语句中正确的是( )。
- A.Print arr.Code(2),art.Caption(2)
- B.Print art.Code,arr.Caption
- C.Print arr(2).Code,arr(2).Caption
- D.Print Code(2),Caption(2)
-
默认情况下,下面声明的数组的元素个数是( )。
Dim(5,-2 To 2)
- A.20
- B.24
- C.25
- D.30
-
结构化程序设计的3种基本结构是( )。
- A.过程、子程序和分程序
- B.顺序、选择和重复
- C.递归、堆栈和队列
- D.调用、返回和转移
-
软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于( )。
- A.定义阶段
- B.开发阶段
- C.维护阶段
- D.上述三个阶段
-
算法的时间复杂度是指( )。
- A.算法的执行时间
- B.算法所处理的数据量
- C.算法程序中的语句或指令条数
- D.算法在执行过程中所需要的基本运算次数
-
设t=2,b=3,c=4,d=5,则下面语句输出的是( )。
Print3>2*b Or a=c And b<>c Or c>d
- A.False
- B.1
- C.True
- D.-1
-
有如下程序:
Private Type stu
X As String
Y As Integer
End Type
Private Sub Command1 Click( )
Dim a As stu
X="ABCD"
Y=12345
Print a
End Sub
程序运行时出现错误,错误的原因是( )。
- A.Type定义语句没有放在标准模块中
- B.变量声明语句有错
- C.赋值语句不对
- D.输出语句Print不对
-
数据库管理系统中负责数据模式定义的语言是( )。
- A.数据定义语言
- B.数据管理语言
- C.数据操纵语言
- D.数据控制语言
-
设有如下程序:
Private Sub Form. Click( )
Cls
- a$="1234j6"
- For i=1 To 6 Print Tab(12-i);________ Next i
- End Sub 程序运行后,单击窗体,要求结果如图所示,则在______处填入的内容为( )。
- A.Left(a$,i)
- B.Mid(a$,8-i,i)
- C.Right(a$,i)
- D.Mid(a$,7,i)
-
下列叙述中错误的是( )。
- A.列表框和组合框都有List属性
- B.列表框有Selected属性,而组合框没有
- C.列表框和组合框都有Style属性
- D.组合框有Text属性,而列表框没有
-
执行如下两条语句后,窗体上显示的是( )。
- a=9.8596 Print Format(a,"$00,00.00")
- A.0,009.86
- B.$9.86
- C.9.86
- D.$0,009.86
-
下列排序方法中,最坏情况下比较次数最少的是( )。
- A.冒泡排序
- B.简单选择排序
- C.直接插入排序
- D.堆排序
-
在窗体上画两个标签和一个命令按钮,其名称分别为Label1、Label2和Command1,然后编写下列程序:
Private Sub rune(L AS Labe1)
Caption="1234"
End Sub
Private Sub Form. Load( )
Labe11.Caption="ABCDE"
Labe12.Caption=10
End Sub
Private Sub Command1Click( )
- a=Va1(Label2.Caption)
- Call func(Label1) Label2.Caption a
- End Sub 程序运行后,单击命令按钮,则在两个标签中显示的内容分别为( )。
- A.ABCD和10
- B.1234和100
- C.ABCD和100
- D.1234和10
-
下列有关文件叙述中,正确的是( )。
- A.以0utput方式打开一个不存在的文件时,系统将显示出错信息
- B.以APPend方式打开的文件,即可以进行读操作,也可以进行写操作
- C.在随机文件中,每个记录的长度是固定的
- D.无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的
-
下面不能在信息框中输出“VB”的是( )。
- A.MsgBox"VB"
- B.MsgBox("VB")
- C.MsgBox("VB")
- D.Call MsgBox"VB"
-
在窗体上有两个名称分别为Text1、Text2的文本框,一个名称为Command1的命令按钮,运行后的窗体外观如图所示:
设有如下的类型和变量声明:
Private Type Person
name As STRING*8
major As String*20
End Type
Dim P As Person
设文本框中的数据已正确地赋值给Person类型的变量P,当点击“保存”按钮时,能够正确地把变量中的数据写入随机文件Test2.dat中的程序段是( )。
- A.Open"C:\Test2.dat"For Output As#1 Put#1,1,p
- Close#1
- B.0pen"c:\Test2.dat"For Random As#1
- Get#1,1,P
- Close#1
- C.Open”C:\Test2.dat”For Random As#1 Len—Len(p) Put#1,1,P
- Close#1
- D.Open"C:\Test2.dat"For Random As#1 Len=Len(p)
- Get#1,1,P
- Close#1
-
算法的空间复杂度是指( )。
- A.算法在执行过程中所需要的计算机存储空间
- B.算法所处理的数据量
- C.算法程序中的语句或指令条数
- D.算法在执行过程中所需要的临时工作单元数
-
以F叙述中错误的是( )。
- A.一个工程中只能有一个Sub Main过程
- B.窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体
- C.窗体的Hide方法和Unload方法的作用完全相同
- D.若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体
-
以下说法中正确的是( )。
- A.MouseUp事件是鼠标向上移动时触发的事件
- B.MouseUp事件过程中的X,Y参数用于修改鼠标位置
- C.在MouseUp事件过程中可以判断用户是否使用了组合键
- D.在MouseUp事件过程中不能判断鼠标的位置
-
设有如下程序:
Private Sub Form. Click( )
Dim ary(1 To 5)As Integer
Dim i As Integer
Dim sum As Integer
For i=1 To 5
- ary(i)=i+l sum=sum+ary(i) Next i Print sum
- End Sub 程序运行后,单击窗体,则在窗体上显示的是( )。
- A.15
- B.16
- C.20
- D.25
-
下列关于复选框的说法,正确的是( )。
- A.复选框的Enabled属性用于决定该复选框是否可见
- B.复选框的Value属性用于决定该复选框是否被选中
- C.复选框的Tabindex属性用于决定该复选框在控件数组中的序号
- D.复选框的Visible属性用于决定该复选框是否可用