国家二级(VB)机试模拟试卷445
选择题
1.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(A)
A. 23,13,51,57,66,26,81,69,76
B. 13,23,26,51,57,66,81,76,69
C. 23,13,51,57,26,66,81,69,76
D. 23,13.51,57,81,26,66,69,76
解析:快速排序是起泡捧序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。
2.下列描述正确的是( )。(C)
A. 软件测试是指动态测试
B. 软件测试可以随机地选取测试数据
C. 软件测试是保证软件质量的重要手段
D. 软件测试的目的是发现和改正错误
解析:软件测试有多种方法,根据软件是否需要被执行,可以分为静态测试和动态测试,A选项叙述错误。软件测试应在测试之前制定测试计划,并严格执行,排除测试随意性,并且需要设计正确的测试用例,B选项叙述错误。软件测试就是在软件投入运行之前,尽可能多地发现软件中的错误,改正错误是调试的过程,D选项叙述错误。软件测试是保证软件质量的重要手段,C选项正确。
3.在新建一个VB工程时,将新建窗体的Name属性设置为TheFirst,则默认的窗体文件名为( )。(C)
A. Forml.frm
B. 工程1.frm
C. TheFirst.frm
D. Forml.vbp
解析:本题考查窗体的命名。窗体文件的扩展名是tim,新建工程时默认的工程名为“工程1.vbp”,默认的窗体名为窗体的Name属性,这里为“TheFist.frm”。
4.下列合法的Visual Basic变量名是( )。(C)
A. 3A
B. A+3
C. A3
D. Abs
解析:变量是一个名字,给变量命名时应遵循以下规则。
①名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符;故A选项错误。
②名字只能由字母、数字和下画线组成;选项中B选项含有非法字符“+”,故B选项错误。
③名字的有效字符为255个。
④不能用Visual Basic的保留字作为变量,但可以把保留字嵌入变量名中。Abs是系统的函数名(求绝对值函数Abs())为保留字,不能作为变量名。故D选项错误。
所以C选项正确。
5.窗体上有一个名称为Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程:
Private Sub Option1_Click(Index As Integer)
…
End Sub
下面关于此过程的参数 Index 的叙述中正确的是( )。(C)
A. Index为1表示单选按钮被选中,为0表示未选中
B. Index 的值可正可负
C. Index 的值用来区分哪个单选按钮被选中
D. Index表示数组中单选按钮的数量
解析:Index参数值返回的是单选按钮数组中各单选按钮的索引值,用它来区分各单选按钮。故A、D选项错误,C选项正确;Index的值只能是非负数,故B选项错误。
6.窗体上有一个名称为Text1的文本框,一个名称为CD1的通用对话框,一个标题为\\(A)
A. 程序没有错误,可以正确完成打开文件、读取文件中内容的操作
B. 执行Open命令时出错,因为没有指定文件的路径
C. Open语句是错误的,应把语句中的For Input改为For Output
D. Line Input命令格式错
解析:第1条语句中用ShowOpen方法显示\\
7.下列各选项中,不属于序言性注释的是( )。(D)
A. 程序标题
B. 程序设计者
C. 主要算法
D. 数据状态
解析:注释一般为序言性注释和功能性注释。序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序的主要功能。
8.以下关于局部变量的叙述中错误的是( )。(D)
A. 在过程中用Dim语句或Static语句声明的变量是局部变量
B. 局部变量的作用域是它所在的过程
C. 在过程中用Static语句声明的变量是静态局部变量
D. 过程执行完毕,该过程中用Dim或Stmic语句声明的变量即被释放
解析:局部变量是在过程(事件过程或通用过程)内定义的变量,作用域为该变量所在的过程,定义时使用Dim、Static关键字。使用Dim关键字定义的是动态局部变量,过程执行结束后即被释放:使用Static关键字定义的是静态局部变量,过程执行结束后仍然保留。
9.下面是求最大公约数的函数的首部( )。
Function fun(By Val x As Integer,ByVal y As Integer)As Integer
若要输出8、12、16这3个数的最大公约数,
下面正确的语句是(D)
A. Print fun(8,12),fun(12,16),fun(16,8)
B. Print fun(8,12,16)
C. print fun(8,12),fun(12,16),fun(16)
D. Print fun(8,fun(12,16))
解析:函数过程在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。本题中的fun函数有两个参数,任何对于fun的调用都必须传递实参为两个整犁值;选项A)中得到3个结果,显然不是我们所需要的;选项D)中的函数嵌套调用能够求出3个数的最大公约数。
10.某人编写了下面的程序:
Private Sub Command1_Click()
Dim a As Integer,b As Integer
a=InputBox(\\(A)
A. 把过程pro的形式参数n As Integer改为ByVal n 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
解析:在过程定义中过程的形式参数定义时如果没有ByVal指明参数的传递方式,那么默认为地址传递,这样过程中对形参的改变将影响到实参的值。本程序中过程定义语句Private Sub pro(n As Integer)说明形参n为按地址传递的,而在过程内语句n=n\10改变了形参的值,因此,a、b的值就不再是最初输入的值了,表达式a+b就不是期望的两个输入数的和。因此得不到正确结果。
只要把Private Sub pm(n As Integer)改为Private Sub pro(ByVal n As Integer),程序即可得到正确结果,因此A选项正确。
11.以下说法中正确的是( )。(D)
A. 事件
本文档预览:3600字符,共20745字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载