1、国家二级( VB)机试模拟试卷 122及答案与解析 一、选择题 1 结构化程序设计的基本原则不包括 ( )。 ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 2 程序流程图中带有箭头的线段表示的是 ( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 3 在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 ( A) O(n) ( B) O(n2) ( C) O(log 2n) ( D) O(nlog 2n) 4 下列叙述中正确的是 ( )。 ( A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 ( B)
2、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 ( C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 ( D)链式存储结构比顺序存储结构节省存储空间 5 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误 并改正错误 ( B)对被调试的程序进行 “错误定位 “是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软件测试应严格执行测试计划,排除测试的随意性 7 软件详细设
3、计生产的图如下: 该图是 ( ) ( A) N S图 ( B) PAD图 ( C)程序流程图 ( D) E R图 8 数据库管理系统是 ( )。 ( A)操作系统的一部分 ( B)在操作系统支持下的系统软件 ( C)一种编译系统 ( D)一种操作系统 9 有三个关系 R、 S和 T如下:由关系 R和 S通过运算得到关系 T,则所使用的运 算为 ( )。 ( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)交 10 设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号 ),课程 C(课号,课名 ),选课 SC(学号,课号,成绩 ),则表 SC的关键字 (键或码 )为( )。
4、( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,成绩 11 以下不能输出 “Program“的语句是 ( )。 ( A) Print Mid(“VBProgram“, 3, 7) ( B) Print Right(“VBProgram“, 7) ( C) Print Mid(“VBProgram“, 3) ( D) Print Left(“VBProgram“, 7) 12 以下叙述中错误的是 ( )。 ( A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 ( B)在 Print方法中,多个输出项之间可以用逗号作为分隔符 ( C)在 Dim语句中,所定义的
5、多个变量可以用逗号作为分隔符 ( D)当一行中有多个语句时,可以用逗号作为分隔符 13 以下关于函数过程的叙述中,正确的是 ( )。 ( A)函数过程形参的类型与函数返回 值的类型没有关系 ( B)在函数过程中,过程的返回值可以有多个 ( C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 ( D)如果不指明函数过程参数的类型,则该参数没有数据类型 14 以下关于过程及过程参数的描述中,错误的是 ( )。 ( A)过程的参数可以是控件名称 ( B)调用过程时使用的实参的个数应与过程形参的个数相同 (假定不含可变参数 ) ( C)只有函数过程能够将过程中处理的信息返回到调用程
6、序中 ( D)窗体可以作为过程的参数 15 下面关于标准模块的叙述中错误的是 ( )。 ( A)标准模块中可以声明全局变量 ( B)标准模块中可以包含一个 Sub Main过程,但此过程不能被设置为启动过程 ( C)标准模块中可以包含一些 Public过程 ( D)一个工程中可以含有多个标准模块 16 下面正确使用动态数组的是 ( )。 ( A) Dim arr()As Integer ReDin arr(3, 5) Dim arr()As Integer ( B) Dim arr()As Integer ReDin arr(50) Dim arr()As Integer ( C) Dim a
7、rr()As Integer ReDin arr(50) Dim arr(50)As Integer ( D) Dim arr(50)As Integer ReDin arr(20) 17 在设计窗体时双击窗体的任何地方,可以打开的窗口是 ( )。 ( A)代码窗口 ( B)属性窗口 ( C)工程资源管理器窗口 ( D)工具箱窗口 18 若变量 a未事先定义而直接使用 (例如: a 0),则变量 a的类型是 ( )。 ( A) Integer ( B) String ( C) Boolean ( D) Variant 19 以下关系表达式中,其值为 True的是 ( )。 ( A) XYZ“X
8、Yz“ ( B) VisualBasic“visualbasic“ ( C) the “there“ ( D) Integer“Int“,返回 False。 选项 B中两个字符串不完全一样,有大写和小写的字符,不等。所以返回True。故 B选项正确。 20 【正确答案】 B 【试题解析】 UCase(Left(a$, 7)是从字符串 a的左边向右 取出 7个字符,然后再全部转换为大写字母,结果是: “VISUAL “, Right$(a$, 12)是从字符串 a的右边向左取出 12个字符,结果为 “ Programming“, &是字符串连接符,把“VISUAL “ & “C “ & “ Pr
9、ogramming“ 连接在一起,合成字符串 “VISUAL C Programming“,并把它赋给字符串变量 c,所以字符串变量 c的值就是合成的字符串。故 B选项正确。 21 【正确答案】 D 【试题解析】 本题中, Click是控件的名称, MouseDown 是鼠标按下事件,当用鼠标左键或右键单击 Click 控件时就会触发 MouseDown 事件,执行 MouseDown事件过程。故选 D。 22 【正确答案】 B 【试题解析】 运行程序,单击命令按钮后,执行 Command1_Click 事件过程代码,文本框 Text1 中显示 “程序设计 “,并且文本框 Text1获得焦点,
10、此时焦点在Text1中;当 Text1 获得焦点就会触发它的 Got_Focus 事件,执行 Got_Focus 事件过程,结果文本框 Text1中显示 “等级考试 “。故 B 选项正确。 23 【正确答案 】 C 【试题解析】 当鼠标在图片框 P1 中移动时,就会触发 P1 的鼠标移动事件,即P1_MouseMove事件,故排除 B 选项;鼠标在图片框 P1 中移动时,立即在图片框中显示鼠标的位置坐标,说明是在图片框上输出数据,所以用 P1 的 Print语句实现。故 C选项正确。 24 【正确答案】 B 【试题解析】 窗体的 BorderStyle属性是用来设置窗体的边框样式的。属性值 1
11、为 Fixed Single,3 为 Fixed Dialog,4为 Fixed ToolWindow,设置为这 3个属性值都不能改变窗口大小 。 2是 Sizable,表示窗体大小可以改变。故选 B。 25 【正确答案】 A 【试题解析】 的操作方法可使两个单选按钮属于同一个框架,其他方法不行。故 A选项正确。 26 【正确答案】 C 【试题解析】 组合框没有 Caption属性; Text属性用来设置或返回组合框中当前选项的文本内容; Selected 属性是列表框控件的属性,组合框没有 Selected 属性;List属性用来设置或返回组合框中的各选项,它是一个字符串数组,组合框中各选项
12、内容用 List(下标 )表示。故 A、 B、 D选项错误, C选 项正确。 27 【正确答案】 C 【试题解析】 调用通用对话框的 ShowOpen方法,只是显示文件 “打开 “对话框,如果 ShowOpen方法后面没有其他处理文件的代码,就不能实现打开文件的功能。故选项 C错误。 28 【正确答案】 C 【试题解析】 Caption 属性是设置或返回控件的标题。组合框没有 Caption 属性。故选 C。 29 【正确答案】 B 【试题解析】 SetFocus 是控件获得焦点的方法, GotFocus是控件获得焦点后触发的事件, LostFocus 是控件失去焦点后 触发的事件。本题中程序
13、执行Text1.SetFocus 后, Text1就获得焦点,进而触发 Text1的 GotFocus 事件。故 B选项正确。 30 【正确答案】 C 【试题解析】 访问滚动条控件的值,可以直接使用控件的名称,也可以在名称后面指明 Value属性。滚动条位置是用数值来表示的,因此定义 Calc过程时参数应该定义为 Integer类型。程序中, Text1.Text x*y语句说明计算的结果在文本框中显示出来。 31 【正确答案】 D 【试题解析】 程序 Do循环中嵌套了 For循环, Do循 环没有设置结束条件,而是在 For循环体中的 Select语句中设置了退出 Do循环和 For循环及结
14、束程序的分支,因此 Do循环的次数无法确定。随机函数 Rnd 产生 0,1)之间的一个数,包括 0但不包含 1,因此 Rnd*100的范围是大于等于 0小于 100。随机数为 65、 68或 92时结束程序关闭窗体,为 58时退出 Do 循环,为 12时退出 For循环进入下一次Do循环。 32 【正确答案】 A 【试题解析】 Atray 函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名 =Array(数组元素值 )。 Dim a语句没有变量类型名,则 a默认为 Variant类型,这里它作为数组变量使用。现在已知数组 a中元素的值依次为1、 2、 3、 4,则 For
15、循环中各变量值变化如下: i=4时, s=s+a(4)*j=0+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*10=1000 i=1时, s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。 s的值为 1234。 33 【正确答案】 A 【试题解析】 在组合框中的输入的文本保存在它的 Text属性中,根据程序要求,只要判断按下了回车键后,使用组合框的 AddItem方法把 Text中的字符添加到列表中
16、即可。选项 C和 D没有判断是否按下回车键,所以排除。而选项 B中使用 AddItem方法添加的是 Text1.Text的值,不是组合框 Combo1 的 Text值,所以也不对。 34 【正确答案】 D 【试题解析】 程序在模块文件中定义 x为整型全局变量,在整个工程中都起 作用,而 y定义为整型私有变量,只能在本模块文件中起作用。在窗体文件中变量 a在本窗体文本中起作用,窗体加载事件中定义的变量 b 和没有声明的变量 y,只在本事件过程起作用。程序窗体加载时,对后边有影响的变量值为 a为 2, x为 10,没有指定初值的变量值默认为 0,因此单击命令按钮后, a a 5 7, b b 55
17、, x x 5 15, y y 5 5,结果输出 7 5 15 5。 35 【正确答案】 A 【试题解析】 记录类型的定义必须放在模块的声明部分,当在标准模块中定义时,关键字 Type前可以有 Public(默认 )或 Private,而如果在窗体模块中定义,则必须在前面加上关键字 Private。 Open 语句中使用 For Random表示文件以随机方式存取。 Put语句的语法为: Put #文件号, 记录号 ,变量。其中 “变量 “是除对象变量和数组变量外的任何变量。 36 【正确答案】 D 【试题解析】 程序是一个双层 For循环,外层循环变量的值决定内层 For循环的次数。 当 i
18、 1时,内层循环 1次, s 1, p 1 当 i 2时,内层循环 2次, s 1+1+2 4, p 1*4 4 当 i 3时 ,内层循环 3次, s 4+1+2+3 10, p 4*10 40 当 i 3时,内层循环 4次, s 10+1+2+3+4 20, p 40*20 800 37 【正确答案】 B 【试题解析】 程序中 Option Base 0表示指定数组的下标默认下界为 0。 ReDim语句用来重新定义动态数组,按定义的上下界重新分配存储单元。在一个程序中,可以多次用 ReDim语句定义同一个数组,随时修改数组中元素的个数。程序中先执行 ReDim a(10),然后执行了 ReD
19、im a(5),因此数组 a的下界为 0,上界为5,共有 6个元素。 38 【正确答案】 B 【试题解析】 这是一个双侧循环,外层循环是 4次,内层循环变量初值 6,终值1,步长 -2,则 j可取的值为 6, 4, 2,因此内层 For循环会循环 3次,两侧循环的总数是 4*3 12次, Counten 的值即为 12.Sir函数将数值转换成字符串,即 “12”,所以标签中显示的内容为 “12”。 39 【正确答案】 B 【试题解析】 在文本框中显示的值即 n, x的值。 x初始值已设为 0, n 的初始值没有定义,默认为 0。各次循环 x, n的值如下: x (x+2)*(x+3) (0+2
20、)*(0+3) 2*3 6,n n+1 0+1 1 x 6满足 x 50,循环继续: x (x+2)*(x+3) (6+2)*(6+3) 8*9 72, n n+1 1+1 2 x 72,不满足 x 50,循环结束。此时 n的值为 2, x的值为 72。 40 【正确答案】 A 【试题解析】 外层 For循环从 1到 3是 3次,内层循环从 5到 1,是 5次。因此循环体执行的次数是 3*5 15次。 二、基本操作题 41 【正确答案】 步骤 1:建立界面,添加相应的控件并设置控件 的属性。程序中用到的控件及属性见表 3 38。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2) 步骤
21、 1:新建一个窗体,按照题目要求建立驱动器列表框、目录列表框和文件列表框控件并设置其属性,如图 3 28所示。程序中用到的控件及属性见表 3 39和表 3 40。步骤 2:打开代码编辑窗口,在指定位置编写如下代码。 Private Sub Dirl_hange() Filel Path=Dirl Path使目录列表框 Dir1与文件列表框 File1同步 End Sub Private Sub Drivel_Change() Dir1 Path=Drivel Drive使驱动列表框 Drive 1与目录列表框 Dir1同步 End Sub Private Sub Filel Click() L
22、abel2=File1 FileName显示 File1中的文件名 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)通过框架的 Name、 Caption 和 Enabled 属性设置框架的名称、标签以及是否可用。通过单选按钮的 Name、 Caption 和 Viue属性设置单选按钮的名 称、标签以及是否被选中。 (2)在实际应用中,驱动器列表框、目录列表框和文件列表框通常需要同步操作,这可以通过 Path 属性的改变引发 Change事件来实现。 例如: PriVate sub Dirl_Change() File1 Path=Dirl Path
23、End Sub 该事件过程使窗体上的目录列表框 Dir1和文件列表框 Filel 产生同步。因为目录列表框的 Path 属性的改变将产生 Change事件,所以在 DM_Change事件过程中,把 Dir1 Pmh 赋给 File1 Pmh 即可产生同步效果。 类似地,增加下面的事件过程可使三种列表框同步操作。 例如: PriVate Sub Drive1 Change() Dirl Path=Drive1 Drive End Sub 该过程使驱动器列表框与目录列表框同步,前面的过程使目录列表框与文件列表框同步,从而使三种列表框同步。 三、简单应用题 42 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内 容。 Option Base 1 Private Sub Commandl_Click() Dim arrN(30)As Integer Dim Min As Integer Randomi ze For i=1 To 30 arrN(i)=Int(Rnd*1000) Next i min=arrN(1)将第一个数赋给 Min,以提供判断 For i=2 To 30 If arrN(i) Then比较最小值与其 他数值,找出最小值 Min=arrN(i) End If Next j Print Min
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1