[计算机类试卷]国家二级(VB)机试模拟试卷20及答案与解析.doc

上传人:amazingpat195 文档编号:504155 上传时间:2018-11-29 格式:DOC 页数:30 大小:184.50KB
下载 相关 举报
[计算机类试卷]国家二级(VB)机试模拟试卷20及答案与解析.doc_第1页
第1页 / 共30页
[计算机类试卷]国家二级(VB)机试模拟试卷20及答案与解析.doc_第2页
第2页 / 共30页
[计算机类试卷]国家二级(VB)机试模拟试卷20及答案与解析.doc_第3页
第3页 / 共30页
[计算机类试卷]国家二级(VB)机试模拟试卷20及答案与解析.doc_第4页
第4页 / 共30页
[计算机类试卷]国家二级(VB)机试模拟试卷20及答案与解析.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、国家二级( VB)机试模拟试卷 20及答案与解析 一、选择题 1 下列数据结构中,属于非线性结构的是 ( )。 ( A)循环队列 ( B)带链队列 ( C)二叉树 ( D)带链栈 2 下列数据结构中,能够按照 “先进后出 ”原则存取数据的是 ( )。 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 3 对于循环队列,下列叙述中正确的是 ( )。 ( A)队头指针是固定不变的 ( B)队头指针一定大于队尾指针 ( C)队头指针一定小于队尾指针 ( D)队头指针可以大于队尾指 针,也可以小于队尾指针 4 算法的空间复杂度是指 ( )。 ( A)算法在执行过程中所需要的计算机存储空间 (

2、 B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的临时工作单元数 5 软件设计中划分模块的一个准则是 ( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 6 下列选项中不属于结构化程序设计原则的是 ( )。 ( A)可封装 ( B)自顶向下 ( C)模块化 ( D)逐步求精 7 软件详细设计产生的图如下: 该图是 ( )。 ( A) N-S图 ( B) PAD图 ( C)程序流程图 ( D) E-R图 8 数据库管理系统是 ( )。 ( A)操作系统的一部分 ( B)在操作系统支持下的系统软件 ( C)一

3、种编译系统 ( D)一种操作系统 9 在 ER图中,用来表示实体联系的图形是 ( )。 ( A)椭圆形 ( B)矩形 ( C)菱形 ( D)三角形 10 有三个关系 R、 S和 T如下:其中关系 T由关系 R和 S通过某种操作得到,该操作为 ( )。 ( A)选择 ( B)投影 ( C)交 ( D)并 11 在 VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是 ( )。 ( A) ( B) ( C) ( D) 12 设 x是整型变量,与函数 IIf(x0,一 X, X)有相同结果的代数式是 ( )。 ( A) x ( B) x ( C) x ( D) -x 13 设

4、窗体文件中有下面的事件过程: Pnvate Sub Command l Click() Dim S a =100 Print a End Sub 其中变量 a和 s的数据类型分别是 ( )。 ( A)整型,整型 ( B)变体型,变体型 ( C)整型,变体型 ( D)变体型,整型 14 下面不能在信息框中输出 “VB”的是 ( )。 ( A) MsgBox“VB” ( B) x MsgBox(“VB”) ( C) MsgBox(“VB”) ( D) Call MsgBox“VB” 15 下面关于标准模块的叙述中,错误的是 ( )。 ( A)标准模块中可以声明全局变量 ( B)标准模块中可以包含一

5、个 Sub Main过 程,但此过程不能被设置为启动过程 ( C)标准模块中可以包含一些 Public过程 ( D)一个工程中可以含有多个标准模块 16 下面正确使用动态数组的是 ( )。 ( A) Dim alT()As Integer ReDim arr(3, 5) ( B) Dim air()As Integer ReDim alT(50)As String ( C) Dim art() ReDim alT(50)As Integer ( D) Dim alT(50)As Integer ReDim alT(20) 17 下面是求最大公约数的函数的首部: Function gcd(ByV

6、al 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) 18 若在窗体模块的声明部分声明了如下自定义类型和数组: Private Type rec Code As Integer Caption As S

7、tring End Type Dim arr(5)As rec 则下面的输出语句中确的是 ( )。 ( A) Print arr Code(2), air Caption(2) ( B) Print air Code, air Caption ( C) Print alT(2) Code, arr(2) Caption ( D) Print Code(2), Caption(2) 19 下而程序运行时,若输入 395,则输出结果是 ( )。 Private Sub Command lClick() Dim X x=InputBox(“请输入一个 3位整数 ”) Print X Mod 10,

8、x 100, (X Mod 100) 10 End Sub ( A) 3 9 5 ( B) 5 3 9 ( C) 5 9 3 ( D) 3 5 9 20 某人编写了下面的程序,希望能把 Textl文本框中 的内容写到 out f=txt文件中: Private Sub CommandI Click() Open“out txt”For Output As 2 Print“Textl” Close#2 End Sub 调试时发现没有达到目的,为实现上述目的,应做的修改是 ( )。 ( A)把 Print“Textl”改为 Print#2, Textl ( B)把 Print“Textl”改为 P

9、rint Textl ( C)把 Print“Textl”改为 Write“Textl” ( D)把所有 2改为 #l 21 VB中有 3个键盘书件: KeyPress、 KeyDown、 KeyUp,若光标在 Textl文本框中,则每输入一个字母 ( )。 ( A)这 3个事件都会触发 ( B)只触发 KeyPress 事件 ( C)只触发 KeyDown、 KeyUp事件 ( D)不触发其中任何一个事件 22 设窗体的名称为 Forml,标题为 Win,则窗体的 MouseDown事件过程的过程名是 ( )。 ( A) Forml Mousel)own ( B) Win MouseDown

10、 ( C) Form MouseI)own ( D) MouseDown Forml 23 要求当鼠标在图片框 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 S

11、ingle) Picture Print X Y End Sub ( C) Private Sub PI MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) P1 Print X, Y End Sub ( D) Private Sub FormMouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) PI Print X, Y End Sub 24 为了使窗体的大小可以改变,必须把它的 BorderStyle属性设

