《2023年全国计算机等级考试二级VB笔试试题及答案.pdf》由会员分享,可在线阅读,更多相关《2023年全国计算机等级考试二级VB笔试试题及答案.pdf(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年 4 月全国计算机等级考试二级VB笔试试题及答案一、选择题(每小题2 分,共 70分)下列各题A)、b)、C)、D)四个选项中,只有一个选项是对的的。请将对的选项填涂在答题卡相应位置上,答在试卷上不得分。下列选项中不属于结构化程序设计方法的是。A.自顶向下b.逐步求精C.模块化D.可复用 两个或两个以上模块之间关联的紧密限度称为。A.耦合度b.内聚度C,复杂度D.数据传输特性下列叙述中对的的是。A.软件测试应当由程序开发者来完毕B.程序经调试后一般不需要再测试C.软件维护只涉及对程序代码的维护D.以上三种说法都不对 按 照“后进先出”原则组织数据的数据结构是。A.队列b.栈C.双向链
2、表D.二叉树下列叙述中对的的是。A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构对如下二叉树ABDECF进行后序遍历的结果为。A.ABCDEFb.DBEAFCC.ABDECFD.DEBFCA在深度为7 的满二叉树中,叶子结点的个数为。A.32b.31C.64D.63“商品”与“顾客”两个实体集之间的联系一般是。A.一对一b.一对多C.多对一D.多对多 在 E-R图中,用来表达实体的图形是。A.矩形b.椭圆形C.菱形D.三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是。A.DB 包含 DBS 和 DB
3、MSb.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系(11)以下关于Visual Basic特点的叙述中,错误的是。A.Visual Basic是采用事件驱动编程机制的语言B.Visual Basic程序既可以编译运营,也可以解释运营C.构成Visual Basic程序的多个过程没有固定的执行顺序D.Visual Basic程序不是结构化程序,不具有结构化程序的三种基本结构(12)以下叙述中,错误的是。A.一 个 Visual Basic应用程序可以具有多个标准模块文献B.一个Visual Basic工程可以具有多个窗体文献C.标准模块文献可以属于某个指
4、定的窗体文献D.标准模块文献的扩展名是.bas(13)以下叙述中,错误的是。A.在 Visual Basic中,对象所能响应的事件是由系统定义的B.对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定C.Visual Basic中允许不同对象使用相同名称的方法D.Visual Basic中的对象具有自己的属性和方法(14)设有如下语句:Dim a,b As Integerc=VisualBasic,d=#7/20/2023#以下关于这段代码的叙述中,错误的是。A.a 被定义为Integer类型变量B.b 被定义为Integer类型变量C.c 中的数据是字符串D.d 中的数据是日期类型(
5、15)以下能从字符串VisualBasid中直接取出子字符串“Basic”的函数是。A.Leftb.MidC.StringD.Instr(16)设 a=4,b=3,c=2,d=l,F 列表达式的值是。ab+l Or cA.TrueB.1C.-1D.0(17)以下可以作为Visual Basic变量名的是。A.A#AB.counstAC.3AD.?AA(18)设 x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是。A.Print A=x+yb.PrintA=;x+yC.Print A=+Str(x+y)D.PrintA=&x+y(19)假定有如下的命令按钮(名称为Commandl)事件
6、过程:Private Sub Commandl_Click()x=lnputBox(输 入:,输入整数)MsgBox输入的数据是:”,,”输入数据:+xEnd Sub程序运营后,单击命令按钮,假如从键盘上输入整数1 0,则以下叙述中错误的是。A.x 的值是数值10B.输入对话框的标题是“输入整数”C.信息框的标题是“输入数据:10”D.信息框中显示的是“输入的数据是:”(20)在窗体上画1 个命令按钮(名称为Commandl)和 1 个文本框(名称为T e xtl),然后编写如下事件过程:Private Sub Commandl_Click()x=Val(Textl.Text)Select C
7、ase xCase 1,3y=x*xCase ls=10,ls90 Then Exit ForNextEnd Sub对于该事件过程,以下叙述中错误的是。A.a 数组中的数据是3 0 个 100以内的整数B.语句For Each arrltem In a 有语法错误C.If arrltem Mod 7=0 语句的功能是输出数组中可以被7整除的数D.lfarrltem90.语句的作用是当数组元素的值大于90时退出For循环(22)设有命令按钮Commandl的单击事件过程,代码如下:Private Sub Commandl_Click()Dim a(3,3)As IntegerFor i=l To
8、 3Forj=lTo3a(i,j)=i*j+iNext jNext iSum=OFor i=l To 3Sum=Sum+a(i,4-i)Next iPrint SumEnd Sub运营程序,单击命令按钮,输出结果是。A.20B.7C.16D.17(23)在窗体上画1 个名称为Commandl的命令按钮,然后编写如下事件过程:Private Sub Commandl_Click()a=0Fori=l To 2Forj=lTo4If j Mod 20 Thena=a-lEnd Ifa=a+lNext jNext iPrint aEnd Sub程序运营后,单击命令按钮,输出结果是。A.0b.2C.3
9、D.4(24)窗体上有名称分别为Textl Text2的 2 个文本框,有一个由3 个单选按钮构成的控件数组 Option1,如 图 1 所示。程序运营后,假如单击某个单选按钮,则执行Textl中的数值与该单选按钮所相应的运算(乘以1、10或 1 0 0),并将结果显示在Text2中,如 图 2 所示。为了实现上述功能,在程序中的问号处应填入的内容是。图 1 图 2 Private Sub Optionl_Click(lndex As Integer)lfTextl.TextoHThenSelect Case?Case 0Text2.Text=VaI(Text l.Text)Case 1Tex
10、t2.Text=VaI(Text l.Text)*10Case 2Text2.Text=Va l(Textl.Text)*100End SelectEnd IfEnd SubA.Indexb.Optionl.IndexC.Optionl(lndex)D.Optionl(lndex).Value(25)在窗体上画1 个命令按钮,其名称为Command1,然后编写如下程序:Private Sub Commandl_Click()Dim a(10)As IntegerDim x As IntegerFor i=l To 10a(i)=8+iNextx=2Print a(f(x)+x)End SubF
11、unction f(x As Integer)x=x+3f=xEnd Function程序运营后,单击命令按钮,输出结果为。A.12b.15C.17D.182023年 4 月笔试试卷第5 页(共12页)2023年 4 月笔试试卷第6 页(共12页乂 26)以下关于过程的叙述中,错误的是。A.事件过程是由某个事件触发而执行的过程B.函数过程的返回值可以有多个C.可以在事件过程中调用通用过程D.不能在事件过程中定义函数过程(27)在窗体上画3 个标签、3 个文本框(名称分别为Textl、Text2和 Text3)和 1 个命令按钮(名称为Com m and),外观如图所示。编写如下程序:Priva
12、te Sub Form_Load()Textl.Text=Text2.Text=Text3.Text=End SubPrivate Sub Commandl_Click()x=Val(Textl.Text)y=Val(Text2.Text)Text3.Text=f(x,y)End SubFunction f(ByVal x As Integer,By Vai y As Integer)Do While y0tmp=x Mod yx=yy=tmpLoopf=xEnd Function运营程序,在 Textl文本框中输入3 6,在 Text2文本框中输入2 4,然后单击命令按钮,则在Text3文本
13、框中显示的内容是。A.4b.6C.8D.12(28)窗体上有名称分别为Textl、Text2的 2 个文本框,规定文本框Textl中输入的数据小于5 0 0,文本框Text2中输入的数据小于1 0 0 0,否则重新输入。为了实现上述功能,在以下程序中问号处应填入的内容是。Private Sub Textl_LostFocus()Call Checklnput(Textl,500)End SubPrivate Sub Text2_LostFocus()Call Checklnput(Text2,1000)End SubSub Checklnput(t As?,x As Integer)If Va
14、l(t.Text)x ThenMsgBox”请重新输入!”End IfEnd SubA.Textb.SelTextC.ControlD.Form(29)在窗体上画1 个文本框,其名称为T e x tl,然后编写如下过程:Private Sub Textl_KeyDown(KeyCode As Integer,Shift As Integer)Print Chr(KeyCode)End SubPrivate Sub Textl_KeyUp(KeyCode As Integer,Shift As Integer)Print Chr(KeyCode+2)End Sub程序运营后,把焦点移到文本框中,
15、此时假如敲击“A”键,则输出结果为。A)AAB)ABC)ACD)AD(30)为了使列表框中的项目呈多列显示,需要设立的属性为。A.Columnsb.StyleC.ListD.MultiSelect(31)在窗体上画1 个命令按钮,名称为Com m ands然后编写如下程序:Dim Flag As BooleanPrivate Sub Commandl_Click()Dim intNum As IntegerintNum=lnputBox(“请输入:”)If Flag ThenPrint f(intNum)End IfEnd SubFunction f(X As Integer)As Integ
16、erlfX10 ThenY=XElseY=X+10End Iff=YEnd FunctionPrivate Sub Form_Mousellp(Button As Integer,Shift As lnteger,X As Single/As Single)Flag=TrueEnd Sub运营程序,一方面单击窗体,然后单击命令按钮,在输入对话框中输入5,则程序的输出结果为。A.0b.5C.15D.无任何输出(32)在菜单编辑器中建立1 个名称为MenuO的菜单项,将 其“可见”属性设立为False,并建立其若干子菜单,然后编写如下过程:Private Sub Form_MouseDown(Bu
17、tton As lnteger,Shift As lnteger,X As Single/As Single)If Button=l ThenPopupMenu MenuOEnd IfEnd Sub则以下叙述中错误的是。A.该过程的作用是弹出一个菜单B.单击鼠标右键时弹出菜单C.MenuO是在菜单编辑器中定义的弹出菜单的名称D.参数X、Y 指明鼠标当前位置的坐标(33)窗体上有1 个名称为CD1的通用对话框,1 个名称为Commandl的命令按钮。命令按钮的单击事件过程如下:Private Sub Commandl_Click()CDl.FileName=CDl.Filter=AII File
18、s|*.*|(*.DoC.|*.Doc|(*.Txt)|*.txtCDl.Filterlndex=2CDl.Action=lEnd Sub关于以上代码,错误的叙述是。A.执行以上事件过程,通用对话框被设立为“打开”文献对话框B.通用对话框的初始途径为当前程径C.通用对话框的默认文献类型为*.TxtD.以上代码不对文献执行读写操作(34)以下叙述中错误的是。A.用 Shell函数可以执行扩展名为.exe的应用程序B.若用Static定义通用过程,则该过程中的局部变量都被默认为Static类型C.Static类型的变量可以在标准模块的声明部分定义D.全局变量必须在标准模块中用Public或 Glo
19、bal声明(35)以下关于文献的叙述中,错误的是。A.使用Append方式打开文献时,文献指针被定位于文献尾B.当以输入方式(Input)打开文献时,假如文献不存在,则建立一个新文献C.顺序文献各记录的长度可以不同D.随机文献打开后,既可以进行读操作,也可以进行写操作二、填空题(每空2 分,共 30分)请将每空的对的答案写在答题卡【1】1 5 序号的横线上,答在试卷上不得分。对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。(2)在面向对象方法中,【2】描述的是具有相似属性与操作的一组对象。在关系模型中,把数据当作是二维表,每一个二维表称为一个【3】。程序测试分为静态分析和动
20、态测试。其 中【4】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称 为【5】。下列语句的输出结果是6】。Print Format(lnt(12345.6789*100+0.5)/100,0000,0.00)在窗体上画1 个命令按钮,其名称为Com m ands然后编写如下事件过程:Private Sub Commandl_Click()Dim arr(l To 100)As IntegerFor i=l To 100arr(i)=lnt(
21、Rnd*1000)Next iMax=arr(l)Min=arr(1)For i=l To 100If 7 ThenMax=ari)End IfIf 8 ThenMin=arr(i)End IfNext iPrintMax=;Max,Min=u;MinEnd Sub程序运营后,单击命令按钮,将产生100个 1000以内的随机整数,放入数组arr中,然后查找并输出这100个数中的最大值Max和最小值M in,请填空。在窗体上画1 个名称为Commandl的命令按钮和2 个名称分别为Textl、Text2的文本框,如图所示,然后编写如下程序:Function Fun(x As Integer,By
22、Vai y As lnteger)As Integerx=x+yIf x 关系运算符 逻辑运算符算术运算符的优先顺序是:八-(*与/)M o d 什与-)。关系运算符的优先顺序是:=(或()(=)(lsLike逻辑运算符的优先顺序是:非(Not)与(And)或(。异 或(Xor)等 价(Epv)蕴 涵(Im p)。根据运算符的优先级计算本题中的表达式最后结果为0。(1 7)【答案】B)【解析】在 Visual Basic中,变量名只能由字母、数字和下划线组成,并且第一个字符必须是英文字母,而最后一个字符可以是类型说明符。由此得知counstA可以作为变量名。(1 8)【答案】A)【解析】Pri
23、nt方法没有赋值功能,因此A 选项不能在窗体上显示“A=10”,该选项的结果为False a(1 9)【答案】A)【解析】在默认情况下,InputBox函数的返回值是一个字符串,假如没有事先声明返回值变量的类型,则把该函数的返回值赋给这个变量时,Visual Basic总是把它作为字符串来解决。因此x 的值是字符串10。(2 0)【答案】A)【解析】该题考察的内容为多分支控制结构。在多分支控制结构中,先对测试表达式进行求值,然后测试该值与哪个Case子句中的表达式表列相匹配,假如找到,则执行与该Case子句有关的语句,下面的子句不再执行,直接把控制转移到End Select后面的语句。(2 1
24、)【答案】B)【解析】该题考察的是For Each Next语句。该语句可用于对数组元素进行解决,反复执行的次数由数组中元素的个数拟定的,因此For Each arrltem In a 是没有语法错误的,相反,ForEach Next语句比For Next语句更方便,由于它不用指明循环结束的条件。(22)【答案】C)【解析】经赋值后数组a 的元素为(2,3,4,4,6,8,6,9,12),而第三个For循环语句的作用是求次对角线上三个元素的和,即 Sum=a(l,3)+a(2,2)+a(3,l)=4+6+6=16o(2 3)【答案】D)【解析】由 if语句知:当j 为 1 或者3 时,a 减
25、1,而 j 为 1、2、3 和 4 的时候a 均加1,因此,事实上通过For j=l To 4 后,a 增长了 2,而程序的最外部循环了两次,因此结果应当为8 4 o(24)【答案】A)【解析】该程序事实上是通过检查单选按钮数组的索引来拟定相应的运算,当 lndex=l表达选定的是单选按钮1,当 lndex=2表达选定的是单选按钮2,当 lndex=3表达选定的是单选按钮 3。(2 5)【答案】D)【解析】Function过程中的x 与事件过程Commandl_Click中的x 使用的是同一地址,因此在 Function过程中执行x=x+3这一语句时,事件过程Commandl_Click中的x
26、 也同时执行该语句,因此Print函数的内容是a(f(2)+2+3)=a(10),因而输出应当为18。(2 6)【答案】B)【解析】函数过程要返回一个值,并且只能返回一个值。(2 7)【答案】D)【解析】Visual Basic通过关键字By Vai来实现传值。这时候,Visual Basic为形参分派内存,并将相应的实参值复制给形参。对 于 f,其参数分别为x=36,y=24,这里的x、y 与事件过程中的x、y 使用的不是同一个地址。f 的返回值为1 2,因此Text3中的内容是12。(2 8)【答案】C)【解析】该题考察内容为控件参数。在一个通用过程中设立相同性质控件所需要的属性,然后用不
27、同的控件调用此过程。(2 9)【答案】C)【解析】KeyDown和 KeyUp都有两个参数,即 KeyCode和 Shift,KeyCode是按键的实际ASCII码,Shift是转换键。Chr函数为求ASCII字符,而 ASC(C)=ASC(A)+2。因此输出结果应当为A与 Co(3 0)【答案】A)【解析】Columns属性为返回一个值,决定列表框是在一列中垂直滚动(这时值为0)还是多个列中水平滚动(这时值大于0)o(3 1)【答案】B)【解析】由于窗体Mousellp事件将Flag置为T ru e,因此Print f(intNum)可以执行。Function过程的形参为5,可以得到该过程的
28、返回值为5,因此程序的输出结果是5。(3 2)【答案】B)【解析】鼠标键B uttons时,表达当前按下的是左键,该事件过程的作用是单击鼠标左键的时候弹出一个菜单。(3 3)【答案】C)【解析】Filterindex属性用于指定默认的过滤器。在 用 Filter属性设立多个过滤器后,每个过滤器都有一个值,第一个为1,第二个为2,依次类推,当前的Filterlndex=2,因此默认的文献类型为*.doc。(3 4)【答案】C)【解析】Static类型变量的作用域是它所在的过程,通常用来存放中间结果或用作临时变量,因此,一般在过程中声明定义该类型的变量。(35)【答案】B)【解析】使用Open语句
29、打开文献时,假如为“输入”打开的文献不存在,则产生“文献未找到 错误,假如为“输出”,附加或随机访问方式打开的文献不存在,则建立相应的文献。二、填空题(1)【答案】【1】45【解析】对长度n 为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为n(n-l)在=5X9=4 5。(2)【答案】【2】类【解析】在面向对象方法中,类(Class)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其相应类的一个实例(Instance)。(3)【答案】【3】关系【解析】在关系模型中,把数据当作是二维表,每一个二维表称为一个关系。(4)【答案】【4】静态分析(静态测试)【解析】原则上讲,可以将软件
30、测试方法分为两大类,即静态测试和动态测试。静态测试无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的局限性之处,减少错误出现的概率。动态测试,是使被测代码在相对真实环境下运营,从多角度观测程序运营时能体现的功能、逻辑、行为、结构等的行为,以发现其中的错误现象。程序测试分为静态测试和动态测试。静态测试一般是指人工评审软件文档或程序,借以发现其中的错误。由于被评审的文档或程序不必运营,所以称为静态测试(5)【答案】【5】物理独立性【解析】当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,
31、称为物理独立性。当数据库总体逻辑结构改变,不需要修改应用程序,这是数据的逻辑独立性。(6)【答案】6 12,345.68【解析】该题考察数值格式化输出。格式字符串“0000,0.00”规定数值按照整数五位、小数点后两位(多余的位用0补齐),并且带有千位分隔符。(7)【答案】【7】Maxarr(i)【解析】假如数组中某元素的值大于此前的最大值,则将该元素定义为最大值,同样,假如数组中某元素的值小于此前的最小值,则将该元素定义为最小值。这样可以查找到数组中的最大值和最小值。(8)【答案】【9】-5 1 0 5【解析】该题考察传值参数和传址参数的区别。Visual Basic通过关键字ByVai来实
32、现对b进行传值,而对于a则是通过引用来传地址,因 此a与Function过程里的x是同一地址。第一次 调 用Function过程时,过程返回值为-5,同 时x=-5,即a=-5,因此第二次调用过程时,过程的返回值为5o(9)【答案】1 1 ABCD【解析】该题中出现了 3 个内部函数:UCase、Le代和C h r,其功能分别是转换为大写字母、取左边的字符和求取ASCII字符。代码的功能是将字符串转换成大写字母形式后取最左边的4 个字符,并将字符输出。(1 0)【答案】12 DialogTitle【解析】DialogTitle属性用来设立对话框的标题。假如不设立该属性,则默认“打开”对话框的标题是“打开”,“保存”对话框的标题是“保存”。(1 1)【答案】13 KeyAscii【14】“END【15】Textl.text【解析】KeyPress事件的参数KeyAscii用来辨认按键的ASCII码。对于第14空,假如要结束程序,则要向文本框中输入“END”(不分大小写)。Write#语句的格式为“Write#文献号,表达式表”,即将表达式表中的内容写入到文献号相应的文献中。