资源描述
2023年9月全国计算机等级考试二级VB真题
一、选择题(每题2分,共70分)
(1)下列数据结构中,属于非线性结构的是
A)循环队列
B) 带链队列
C) 二叉树
D)带链栈
(2)下列数据结果中,可以按照“先进后出”原则存取数据的是
A) 循环队列
B) 栈
C) 队列
D) 二叉树
(3)对于循环队列,下列叙述中对的的是
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针
(4)算法的空间复杂度是指
A)算法在执行过程中所需要的计算机存储空间
B)算法所解决的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数
(5)软件设计中划分模块的一个准则是
A) 低内聚低耦合
B) 高内聚低耦合
C) 低内聚高耦合
D) 高内聚高耦合
(6)下列选项中不属于结构化程序设计原则的是
A) 可封装
D) 自顶向下
C) 模块化
D) 逐步求精
(7)软件具体设计产生的图如下:
该图是
A) N-S图
B) PAD图
C) 程序流程图
D) E-R图
(8)数据库管理系统是
A)操作系统的一部分
B) 在操作系统支持下的系统软件
C) 一种编译系统
D) 一种操作系统
(9)在E-R图中,用来表达实体联系的图形是
A) 椭圆图
B) 矩形
C) 菱形
D) 三角形
(10)有三个关系R,S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为
A)选择
B)投影
C)交
D)并
(11)以下变量名中合法的是
A)x2-1
B)print
C)str_n
D)2x
(12)把数学表达式 图1 表达为对的的VB表达式应当是
A)(5x+3)/(2y-6)
B)x*5+3/2*y-6
C)(5*x+3) l图2 (2*y-6)
D)(x*5+3)/(y*2-6)
(13)下面有关标准模块的叙述中,错误的是
A)标准模块不完全由代码组成,还可以有窗体
B)标准模块中的Private过程不能被工程中的其他模块调用
C)标准模块的文献扩展名为.bas
D)标准模块中的全局变量可以被工程中的任何模块引用
(14)下面控件中,没有Caption属性的是
A)复选框
B)单选按钮
C)组合框
D)框架
(15)用来设立文字字体是否斜体的属性是
A)FontUnderline
B)FontBold
C)FontSlope
D)FontItalic
(16)若看到程序中有以下事件过程,则可以肯定的是,当程序运营时
Private Sub Click_MouseDown(Button As Integer,_Shift As Integer,X As Single,Y As Single)
Print “VB Program”
End Sub
A)用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程
B)用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程
C)用鼠标左键单击名称为“MouseDown”的控件时,执行此过程
D)用鼠标左键或右键单击名称为“Click”的控件时,执行此过程
(17)可以产生30-50(含30和50)之间的随机整数的表达式是
A)Int(Rnd*21+30)
B)Int(Rnd*20+30)
C)Int(Rnd*50-Rnd*30)
D)Int(Rnd*30+50)
(18)在程序运营时,下面的叙述中对的的是
A)用鼠标右键单击窗体中无控件的部分,会执行窗体的Form_Load事件过程
B)用鼠标左键单击窗体的标题栏,会执行窗体的Form_Click事件过程
C)只装入而不显示窗体,也会执行窗体的Form_Load事件过程
D)装入窗体后,每次显示该窗体时,都会执行窗体的Form_Click事件过程
(19)窗体上有名称为Command1的命令按钮和名称为Text1的文本框
Private Sub Command1_Click()
Text1.Text=”程序设计”
Text1.SetFocus
End Sub
Private Sub Text1_GotFocus()
Text1.Text=”等级考试”
End Sub
运营以上程序,单击命令按钮后
A)文本框中显示的是“程序设计”,且焦点在文本框中
B)文本框中显示的是“等级考试”,且焦点在文本框中
C)文本框中显示的是“程序设计”,且焦点在命令按钮上
D)文本框中显示的是“等级考试”,且焦点在命令按钮上
(20)设窗体上有名称为Option1的单选按钮,且程序中有语句:
If Options.Value=True Then
下面语句中与该语句不等价的是
A)If Option.Value Then
B)If Option1=True Then
C)If Value=True Then
D)If Option1 Then
(21)设窗体上有1个水平滚动条,已经通过属性窗口把它的Max属性设立为1,Min属性设立为100。下面叙述对的的是
A)程序运营时,若使滚动块向左移动,滚动条的Value属性值就增长
B)程序运营时,若使滚动块向左移动,滚动条的Value属性值就减少
C)由于滚动条的Max属性值下于Min属性值,程序会犯错
D)由于滚动条的Max属性值下于Min属性值,程序运营时滚动条的长度会缩为一点,滚动块无法移动
(22)有如下过程代码:
Sub var_dim()
Static numa As Integer
Dim numb As Integer
numa=numa+2
numb=numb+1
print numa;numb
End Sub
连续3次调用var_dim过程,第3次调用时的输出是
A)2 1
B)2 3
C)6 1
D)6 3
(23)在窗体上画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
(24)在窗体上画1个命令按钮,并编写如下事件过程:
Private Sub Command1_Click()
Dim a(3,3)
For m=1 To 3
For n=1 To 3
If n=m Or n=4-m Then
a(m,n)=0
End If
Print a(m,n);
Next n
Print
Next m
End Sub
运营程序,单击命令按钮,窗体上显示的内容为
A)2 0 0
0 4 0
0 0 6
B)2 0 4
0 4 0
4 0 6
C)2 3 0
3 4 0
0 0 6
D)2 0 0
0 4 5
0 5 6
(25)设有以下函数过程
Function fun(a As Integer,b As Integer)
Dim c As Integer
If a<b Then
c=a:a=b:b=c
End If
c=0
Do
c=c+a
Loop Until c Mod b=0
fun=c
End function
若调用函数fun时的实际参数都是自然数,则函数返回的是
A)a、b的最大公约数
B)a、b的最小公倍数
C)a除以b的余数
D)a除以b的商的整数部分
(26)窗体上有1个名称为Text1的文本框;1个名为Timer1的计时器控件,其Interval属性值为5000,Enable属性值是True。Timer1的事件过程如下:
Private Sub Timer1_Timer()
Static flag As Integer
If flag=0 Then flag=1
flag=-flag
If flag=1 Then
Text1.ForeColor=&HFF& ‘&HFF&为红色
Else
Text1.ForeColor=&HC000& ‘&HC000&为绿色
End If
End Sub
以下叙述对的的是
A)每次执行些事件过程时,flag的初始值为0
B)flag的值只也许取0或1
C)程序执行后,文本框的文字每5秒改变一次颜色
D)程序有逻辑错误,Else分支总也不能被执行
(27)为计算1+2+22+23+24+…+210的值,并把结果显示在文本框Text1中,若编写如下事件过程:
Private Sub Command1_Click()
Dim a%,s%,k%
s=1
a=2
For k=2 To 10
a=a*2
s=s+a
Next k
Text1.Text=s
End Sub
执行此事件过程后发现结果是错误的,为可以得到对的结果,应做的修改是
A)把s=1改为s=0
B)把For k=2 To 10改为For k=1 To 10
C)互换语句s=s+a和a=a*2的顺序
D)同时进行B)、C)两种修改
(28)标准模块中有如下程序代码:
Public x As Integer,y As Integer
Sub var_pub()
x=10:y=20
End Sub
在窗体上有1个命令按钮,并有如下事件过程:
Private Sub Command1_Click()
Dim x As Integer
Call var_pub
x=x+100
y=y+100
Print x;y
End Sub
运营程序后单击命令按钮,窗体上显示的是
A)100 100
B)100 120
C)110 100
D)110 120
(29)设a、b都是自然数,为求a除以b的余数,某人编写了以下函数:
Function fun(a As Integer,b As Integer)
While a>b
a=a-b
Wend
fun=a
End Function
在调试时发现函数是错误的。为使函数能产生对的的返回值,应做的修改是
A)把a=a-b改为a=b-a
B)把a=a-b改为a=a\b
C)把While a>b改为While a<b
D)把While a>b改为While a>=b
(30)下列关于通用对话框CommonDialog1的叙述中,错误的是
A)只要在“打开”对话框中选择了文献,并单击“打开”按钮,就可以将选中的文献打开
B)使用CommonDialog1.ShowColor方法,可以显示“颜色”对话框
C)CancelError属性用于控制用户单击“取消”按钮关闭对话框时,是否显示犯错误警告
D)在显示“字体”对话框前,必须先设立CommonDialog1的flags属性,否则会犯错
(31)在运用菜单编辑器设计菜单时,为了把组合键“Alt+X”设立为“退出(X)”菜单项的访问键,可以将该菜单项的标题设立为
A)退出(X&)
B)退出(&X)
C)退出(X#)
D)退出(#X)
(32)在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,再编写如下程序:
Dim ss As String
Private Sub Text1_KeyPress(KeyAscii As integer)
If chr(KeyAscii)<>””Then ss=ss+chr(KeyAscii)
End Sub
Private Sub Command1_Click()
Dim m As String,i As Integer
For i=Len(ss) To 1 step -1
m=m+Mid(ss,i,1)
Next
Text1.Text=Ucase(m)
End Sub
程序运营后,在文本框中输入“Number100”,并单击命令按钮,则文本框中显示的是
A)NUMBER 100
B)REBMUN
C)REBMUN 100
D)001 REBMUN
(33)窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enable属性值是True。规定程序运营后,圆每秒向右移动100,当圆碰到Line2时则停止移动。
为实现上述功能,某人把计时器的Interval属性设立为1000,并编写了如下程序:
Private Sub Timer1_Timer()
For k=Line1.X1 To Line2.X1 Step 100
If Shape1.Left+Shape1.Width<Line2.X1 Then
Shape1.Left=Shape1.Left+100
End If
Next k
End Sub
运营程序时发现圆立即移动到了右边的直线处,与题目规定的移动方式不符。为得到与题目规定相符的结果,下面修改方案中对的的是
A)把设计器的Interval属性设立为1
B)把For k=Line1.X1 To Line2.X1 Step 100和Next k两行删除
C)把For k=Line1.X1 To Line2.X1 Step 100改为For k=Line2.X1 To Line1.X1 Step 100
D)把If Shape1.Left+Shape1.Width<Line2.X1 Then改为If Shape1.Left <Line2.X1 Then
(34)下列有关文献的叙述中,对的的是
A)以Output方式打开一个不存在的文献时,系统将显示犯错信息
B)以Append方式打开的文献,既可以进行读操作,也可以进行写操作
C)在随机文献中,每个记录的长度是固定的
D)无论是顺序文献还是随机文献,其打开的语句和打开方式都是完全相同的
(35)窗体如图1所示。规定程序运营时,在文本框Text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现此功能:
Private Sub Command1_Click()
Dim n%,k%
n=Len(Text1.Text)
For k=0 To List1.ListCount-1
If Left(List1.List(k),n)=Text1.Text Then
List1.RemoveItem 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
二、填空题(每空2分,共30分)
(1)某二叉树有5个度为2的结点以及3个度为1的结点为,则该二叉树共有 【1】 个结点。
(2)程序流程图中的菱形框表达的是 【2】 。
(3)软件开发过程重要分为需求分析、设计、编码与测试四个阶段,其中 【3】 阶段产生“软件需求规格说明书”。
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 【4】 。
(5)人员基本信息一般涉及:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是 【5】 。
(6)工程中有Form1、Form2两个窗体。Form1窗体外观如图1所示。程序运营时,在Form1中名称为Text1的文本框中输入一个数值(圆的半径),然后单击命令按钮“计算并显示”(其名称为Command1),则显示Form2窗体,且根据输入的圆的半径计算圆的面积,并在Form2的窗体上显示出来,如图2所示。假如单击命令按钮时,文本框中输入的不是数值,则用信息框显示“请输入数值数据!”请填空。
Private Sub Command1_Click()
If Text1.Text=”” Then
MsgBox “请输入半径!”
Else If Not IsNumeric( 【6】 ) Then
MsgBox “请输入数值数据!”
Else
r=val( 【7】 )
Form2.show
【8】 .Print “圆的面积是”&3.14*r*r
End If
End Sub
(7)设有整形变量s,取值范围为0~100,表达学生的成绩。有如下程序段:
If s>=90 Then
Level=”A”
Else If s>=75 Then
Level=”B”
Else If s>=60 Then
Level=”B”
Else
Level=”D”
End If
下面用SelectCase结构改写上述程序,使两段程序所实现的功能完全相同。请填空。
Select Case s
Case 【9】 >=90
Level=”A”
Case 75 To 89
Level=”B”
Case 60 To 74
Level=”B”
Case 【10】
Level=”D”
【11】
(8)窗体上有名称为Command1的命令按钮。事件过程及2个函数过程如下:
Private Sub Command1_Click()
Dim x As Integer,y As Integer,z
x=3
y=5
z=fy(y)
print fx(fx(x)),y
End Sub
Function fx(ByBal a As Integer)
a=a+a
fx=a
End Function
Function fy(ByRef a As Integer)
a=a+a
fy=a
End Function
运营程序,并单击命令按钮,则窗体上显示的2个值依次是 【12】 和 【13】 。
(9)窗体上有名称为Command1的命令按钮及名称为Text1、能显示多行文本的文本框。程序运营后,假如单击命令按钮,则可打开磁盘文献c:\test.txt,并将文献中的内容(多行文本)显示在文本框中。下面是实现此功能的程序,请填空。
Private Sub Command1_Click()
Text1=””
Number=FreeFile
Open “c:\test.txt”For Input As Number
Do While Not Eof( 【14】 )
Line Input #Number,s
Text1.Text=Text1.Text+ 【15】 +Chr(13)+Chr(10)
Loop
Close Number
End Sub
一、选择题
(1)
C
(2)
B
(3)
D
(4)
A
(5)
B
(6)
A
(7)
C
(8)
B
(9)
C
(10)
D
(11)
C
(12)
D
(13)
A
(14)
C
(15)
D
(16)
D
(17)
A
(18)
C
(19)
B
(20)
C
(21)
A
(22)
C
(23)
A
(24)
B
(25)
D
(26)
C
(27)
D
(28)
B
(29)
D
(30)
A
(31)
B
(32)
D
(33)
B
(34)
C
(35)
A
二、填空题
(6)Text1.Text
Text1.Text
Form2
(7)IS
ELSE
END Select
(8)12
10
(9)Number
s学习使人进步,相信能就一定能成功
展开阅读全文