12、置为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 25 为了对多个控件执行操作,必须选中这些控件。下列不能选中多个控件的操作是 ( )。 ( A)按住 Ah键,不要松开,然后单击每个要选中的控件 ( B)按住 Shift键,不要松开,然后单击每个要选中的控件 ( C)按住 Ctrl键,不要松开,然后单击每个要选中的控件 ( D)拖动鼠标画出一个虚线矩形,使所选中的控件位于这个矩形内 26 在窗体上画一个文本框,其名称为 Textl,为了在程序运行后隐藏该文本框,应使用的语句为 ( )。 ( A) Textl Clear ( B) Textl Visible=False (

13、 C) Textl Hide ( D) Textl Enabled=False 27 以下能够触发文本框 Change事件的操作是 ( )。 ( A)文本框失去焦点 ( B)文本框获得焦点 ( C)设置文本 框的焦点 ( D)改变文本框的内容 28 假定在图片框 Picturel 中装入了一个图片,在程序运行中,为了清除该图片 (注意,清除图片,而不是删除图片框 ),应采用的正确方法是 ( )。 ( A)单击图片框,然后按 Del键 ( B)执行语句 Picturel Picture=LoadPicture(“”) ( C)执行语句 Picturel Picture=“” ( D)执行语句:

14、Picturel Cls 29 要想使列表框只允许单选列表项,应设置的属性为 ( )。 ( A) Style ( B) Selected ( C) MultiSelect ( D) Enabled 30 在窗体 E画一个名称为 Textl的文本框和一个名称为 Commandl的命令按钮,然后编写如下事件过程: Private Sub Commandl Click() Dim i As Integer, n As Integer For i=0 To 50 i=i+3 n=n+1 If i10 Then Exit For Next Textl Text=Str(n) End Sub 程序运行后,

15、单击命令按钮,在文本框中显示的值是 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 31 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl Click() Dim I, Num Randomize Do For I=l To 1000 Num=Int(Rnd*100) Print Num; Select Case Num Case 12 Exit For Case 58 Exit Do Case 65, 68, 92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是 ( )。

16、( A) Do循环执行的次数为 1000次 ( B)在 For循环中产生的随机数小于或等于 100 ( C)当所产生的随机数为 12时结束所有循环 ( D)当所产生的随机数为 65、 68或 92时窗体关闭、程序结束 32 (32)在窗体上画一个名为 Commandl的命令按钮,然后编写如下代码: Option Base 1 Private Sub Commandl Click() Dim a a=Array(1, 2, 3, 4) j=1 For i=4 To 1 Step-l S=s+a(i)*j j=j*10 Next I Print S End Sub 运行上面的程序,其输出结果是 (

17、 )。 ( A) 1234 ( B) 12 ( C) 34 ( D) 4321 33 设有如下通用 过程: Public Function Fun(xStr As String)As String Dim tStr As String, strL As Integer tStr=“” strL=Len(xStr) i=l Do While i0) Print n Mod 10; n=n l0 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字,再反序输出这 2个数之和的每一位数字。例如:若输入 123和 234,则应该输出: 3 2 l 4 3

