计算机二级VB笔试真题

学人智库 时间:2018-01-15 我要投稿
【www.unjs.com - 学人智库】

  一、选择题(每小题2分,共70分)

  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

  (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)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ

  (7)某二叉树中有n个度为2的结点则该二叉树中的叶子结点数为

  A)n+1 B )n-1 C)2n D)n/2

  (8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 。

  A)井 B)交 C)投影 D)笛卡儿乘积

  (9)在E-R图中,用来表示实体之是联系的图形是 。

  A) 矩形 B)椭圆形 C)菱形 D)平行四边形

  (10)下列叙述中错误的是 。

  A)在数据库系统中,数据的物理结构必须与逻辑结构一致.

  B)数据库技术的根本目标是要解决数据的共享问题

  C)数据库设计是指在已有数据库管理系统的基础上建立数据库

  D)数据库系统需要操作系统的支持

  (11)下面可以正确定义2个整型变量和1个字符串变量的语句是

  A)Dim n,m As Integer,s As String B)Dima%,b$,cAs Strimg

  C)Dim a As Imeger,b,c As String D)DimX%,yAS Integer,z As String

  (12)下列表达试中不能判断X是否为偶数的是

  A)X/2=Int(X/2) B)X Mod 2=0

  C)Fix(x/2)=x/2 D)x2=0

  (13)设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面述中正确的是

  A) 窗体的Click事件过程的过程名是Myform_Click

  B)命令按钮的Click事件过程的过程名是C1_Click

  C)命令按钮的Click事件过程的过程名是Command l_Click

  D)上述3种过程名称都是错误的

  (14)设窗体上有1个滚动条,要求单击滚动条右端的按钮一次,滚动块移动一定的刻度值,决定此刻度值的属性是

  A)Max B)Min C)SmallChange D)Large Change

  (15)1个二维数组可以存放大1个矩阵。在程序开始有语句Option Base0,则下面定义的数组中正好可以存放大1个4×3矩阵(即只有12个元素)的是

  A)Dim a(-2 To 0,2)As Integer B)Dim a(3.2)As Integer

  C)Dim a(4,3)AS Integer D)Dim a(-1To -4,-1To-3)AS Integer

  (16)若设置了文本框的属性PasswordChar=“$”,则运行程序时间向文本框中输入8个任意字符后,文本框中显示的是

  A)8个“$” B)1个“$” C)8个“*” D)无任何内容

  (17)设在窗体上有1个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是

  A)Combol.Removeltem Combol.Text B)Combol.RemoveItem4

  C) Combol.Removeltem Combol.ListCount D) Combol.RemoveItem5

  (18)工程中有2个窗体,名称分别为Forml、Form2,From1为启动窗体,该窗体上有命令按钮Cimmand1。要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是

  A)Private Sub Commandl_Click() B) Private Sub Commandl_Click()

  Form2.Show Fom2.Visible

  End Sub End Sub

  C) Private Sub Commandl_Click() D) Private Sub Commandl_Click()

  Load Fom2 Form2、Lusd

  End Sub End Sub

  (19)若在某窗体模块中有如下事件过程

  Private Sub Commandl_Click(Index As Integer)

  ……

  End Sub

  则以下叙述中正确的是

  A)此事件过程与不带参数的事件过程没有区别

  B)有1个名称为Command1的窗体,单击此窗体则执行此事件过程

  C)有1个名称为Command1的控件数组,数组中有多个不同类型控件

  D)有1个名称为Command1的控件数组,数组中有多个相同类型控件

  (20)下面循环语句中在任何情况下都至少执行一次循环体的是

  A)Do While <.条件> B)While <条件>

  循环体 循环体

  Loop Wend

  C)Do D)Do Until <条件>

  循环体 循环体

  Loop Until <条件> Loop

  (21)在窗体上有1个名为Cd1的通用对话框,为了在运行程序时打开保存文件对话框,则在程序中应使用的语句是

  A)Cdl,Actiom=2 B)Cdl,Actiom=1

  C)Cdl,ShowSave=True D)Cd1,ShowSave=0

  (22)下面关于菜单的叙述中错误的是

  A)各级菜单中的所有菜单项的名称必须唯一

  B)同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同

  C)弹出式菜单用PopupMenu方法弹出

  D)弹出式菜单也用菜单编辑器编辑

  (23)已知有下面过程

  Private Sub procl(aAs Integer,b As String,Optional x As Boolean)……

  End Sub

  正确调用此过程的语句是

  A)Call procl(5) B)Call procl 5,“abc”,False

  C)procl(12,“abc”,True) D)procl 5.“abc”

  (24)在窗体上有1个名称为Texrl的文本框1个名称为Commandl r 命令按钮,要老求在程序执行时,每单击命令按钮一次,文本框向右移动一定距离,下面能够正确实现上述功以的程序是

  A)Private Sub Commandl_Click() B) Private Sub Commandl_Click()

  Textl.left=100 Textl.Left=Textl.Left.100

  End Sub End Sub

  C) Private Sub Commandl_Click() D) Private Sub Commandl_Click()

  Textl.Move Teft+100 Textl.Move Textl.Left

  End Sub End Sub

  (25)某人创建了1个工程,其中的窗体名称为Form1:之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是

  A)在工程属性对话框中把“启动对象”设置为Form2

  B)在Form1的Load事件过程中加入语句Load Fom2

  C)在Form2的Load事件过程中加入语句Form2Show

  D)把Form2的Tablndex属性设置为1,把Form1的TabIndex属性设置为2

  (26)窗体上有1个名称为Textl的文本框和1个名称为Commandl的命令按钮。要求程序运行时,单击命令按钮,就可把文本框中的内容写到文件oultxt中,每次写入的内容附加到文件原有内容之后,下面能够正确实现上述功能的程序是

  A)P rivate Sub Commandl_Click() B)P rivate Sub Commandl_Click()

  Open”out.tut”For Input As#1 Open”out.txt”For Output As#1

  Print#1.Textl.Text Print#1,Textl.Text

  Close#1 Close#1

  End Sub End Sub

  C) P rivate Sub Commandl_Click() D) P rivate Sub Commandl_Click()

  Open”out.tut”For Append As #1 Open”out.tut”ForRandom As #1

  Print#1 Textl.Text Print#1 Textl.Text

  Close#1 Close#1 s

  End Sub End Sub

  (27)为了计算1+3+5…+99的值,某人编程如下

  k =1

  S=0

  While k <=99

  k = k +2 : s=s+ k

  Wend

  Print

  在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案正确的是

  A)While… Wend 循环语句错误,应改为Fork=1 To 99 … Next k

  B)循环条件错误,应放为 While 1<99

  C)循环前的赋值语句 k =1错误,应该为k = 0

  D)循环中两条赋值语句的顺序错误,应放为 s =s+k : k = k +2

  (28)下面程序在调试时出现了死循环

  Private Sub Commandl_Click()

  n =InputBox(“请输入一个整数”)

  Do

  Ifn Mod2=0 Then

  n = n+1

  Else

  n = n+2

  End If

  Loop Until n = 1000

  End Sub

  下面关于死循环的叙述中正确的是

  A)只有输入的n是偶数时才会出现死循环,否则不会

  B)只有输入的n是奇数时才会出现死循环,否则不会

  C)只有输入的n是大于10000的整数时才会出现死循环,否则不会

  D)输入任何整数都会出现死循环

  (29)在窗体上有1个名称为CommonDialog1的通用对话框和1个名称为Commandl的命令按钮,以及其他一些控件。要求在程序运行时,单击Commandl按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件,以下是Commandl_Click事件过程的两种算法

  算法1:

  Private Sub Commandl_Click()

  CommonDialogl.Show Open

  Open Common Dialogl.FileName For Input As #1

  End Sub

  算法2:

  Private Sub Command l_Click()

  CommonDiatogl.ShowOpen

  If Common Dialogl.File Name<>””Then

  Open CommonDialogl.File Name For Input As# l

  End If

  End Sub

  下面关于这两种算法的叙述中正确的是

  A) 显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会

  B)显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会

  C)两种算法的执行结果完全一样

  D)算法1允许输入的文件名中含有空格,而算法2不允许

  (30)窗体上有1个名称为Listl的列表框,其中已经输入了若干个项目(如图所示):还有2个文本框,名称分别为Textl、Text2、1个名称为Commandl的命令按钮,并有以下程序

  Next k

  If str=””Then

  Text2=”没有匹配的项目”

  Else

  Tex2=str

  End If

  End Sub

  程序运行时,在Textl中输入“京”单击命令按钮,则在Texl2中显示的内容是

  A)京戏 B)北京 南京

  C)南京 北京 D)没有匹配的项目

  (31)在窗体上面画1个名称为Commandl 的命令按钮,并编写以下程序

  Private Sub Commandl_Click()

  Print fun(“ABCDEFG”)

  End Sub

  Function fun (st As String)As String

  Stlen=Len(st)

  Temp=””

  Fork =1 To stlen /2

  Temp=temp+Mid(st, k ,1) +Mid(st,stlen-k +1,l )

  Next k

  Fun=temp

  End Funcuon

  程序运行时,单击命令按钮,则在窗体上显示的是

  A)ABCDEFG B)AGBFCE C)GFEDCBA D)AGBFCED

  (32)在窗体上先后画2个图片框,名称分别为Picturel和banana, banana中添加了香蕉图片(见图1),且将banana,,DragMode属性设置为1。要求程序运行时,可以用鼠标把banana拖拽到Picturel中(见图2)。能实现此功能的事件过程是

  A)Private Sub Form_Drag Drop(Source As Control,X As Single,Y As Single)

  Banana,Move Picturel.Left+X,Picturel.Top+Y

  End Sub

  B) Private Sub banana_DragDrop(Source As Control,X As Single,Y As Single)

  Source.Move Piceurel.Left+X,Piceturel.Top+Y

  End Sub

  C)Private Sub prcturel_DragDrop(Source As Comtrol,X As Single,Y As Single)

  Source.Move Picturel.Left+X,Picturel,Top+Y

  End Sub

  D)Private Sub Picturel_DragDrop(SourceAs Control,X As Single,Y As Single)

  banana.Movebanana Left+X,bananal.Top+Y

  End Sub

  (33)在窗体上画1个称为Commandl 的命令按钮,然后编写如下事件过程

  Option Base 1

  Private Sub Commandl_Click()

  For i =1To 5

  For j=1 To 5

  a( i ,j )=( i +j)*510

  Nextj

  Next i

  S=0

  For i =1To5

  s = s +a( i ,i )

  Next i

  Print s

  End Sub

  程序运行后,单击命令按钮,输出结果是非曲直

  A)15 B)13 C)11 D)9

  (34)在窗体上从左到右有Textl、Text2 两个文本框(见图),要求程序运行时,在Text中输入1个分数后按回车键,则判断分数的合法性,若分数为0~100中的1个数,则光标移到Text2中;否则光标不动,并弹出对话框晃示“分数错”。下面程序中正确的是

  A)Private Sub Textl_KeyPress(KeyAscii As Integer)

  If Key Ascii =13Then 回车符的ASCII码是13

  a =Val(Textl)

  Ifa>=0 Ora<=100Then

  Text2.SetFocus

  Else

  Textl.SetFocus : MsgBox(“分数错“)

  End If

  End If

  End.Sub

  B)Private Sub Textl_KeyPress(KeyAscii As Integer)

  If Key Ascii =13Then 回车符的ASCII码是13

  a =Val(Textl)

  Ifa>=0 And a<=100Then

  Text1.SetFocus

  Else

  Text2.SetFocus : MsgBox(“分数错“)

  End If

  End If

  End.Sub

  C)Private Sub Textl_KeyPress(KeyAscii As Integer)

  If Key Ascii =13Then 回车符的ASCII码是13

  a =Val(Textl)

  Ifa<0 and="" a="">100Then

  Text2.SetFocus

  Else

  Text1.SetFocus : MsgBox(“分数错“)

  End If

  End If

  End.Sub

  D)Private Sub Textl_KeyPress(KeyAscii As Integer)

  If Key Ascii =13Then 回车符的ASCII码是13

  a =Val(Textl)

  Ifa>0 And a<100Then

  Text2.SetFocus

  Else

  Text1.SetFocus : MsgBox(“分数错“)

  End If

  End If

  End.Sub

  (35)在窗体上画2个命令按钮,名称分别为Commandl、Command2,并编写如下程序

  Const n=5,m=4

  Dim a(m,n)

  Private Sub Commandl_Click()

  k=1

  For i =1To m

  For j =1Ton

  a( i ,j )=k

  k =k +1

  Next j

  Next j

  Next i

  End Sub

  Private Sub Command2_Click()

  Sum=0

  Fori =1Tom

  For j=1Tom

  If i =1Ori =m Then

  Sum=sum+ a( i +j )

  Else

  Ifj=1 Or j=n Then

  Sum=summ+a( i ,j )

  End If

  End If

  Next j

  Next i

  Print sum

  End Sub

  过程Commandl_Cliok()的作用是在二维数组a中存放1个m行n列的矩阵,过程Command2_Click()的作用是

  A)计算矩阵外围一圈元素的累加和。

  B)计算矩阵除外围一圈以外的所有元素的累加和。

  C)算矩阵第1列和最后一列元素的累加和。

  D)计算矩阵第1列和最后一行元素的累加和。

  二、填空题(每空2分,共30分)

  请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

  (1)在深度为7的满二叉树中,度为2的结点个数为 【1】 。

  (2)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于 【2】 测试。

  (3)在数据库系统中,实现各种数据管理功能的核心软件为 【3】 。

  (4)软件生命周期可分为多个阶段,一般分为定义阶段,开发阶段和维护阶段,编码和测试属于 【4】 阶段

  (5)在结构化分析使用的数据流图(DFD)中,利用 【5】 。对其中的图形元素进行确切解释。

  (6)下面程序的功能是从键盘输入1个大于100的整数m,计算并输出满足不等式1+22 +32 +42 …+n2<m

  的最大的n,请填空。

  Private Sub Commandl_Click()

  Dim s,m,n As Integer

  M=Val(InputBox(“请输入一个大于100的整数“))

  n = 【6】 。

  s=0

  Do While s<m

  n = n +1

  s=s+n # n

  Loop

  Print”满足不等式最大n是“; 【7】 。

  End Sub

  (7)下面程序的功能是把文件file1,txt 中重复字符去掉后(即若有多个字符相同,则只保留1个)写入文件file2.txt.请填空。

  Private Sub Command1_Click()

  Dim inchar As String, temp As String,outchar As String

  Outchar=””

  Open”file 1.txt”For Input As #1

  Open “file2.txt”For Output As 【8】 。

  n =LOF( 【9】 )

  inchar=InputS(n,1)

  For k =1Ton

  Temp= p=Mid(inchar,k ,1)

  If InStr(outchar,temp)= 【10】 Then

  Outchar=outchar&temp

  End If

  Next k

  Print#2 【11】

  Close#2

  Close#1

  End Sub

  (8)在窗体上先画1个名为Textl文本框和1个名为Labell的标签,再画1个名为Opl的有4个单选按钮的单选按钮数组,其Lndex属性按季度序为0~3(见图1)。在文件Sales.txt中按月份顺序存有某企业某年12个月的销售额,要求在程序执行时,鼠标单击1个单选按钮,则Textl中显示相应季度的销售总额,并把相应的文字显示在标签上。图2是单击“第3季度”单选按钮所产生的结果,请填空。

  For k =1To12

  Tnput #1,sales(k)

  Next k

  Close #1

  End Sub

  Private Sub 【12】 (Index As Integer)

  Dim sum As Long k As Integer,month As Integer

  Sum=0

  Month=Index# 【13】

  Fork =1To3

  Month=month+1

  Sum=sum+sales(month)

  Next k

  Labell,Caption=Opl(Index). 【14】 &销售总额:“

  Textl=sum

  End Sub

  (9)某人编写如下函数来判断a是否为素数,若是,则函数返回Trus;否则返回False Functiom prime(a As Integer)As Boolcan

  Dim 1 As Integer,isprime As Boolean

  Ifa<2Then

  Isprime=Fslse

  Else

  Isprime=True

  k =2

  Do While k <a/2And isprime

  If a Mod k = 0Then

  Isprime=False

  Else

  k = k +1

  End If

  Loop

  End If

  Prime=isprime

  End Functiom

  在测试时发现有1个非素数也被判断为素数,这个错判的数是 【15】.

[计算机二级VB笔试真题]