资源描述
2023年3月全国计算机等级考试二级vb笔试试卷及参考答案
(考试时间 90分钟,满分100分)
一、选择题(每小题2分,共70分)
(1)下列关于栈叙述对的的是
A)栈顶元素最先能被删除 B)栈顶元素最后才干被删除
C)栈底元素永远不能被删除 D)以上三种说法都不对
(2)下列叙述中对的的是
A) 有一个以上根结点的数据结构不一定是非线性结构
B)只有一个根结点的数据结构不一定是线性结构
C)循环链表是非线性结构
D)双向链表是非线性结构
(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
A)3 B)4 C)6 D)7
(4)在软件开发中,需求分析阶段产生的重要文档是
A) 软件集成测试计划 B)软件具体设计说明书
C)用户手册 D)软件需求规格说明书
(5)结构化程序所规定的基本结构不涉及
A)顺序结构 B)GOTO跳转
C)选择(分支)结构 D)反复(循环)结构
(6)下面描述中错误的是
A)系统总体结构图支持软件系统的具体设计
B)软件设计是将软件需求转换为软件表达的过程
C)数据结构与数据库设计是软件设计的任务之一
D)PAD图是软件具体设计的表达工具
(7)负责数据库中查询操作的数据库语言是
A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言
(8)一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是
A)1:1联系 B)1:m联系 C)m:1联系 D)m:n联系
(9)有三个关系R、S和T如下:
R S T
C
1
A
B
C
A
1
2
B
2
1
C
3
1
A
B
c
3
则由关系R和S得到关系T的操作是
A)自然连接 B)交 C)除 D)并
(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}
(11)在Visual Basic集成环境中,可以列出工程中所有模块名称的窗口是
A)工程资源管理器窗口 B)窗体设计窗口
C)属性窗口 D)代码窗口
(12)假定编写了如下4个窗体事件的事件过程,则运营应用程序并显示窗体后,已经执行的事件过程是
A)Load B)Click C)LostFocus D)KeyPress
(13)为了使标签具有“透明”的显示效果,需要设立的属性是
A) Caption B) Alignment C) BackStyle D) AutoSize
(14)下面可以产生20-30(含20和30)的随机整数的表达式是
A) Int(Rnd*10+20) B) Int(Rnd*11+20)
C) Int(Rnd*20+30) D) Int(Rnd*30+20)
(15)设窗体上有一个名称为HS1的水平滚动条,假如执行了语句:
HS1.Value=(HS1.Max-HS1.Min)/2+HS1.Min 则
A)滚动块处在最左端
B)滚动块处在最右端
C)滚动块处在中间位置
D)滚动块也许处在任何位置,具体位置取决于Max、Min属性的值
(16)窗体上有一个名称为Cb1的组合框,程序运营后,为了输出选中的列表项,应使用的语句是
A)Print Cb1.Selected
B)Print Cb1.List(Cb1.ListIndex)
C)Print Cb1.Selected.Text
D)Print Cb1.List(ListIndex)
(17)为了在窗体上建立2组单选按钮,并且当程序运营时,每组都可以有一个单选按钮被选中,则以下做法中对的的是
A) 把这2组单选按钮设立为名称不同的2个控件数组
B) 使2组单选按钮的Index属性分别相同
C) 使2组单选按钮的名称分别相同
D) 使2组单选按钮分别画到2个不同的框架中
(18)假如一个直线控件在窗体上呈现为一条垂直线,则可以拟定的是
A)它的Y1、Y2属性的值相等
B)它的X1、X2属性的值相等
C)它的X1、Y1属性的值分别与X2、Y2属性的值相等
D)它的X1、X2属性的值分别与Y1、Y2属性的值相等
(19)设a=2,b=3,c=4,d=5,则下面语句的输出是
Print 3>2*b Or a=c And b<>c Or c>d
A) False B) 1 C) True D) -1
(20)窗体Form1上有一个名称为Command1的命令按钮,以下相应窗体单击事件的事件过程是
A) Private Sub Form1_Click()
…
End Sub
B) Private Sub Form_Click()
…
End Sub
C) Private Sub Command1_Click()
…
End Sub
D) Private Sub Command_Click()
…
End Sub
(21)默认情况下,下面声明的数组的元素个数是
Dim a(5,-2 to 2)
A)20 B)24 C)25 D)30
(22)设有如下程序段
Dim a(10)
……
For Each x In a
Print x;
Next x
在上面的程序段中,变量x必须是
A) 整型变量 B)变体型变量 C)动态数组 D)静态数组
(23) 设有以下函数过程
Private Function Fun(a() As Integer, b As String)As Integer
…
End Function
若已有变量声明:
Dim x(5)As Integer,n As Integer,ch As String
则下面对的的过程调用语句是
A. x(0)=Fun(x,"ch") B. n=Fun(n,ch)
C. Call Fun x,"ch" D. n=Fun(x(5),ch)
(24)假定用下面的语句打开文献:
Open“Filel.txt”ForInput AS #1
则不能对的读文献的语句是
A) Input #1 ,ch$ B) Line Input #1,ch$
C) ch$=Input$(5,#1) D) Read #1 ,ch$
(25)下面程序执行结果是
Private Sub Command 1_Click()
a=10
For k=1 To 5 Step-1
a=a-k
Next k
Print a ;k
End Sub
A) -5 6 B) -5 -5 C)10 0 D) 10 1
(26)设窗体上有一个名为Text1 的文体框和一个名为Command1 的命令按钮,并有以下事件过程:
Private Sub Command 1_Click()
X!=Val(Text1.Text)
Select Case 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 Select
End Sub
程序运营时,假如在文本框中输入-5,则单击命令按钮后的输出结果是
A) 5 B) 20 C) 25 D) 输入错误
(27)设有如下程序
Private Sub Command 1_Click()
X=10:y=0
For i=1 To 5
Do
x=x-2
y=y+2
Loop Unti1 y>5 Or x<-1
Next
End Sub
运营程序,其中Do循环执行的次数是
A) 15 B) 10 C) 7 D) 3
(28)阅读程序
Private Sub Command 1_ Click
Dim arr
Dim i As Integer
Arr=Array (0,1,2,3,4,5,6,7,8,9,10)
For i=0 To 2
Printarr(7 –i);
Next
End Sub
程序运营后,窗体上显示的是:
A) 8 7 6 B) 7 6 5
C) 6 5 4 D) 5 4 3
(29)在窗体上画一个名为Command 1的命令按钮,然后编写以下程序:
Private Sub Command 1_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
运营程序,单击命令按钮,输出结果是
A) 18 B) 12 C)8 D)6
(30)窗体上有一个名为Command 1 的命令按钮,并有如下程序:
Private Sub Command 1_Click()
Dim a(10),x%
For k=1 To 10
a(k)=Int(Rnd*90+10)
x=x+a(k) Mod 2
Next k
Print x
End Sub
程序运营后,单击命令按钮,输出结果是:
A) 10个数中奇数的个数 B) 10个数中偶数的个数
C) 10个数中奇数的累加和 D) 10个数中偶数的累加和
(31) 窗体上有一个名为 Command 1的命令按钮和一个名为Timer 1 的计时器,并有下面的事件过程:
Private Sub Command 1_Click()
Timer 1.Enabled=True
End Sub
Private Sub Form _Load()
Timer 1.Interval=10
Timer 1.Enabled=False
End Sub
Private Sub Timer 1_Timer()
Command 1.Left=Command 1.Left+10
End Sub
程序运营时,单击命令按钮,则产生的结果是
A) 命令按钮每10秒向左移动一次
B) 命令按钮每10秒向右移动一次
C) 命令按钮每10毫秒向左移动一次
D) 命令按钮每10毫秒向右移动一次
(32)设窗体上有一个名为List1 的列表框,并编写下面的事件过程:
Private Sub List 1_Click()
Dim ch AS String
ch=List 1.List(List1.ListIndex)
List 1.RemoveItem List1.ListIndex
List 1.AddItem ch
End Sub
程序运营时,单击一个列表项,则产生的结果是
A) 该列表项被移到列表的最前面 B) 该列表项被删除
C) 该列表项被移到列表的最后面 D) 该列表项被删除后又在原位置插入
(33)窗体上有一个名为Command1的命令按钮,并有如下程序:
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 8
b = 12
Print Fun(a, b); a; b
End Sub
Private Function Fun(ByVal a As Integer, b As Integer) As Integer
a = a Mod 5
b = b \ 5
Fun = a
End Function
程序运营时,单击命令按钮,则输出结果是
A)3 3 2
B)3 8 2
C)8 8 12
D)3 8 12
(34)为了从当前文献夹中读入文献File1.txt,某人编写了下面的程序:
Private Sub Command1_Click()
Open "File1.txt" For Output As #20
Do While Not EOF(20)
Line Input #20, ch$
Print ch
Loop
End Sub
程序调试时,发现有错误,下面的修改方案中对的的是
A)在Open语句中的文献名前添加途径
B)把程序中各处的“20”改为“1”
C)把Print ch 语句改为Print #20,ch
D)把Open语句中的Output改为Input
(35)以下程序运营后的窗体如图所示,其中组合框的名称是Combo1,已有列表项如图所示;命令按钮的名称是Command1。
Private Sub Command1_Click()
If Not check(Combo1.Text) Then
MsgBox ("输入错误")
Exit Sub
End If
For k = 0 To Combo1.ListCount - 1
If Combo1.Text = Combo1.List(k) Then
MsgBox ("添加项目失败")
Exit Sub
End If
Next k
Combo1.AddItem Combo1.Text
MsgBox ("添加项目成功")
End Sub
Private Function Check(ch As String) As Boolean
n = Len(ch)
For k = 1 To n
c$ = UCase(Mid(ch, k, 1))
If c < "A" Or c > "Z" Then
Check = False
Exit Function
End If
Next k
Check = True
End Function
程序运营时,假如在组合框的编辑区中输入“Java”,则单击命令按钮后产生的结果是
A) 显示“输入错误” B) 显示“添加项目失败”
C) 显示“添加项目成功” D) 没有任何显示
二、填空题(每空2分,共30分)
请将每空的对的答案写在答题卡1:至15:序号的横线上,答在试卷上不得分。
(1)有序线性表能进行二分查找的前提是该线性表必须是[1]顺序存储的。
解析:二分查找只合用于顺序存储的有序线性表。
(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为[2]DEBFCA。
(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为[3]单元
解析:单元测试是对软件设计的最小单位——模块(程序单元)进行对的性检查的测试。单元测试的目的是发现各模块内部也许存在的各种错误。
(4)实体完整性约束规定关系数据库中元组的[4]主键属性值不能为空。
解析:实体完整性约束规定关系的主键中属性值不能为空值,由于主键是惟一决定元组的,如为空值则其惟一性就成为不也许的了。
(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称[5] D是关系A的外码。
解析:假如表A中的某属性集是某表B的键,则称该属性集为A的外键或外码。
(6)在窗体上有1个名称为Command1的命令按钮,并有如下事件过程和函数过程:
Private Sub Command1_Click()
Dim p As Integer
p = m(1) + m(2) + m(3)
Print p
End Sub
Private Function m(n As Integer) As Integer
Static s As Integer
For k = 1 To n
s = s + 1
Next
m = s
End Function
运营程序,单击命令按钮Command1后的输出结果为[6]10
(7)在窗体上画1个名称为Command1的命令按钮,然后编写如下程序:
Private Sub Command1_Click()
Dim m As Integer, x As Integer
Dim flag As Boolean
flag = False
n = Val(Intputbox("请输入任意1个正整数"))
Do While Not flag
a = 2
flag = [7] True
Do While flag And a <= Int(Sqr(n))
If n / a = n \ a Then
flag = False
Else
[8] a=a+1
End If
Loop
If Not flag Then n = n + 1
Loop
Print [9] n
End Sub
上述程序的功能是,当在键盘输入任意的1个正整数时,将输出不小于该整数的最小素数。请填空完善程序。
(8)以下程序的功能是,先将随机产生的10个不同的整数放入数组a中,再将这10个数按升序方式输出。请填空。
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer
Randomize
i = 0
Do
num = Int(Rnd * 90) + 10
For j = 1 To I ’检查新产生的随机数是否与以前的相同,相同的无效
If num = a(j) Then
Exit For
End If
Next j
If j > i Then
i = i + 1
a(i) = [10] num
End If
Loop While i < 10
For i = 1 To 9
For j = [11] i+1 To 10
if a(i)>a(j) then temp =a(i),a(i)=a(j);[12] a(j)=temp
Next j
Next i
For i = 1 To 10
Print a(i)
Next i
End Sub
(9)窗体上已有名称分别为Drive1、Dir1、File1的驱动器列表框、目录列表框和文献列表框,且有1个名称为Text1的文本框。以下程序的功能是:将指定位置中扩展名为“.txt”的文献显示在File1中,假如双击File1中某个文献,则在Text1中显示该文献的内容。请填空。
Private Sub Form_Load()
File1.Pattern = [13] *.txt
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub File1_DblClick()
Dim s As String * 1
If Right(File1.Path, 1) = "\" Then
f_name = File1.Path + File1.FileName
Else
f_name = File1.Path + "\" + File1.FileName
End If
Open f_name [14] For Input As #1
Text1.Text = ""
Do While [15]NOT EOF(1)
s = Input(1, #1)
Text1.Text = Text1.Text + s
Loop
Close #1
End Sub
2023年3月全国计算机等级考试二级VB笔试试卷答案
选择题:
1-5 AADDB 6-10 BCDCB
11-15 AACBC 16-20 BDBAB
21-25 DBACD 26-30 CCBAA
31-35 DCBDB
填空题
1、顺序 2、DEBFCA 3、单元 4、主键 5、D
6、10 7、Ture 8、a=a+1 9、n 10、num
11、i 12、a(j)=temp 13、”*.txt|*.txt”
14、for input 15、not eof(1)
具体解析:
1.答案:A
解析:栈的特点是“先进后出,后进先出”的线性结构,进栈又称为入栈最先进入栈的数据元素会被压入栈底,最后进入栈的元素所在位置称为栈顶,出栈又称为退栈即将元素从栈中删除,将元素退栈是先将栈顶的元素退栈,对于栈的运营原理可参考快动网公共基础知识视频教程。所以上边选项对的的是A。
2. 答案:B
解析: A错误,符合线性结构的特点是:(1)有且只有一个根结点(2)每一个结点最多只有一个前件,也最多只有一个后件,根据题意不一定是非线性结构即指的是线性结构,那么根据线性结构的特点只有一个根结点,所以选项A叙述错误。
B对的,比如二叉树是一个非线性结构,二叉树就是一个根结点,所以该选数对的。
C和D叙述错误,循环链表和双向链表都是线性结构。
3. 答案: D
解析:根据二叉树的性质,叶子结点即度为0的结点个数总比度为2的结点个数多1,根据题目内容可知度为2的结点个数为0,由于叶子结点只有1个,由于二叉树的结点类型有三种:度为0,度为1,度为2,根据题目内容可知二叉树共有7个结点所以度为1的结点个数是6,度为1表达结点只有一个分支,这个分支可以是左子树或右子树.
4. 答案: D
解析:在软件开发过程中,需求分析阶段产生的重要文档是软件需求规格说明书。
A错误,集成测试计划是在概要设计阶段编写的文档。
B错误,具体设计阶段产生的文档是软件具体设计说明书。
C错误,用户手册是在软件实现阶段要完毕文档。
D对的。 需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
5. 答案:B
解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。
以上选项B所说的GOTO结构是错误的,goto只是一种编程指令不是一种程序结构。
6.答案:A
解析:系统总体结构图描述了软件系统的结构这是概要设计阶段的任务,具体设计阶段正是在概要设计阶段之后要进行工作。
软件设计是将软件需求转换为软件表达的过程;数据结构与数据库设计是软件设计的任务之一;PAD图,即问题分析图,是一种重要用于描述软件具体设计的图形工具。
C对的,数据结构和数据库设计是概要设计阶段的任务。
D对的,具体设计的表达具涉及:程序流程图,N-S,PAD,HIPO等。
7.答案:C
解析:用户通过数据定义语言可以方便地对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义。用户通过数据操纵语言可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
所以该题目选择C。
8. 答案:D
解析:一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程的联系是多对多的联系。
9. 答案:C
解析:
A错误,自然连接是关系的横向运算。连接运算将两个关系横向地拼接成一个更宽的关系所以T关系不是R和S的自然连接后的结果。
B错误,关系R与关系S经交运算后所得到的关系是既在R中又在S中的元组组成,题目中的T关系的元组在S中不存在。
C对的。
D错误。并是两个关系的和集,从上图可以看出T不是R和S的和
10.答案:B
解析:UInt表达的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A)和选项C),选项D)是整数集合,所以也排除。
11.答案:A
12.答案:A
解析:Load事件用来在启动程序时对属性和变量进行初始化,在装入窗体后,假如运营程序,将自动触发该事件。
13.答案:C
解析:Caption属性用来在标签中显示文本;Alignment属性用来拟定标签中标签的放置方式
;AutoSize属性设立标签是否根据标题的长度自动调整大小;BackStyle属性可以取两个值,当值为1时,标签将覆盖背景,当值为0时,则标签具有“透明”的显示效果。
14.答案:B
解析:Rnd函数用来生成范围在[0,1)之间的随机数。
15.答案:C
解析:本题中语句的设立效果是将滚动条的Value值设为当前滚动条刻度个数的1/2再加上Min值,此值正好为滚动条的中间位置,而Value值用来设立滚动块的位置,故答案为C。
16.答案:B
17.答案:D
解析:当窗体上有多个单选按钮时,假如选择其中的一个,其他单选按钮将自动关闭。当需要在同一个窗体上建立几组互相独立的单选按钮时,则必须通过框架为单选按钮分组,使得在一个框架内的单选按钮为一组,每个框架内的单选按钮操作不影响其他组的按钮。
18.答案:B
解析:平行线的Y1、Y2属性的值相等;垂直线的X1、X2属性的值相等。
19.答案:A
解析:分别计算表达式3>2*b;a=c And b<>c;c>d的值,其值均为False,则输出为False。
20.答案:B
21.答案:D
解析:VB中数组下标默认从0开始,数组定义的值为数组可取的最大值,因此第一维可取值为6个,第二维可取值为:-2,-1,0,1,2,为5个,故数组元素个数为5*6=30个。
22.答案:B
解析:在For Each…Next语句中,x为一个变体变量,它是为循环提供的,并在For Each…Next结构中反复使用,它事实上代表的是数组中的每个元素。
23.答案:A
24.答案:D
解析:本题打开的是顺序文献,读取方式有:Input #语句,Line Input #语句,Input函数,故答案选D。
25.解析:本题For循环的步长为-1,但题中给出的初始值比终止值小,因此循环未执行,故a值未变,仍为10。k值需被赋值为1后与5作比较才知道大小,故k值为1。
26.答案:C
解析:本题考察的知识点是Select Case语句,其功能是根据“测试表达式”的值(本题中测试表达式为x),从多个语句块中选择符合条件的一个语句块执行。
27.答案:C
解析:本题需要注意区分Do Until…Loop语句和Do…Loop Until语句。后者为后判断条件的循环语句,无论初始条件是否满足都至少执行一次循环,当条件满足时跳出循环。
28.答案:B
解析:本题中,arr被Array函数定义为数组并被赋初值;For循环中i的值为0到2,那么,7-i的值为7,6,5;Print arr(7-i)也就是输出arr(7),arr(6),arr(5)的值,即输出7,6,5。
29.答案:A
30.答案:A
解析:Mod函数为求余函数,与2取余,值为0表达为偶数,值为1表达为奇数。因加上0对x的值并无影响,加上1表达有一个奇数,因此答案为A。
31.答案:D
解析:Interval属性的单位为毫秒。
32.答案:C
解析:RemoveItem方法作用是删除项;AddItem方法作用是添加项,若省略Index值,则默认为插入到列表的最后面。
33.答案:B
34.答案:D
解析:本题规定从当前文献夹中读入文献,因此在Open语句中应使用输入(Input)打开文献。
35.答案:B
展开阅读全文