18、 2 7 5 3 但调试时发现只输出了前 2行 (即 2个数的反序 ),而未输出第 3行 (即 2个数之和的反序 ),程序需要修改。下面的修改方案中正确的是 ( )。 ( A)把过程 pro的形式参数 n As Integer改为 ByVal 11 As Integer ( B)把 Call pro(a+b)改 为 pro a+b ( C)把 n=n 10改为 n=n 10 ( D)在 pro b语句之后增加语句 c =a+b,再把 Call pro(a+b)改为 pro c 38 在窗体上画一个名称为 Commandl的命令按钮,然后编写如下事件过程: Private Sub Command

19、l Click() C=1234 Cl=Trim(Str(e) For i=1 To 4 Print Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如 下内容: l 12 123 1234 则在横线处应填入的内容为 ( )。 ( A) Right(cl, i) ( B) Left(cl, i) ( C) Mid(cl, i, 1) ( D) Mid(cl, i, i) 39 假定有以下程序段: For i=l To 3 For j=5 To 1 Step 1 Print i*i Next j Next I 则语句 Print i*j的执行次数是 ( )。 ( A) 15

20、( B) 16 ( C) 17 ( D) l8 40 在窗体上画两个文本框 (名称分别为 Textl和 Text2)和一个命令按钮 (名称为Commandl),然后编写如下事件过程: Private SubCommandl Cick() x=0 Do While x0条件成立,即 x为正数,就返回 x,即 x的负数,否则返回 x(它本身 ),两种情况都是返回负数。根据这一点,选项 B符合要求。故 B选项正确。 13 【正确答案】 C 【试题解析】 变量 s定义时 没有指明数据类型,默认为 Variant变体型。变量 a是用整型的类型号声明,并同时赋值 100,所以变量 a的数据类型为整型。故

21、C选项正确。 14 【正确答案】 D 【试题解析】 Msgbox 的功能:显示消息提示框,在对话框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。 MsgBox函数格式:变量=MsgBox(,样式 ,标题 ),注意 MsgBox函数带括号,有返回值;MsgBox 语句格式: MsgBux(,样式 ,标题 ),有无括号都可以,无返回值。选 项 D中用 Call 语句调用 MsgBox函数,要符合 Call 语句的语法规则:Call函数名 (实参表 ),缺少括号,应该为 Call Ms-gBox(“VB”),语法才法才正确。故 D选项不能输出 “VB”,会出错。 15 【正确答案】

22、 B 【试题解析】 标准模块中可以包含一个 Sub Main 过程,可以通过 “工程属性 ”对话框中将 Sub Main过程设置启动对象。故 B选项错误。 16 【正确答案】 A 【试题解析】 动态数组的使用时,先在窗体层、标准模块或过程中声明一个没有下标的数组 (括号不能省略 ),不指定维数。然后,在过程中用 ReDim语句定义带下标的数组,给出数组的维数。注意:用 ReDim定义的数组,只能改变数组元素的个数,不能改变数组的维数和数据类型。本题选项 B、 C 中 ReDim 语句改变了数组的数据类型,故错误。选项 D中声明数组时有下标,应该没有下标,故也错误。选项 A 正确。 17 【正确

23、答案】 D 【试题解析】 调用函数过程时的实参数与函数过程的形参必须是类型、顺序、个数相同。本题中函数过税的形参有 2个,调用时实参也要是 2个,故排除选项 B和 C。选项 A虽然语法错误,但不符合题意。选项 D正确的。调用函数过程中可以镶嵌调用。 18 【正确答案】 C 【试题解析】 定义一个自定义类型的数组,数组元素表示为:数组名 (下标 )成员名,故选 C。 19 【正确答案】 B 【试题解析】 本题中 x定义为整型变量,通过输入对话框输入 395,按 “确定 ”按钮后, lnputBox函数把返回值 395赋给变量 x。表达式 395 Mod 10,结果是 5,395 100结果为 3

24、, (395 Mod 100) 10的结果为 9。故 B选项正确。 20 【正确答案】 A 【试题解析】 要把文本框中的内 容写入文本文件中,首先要用 Open 语句的 For Output模式打开文本文件,并为文件制定一个文件号,然后,用 Print语句将文本写入文本文件,最后关闭文件。本题中 Click 事件过程中第 1、 3条语句正确。第 2条语句 Print语句的格式是: Print#文件号,要写入的内容,原语句错误。根据格式按选项 A修改正确,故 A选项正确。 21 【正确答案】 A 【试题解析】 当用户按下某键时触发 KeyDDown 和 KeyPress 事件,放开某键时触发 K

25、eyUp事件。故每输入一个字符,这 3个事件都会触发。故 A选项正 确。 22 【正确答案】 C 【试题解析】 事件过程名格式是:控件名事件过程名。 Forml 是窗体控件的名称, Win是窗体的标题,所以窗体的 MouseDown 事件过程名是: FormIMouseDown,故选 A。 23 【正确答案】 C 【试题解析】 当鼠标在图片框 Pl 中移动时,就会触发 Pl 的鼠标移动事件,即 P1 MouseMove事件,故排除 B 选项;鼠标和图片框 P1 中移动时,立即在图片框中显示鼠标的位置坐标,说明是在图片框中输出数据,所以用 Pl 的 Print语句实现。故 C选项正确。 24 【

26、正确答案】 B 【试题解析】 窗体的 BorderStyle属性是用来设置窗体的边框样式的。属性值 1为 Fixed Single, 3为 Fixed Dialog, 4为 Fixed ToolWindow,设置为这 3个属性值都不能改变窗口大小。 2是 Sizable,表示窗体大小可以改变。故选 B。 25 【正确答案】 A 【试题解析】 按住 Alt键只能选中单个控件,不能同时选中多个空间。故选 A。 26 【正确答案】 B 【试题解析】 文本框没有 Clear和 IHide方法,故 A、 C选项错误; Enabled 属性设置文本框可用可不用,属性值为 True时可在文本框中输入数据,为

27、 False时文本框为灰色,内容不能修改,故 D选项错误; Visible属性用来设置文本框显示或隐藏,属性值为 True时文本框显示,为 False时文本框隐藏,故 B 选项正确。 27 【正确答案】 D 【试题解析】 改变文本框中的内容时就会触发它的 Change事件,故选 D。 28 【正确答案】 B 【试题解析】 A选项按 Del键不能删除图片; C选项中 Pictue 属性值不能为空字符串,语法错误; D选项中 CIs办法只能 消除图片上显示的内容,不能消除图片。要将图片框中的图片清除,用 B 选项方法可以,故 B选项正确。 29 【正确答案】 C 【试题解析】 列表框的 Style

28、属性是设置列表框的 J外形; Selected 属性在程序运行中设置或返回列表项的选中状念; Enabled 属性设置列表框可用不可用;MuhSelect用来设置选择列表项的方式。 0为默认,只允许单选列表项; 1为复选,可同时选中一个或多个列表项,但要一个一个选中; 2也为复选,可以个一个选中列表项,也可连续选中。故选 C。 30 【正确答案】 B 【试题 解析】 程序中 For循环的结束有两种情况,一种是循环完指定的次数,一种是达到一定的条件后直接退出循环。由于在循环体中循环变量 i的值被修改:i=i+3,因此,每次循环开始时 i的取值为 0, 4, 8, i为 8 时执行 i i+3=1

29、1,n=n+l=3,这时 i 的值大于 10,退出 For循环,因此 For循环执行了 3次,即 n的值为 3。所以在文本框中会显示 3。 31 【正确答案】 D 【试题解析】 程序 Do循环中镶嵌了 For衙环, Do循环没有设置结束条件,而是在 For循环体中的 Select了退出 Do循环和 For循环及 结束程序的分支,因此Do循环的次数无法确定。随机函数 Rnd 产生 0, 1之间的一个数,包括 0但不包含 1,因此 Rnd * 100 的范围是大于等于 0小于 100。随机数为 65、 68或 92时结束程序关闭窗体,为 58 时退 Do循环,为 12时退出 For循环进入下一次

30、Do循环。 32 【正确答案】 A 【试题解析】 Array 函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名 =Array(数组元素值 )。 Dim a语句没有变量类型名,则 a默认为 Variant类型,这里它作为数组变量使用。现在已 知数组 a 中元素的值依次为1、 2、 3、 4,则 For循环中各变量值变化如下: i=4时, s=s+a(4)*j=O+4*1=4, j=1*10=10 i=3时, s=s+a(3)*j=4+3*10=4十 30=34, j=10*10=100 i=2时, s=s+a(2)*j=34+2*100=34+200=234, j=100

31、*10=1000 i=1时, s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。 s的值为 1234。 33 【正确答案】 C 【试 题解析】 通用过程 Fun 的主要功能在于 tStr=tStr&Mid(xStr, i,1)&Mid(xStr, strl-i+l, 1)这一句。其中 Mid( xStl, i, 1)的意思是从字符串的左边开始依次取一个字符, Mid(xSu, strL-i+1, 1)的意思是从串的右边开始依次取一个字符。整个这条一语句的用意就是从一个字符串两端依次各取一对字符连成一个字符串。因此当 Fun 过程的参数为 “abcdef时,返回值

32、为 “afbecd”,Ucase(“afb-ecd”)结果为 “AFBECD”,这就是输出结果。 34 【正确答案】 B 【试题解析】 原程序的错误在于没有把 n 的值乘进去。而 B 选项中把 For k=n-l To 2 Step-1改为 For k=l Ton-l,依然没有把 n 乘进去。 35 【正确答案】 D 【试题解析】 程序中过程 Fun 的 For循环的功能是从参数字符串中依次取出一个字符经 Lcase函数转为小写字母后存入另一个字符串变量的首部,即将输入的字符串转为小写并倒序排列。函数 Len 用于返回字符串的长度,过程中字符串的长度做为 For循环的终值。 Mid是字符串中部

33、截取函数,用来从指定位置开始截取指定个数的字符。过程中使用 Mid(s, i, 1),通过循环依次取出字符串的字符,然后使本次取纯的字符连接到之前取出的字符前面,实现了字符串倒序排列。程序中输入字符串为 “abcdefg,倒序并转为小写后为 “gfedcha”。 36 【正确答案】 B 【试题解析】 程序中计算 a”的算法有误,由于已经将 a的值赋给了 p,往后边的For循环中再乘 n次 a显然就多乘了,一次 a,因此,要改正此程序或者将 p=a改为 p=1,或者将 fork=l to n 改成 for k=l to n-1或 for k=2 to n。 而 B选项将 p=p *a改为 p=p

34、 n 将会导致 p=p n执行 n 次,得不到正确结果。 37 【正确答案】 A 【试题解析】 在过程定义中,过程的形式参数定义时如果没有 ByVal 指明参数的传递办式,那么默认为地址传递,这样过程中形参的改变将影响到实参的值。本程序中过程定义语句 PIqvate Sub pro(n As Integer)说明形参 n为按地址传递的,而在过程内语句 n=n 10改变 r形参的值,因此, a、 b 的值就不再是最初输入的值了,表达式 a十 b 就不是期望的两个输入数的和。因此得不到正确结果。只要把 Prirate Sub pro(n As Integer)改为 I)rivate Sub pro

35、(ByVal n As Integer),程序即可得到正确结果,因此 A选项正确。 38 【正确答案】 B 【试题解析】 程序中使用 str(c将数值 1234转换成为一个字符串 “1234”,又使用Trim函数去除了字符串首尾可能存在的空格,保证了字符串中只有 1、 2、 3、 4这 4个字符。在 For循环中从左边递次输出这些字符就需要使用 Left()函数, Left是左部截取函数,可以截取字符串左边指定个数的字符串,以 LefI(cl, i)的形式即可每次循环取出期望的字符串。因此答案为 B。 39 【正确答案】 A 【试题解析】 外层 For循环从 1到 3是 3次,内层循所从 5到

36、 l,是 5次。因此循环体执行的次数是 3+5=15次。 40 【正确答案】 B 【试题解析】 在文本框中显示的值即 n, x的值。 x移始值已设为 0, n 的初值没有定义,默认为 0。各次循环 x, n的值如下: x=(x+2)*(x+3)=(O+2)*(O+3)=2*3=6, n=l+1=0+l=l x=6,满足 x第 3个 ?处填入: 四、综合应用题 43 【正确答案】 函数过程 isprime(a)的功能是通过 Do Wile语句、 If判断语句和Int函数,判断参数 a是否为素数,如果是素数,则函数返回 True,否则函数返回False。在单击 “计算 ”按钮事件过程中,通过 Fo

37、r语句和调用函数过程 isprime(a),找出小于 18000的最大的素数,并将其显示在 Textl中;在单击 “存盘 ”按钮事件过程中,通过文件操作把 Textl中的计算结果存入考生文件夹下的 out5 txt文件中。 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Private Function isprime(a As Integer)As Boolean Dim flag As Boolean flag=True b =2 Do While b =Int(a 2)And flag If Int(a b )=a b Then flag: False Else b: b +l End If Loop isprime=flag End Function 程序结束 Private Sub C1 Click() Dim i As Integer For i=17999 To l Step 1 If isprime(i)Then Textl=i Exit For End If Next End Sub Private Sub C2 Click() Open App Path&“ out6 txt”For Output As#1 Print#1 Textl Text Close#l End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1