国家二级(VB)机试模拟试卷257 (题后含答案及解析)
题型有:1. 选择题 2. 基本操作题 3. 简单应用题 4. 综合应用题
选择题
1. 下面有关标准模块的叙述中,错误的是(    )。
A.标准模块的文件扩展名为.bas
B.标准模块中的Private过程不能被工程中的其他模块调用
C.标准模块不完全由代码组成,还可以有窗体
D.标准模块中的全局变量可以被工程中的任何模块引用
正确答案:C
解析:标准模块是只含有程序代码的应用程序文件,其扩展名为.bas。标准模块是应用程序内其它模块可访问的过程和声明的容器,它们可以包含变量、常数、类型、外部过程和全局过
程的全局(在整个应用程序范围内有效的)声明或模块级声明,它由3部分组成:①全局变量声明;②模块层声明:③通用过程。其中,全局声明放在标准模块的首部,因为每个模块都可能要求有它自己的惟一名字的全局变量。全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的代码不可见。 
2. 设有如下Commandl的单击事件过程及fun过程:    Private Sub Commandl_Click(  )    Dim x As Integer    x=Val(InputBox(”请输入一个整数”))    fun(x)    End Sub    Private Sub fun(x As Integer)    If x Mod 2=0 Then fun(x/2)    Print x;    End Sub    执行上述程序,输入6,结果是(    )。
A.3 6
B.6 3
C.6
D.程序死循环
正确答案:A
解析:题目中fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用fun过程,这次参数为6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值即3,然后返回第一次调用过程中执行下一句输出第一次调用参数值,即6。因此程序会输出3 6。 
3. 以下叙述中错误的是(    )。
A.在通用过程中,多个形式参数之间可以用逗号作为分隔符
B.在Print方法中,多个输出项之间可以用逗号作为分隔符
C.在Dim语句中,所定义的多个变量可以用逗号作为分隔符
D.当一行中有多个语句时,可以用逗号作为分隔符
正确答案:D
解析:一般情况下,输入程序时要求一行只写一条语句。但语句行较短时也可以将多个语句书写在同一行中,这时,语句之间使用冒号分隔。故D选项错误。 
4. 设a=4,b=5,c=6,执行语句Print a<b And b<c后,窗体上显示的是(    )。
A.True
B.False
C.出错信息
D.0
正确答案:A
解析:Print语句中计算表达式的值,按运算符的优先级顺序,关系运算符“<”比逻辑运算符“And”优先级高。先计算“<”,结果为True And True,再计算“And”,结果为。True,故选A。 
5. 以下关于过程及过程参数的描述中,错误的是(  )。
A.过程的参数可以是控件名称
B.调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)
C.只有函数过程能够将过程中处理的信息返回到调用程序中
D.窗体可以作为过程的参数
正确答案:C
解析:过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故选项A、D正确。调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项B正确。在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中,Sub过程也可以。Sub过程中形参声明时前面有关键字ByRef或省略ByRef(默认)时,实参和形参之间传递的是地址,Sub过程中形参的变化也会引起实参的变化,这样Sub过程中处理的信息也可以传回调用程序中。故选项C说法错误。 
6. 开发大型软件时,产生困难的根本原因是(    )。
A.大型系统的复杂性
B.人员知识不足
C.客观世界千变万化
D.时间紧、任务重
正确答案:A
解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。 
7. 软件设计中划分模块的一个准则是(  )。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
正确答案:B
解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 
8. 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为(  )。
A.并
B.自然连接
C.笛卡尔积
D.交
正确答案:D
解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)。 
9. 已知AS=Welcome,下列语句操作能够正确执行的是(    )。
A.Label1.Height=AS
B.Label1.Caption=A$
C.Label1.Enabled=A$
D.Label1.Visible=AS
正确答案:B
解析:本题考查标签的各种属性。标签的Iteight属性值为数值型,不能赋字符串型值,而Enabled和Visible为布尔型,只有Caption属性值为字符串型。 
10. 某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中:    Private Sub Command1_Click(  )    Openout.txtFor Output As #2    PrintTlextl    Close #2    End Sub    调试时发现没有达到目的,为实现上述目的,应做的修改是(    )。
A.把PrintText1改为Print #2,Text1
B.把PrintText1改为Print Text1
C.把PrintText1改为WriteText1
D.把所有#@改为#1
正确答案:A
解析:要把文本框中的内容写入文本文件中,首先要用Open语句的For Output模式打开文本文件,并为文件制定一个文件号,然后,用Print语句将文本写入文本文件,最后关闭文件。    本题中Click事件过程中第1、3条语句正确。    第2条语句Print语句的格式是:Print#文件号,要写入的内容,原语句错误。    根据格式按选项A修改正确,故A选项正确。 
11. 下列数据结构中,属于非线性结构的是(    )。
A.循环队列
B.带链队列
C.二叉树
D.带链栈vb软件开发
正确答案:C
解析:树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。 
12. 设有语句:    Openc:\Test.DatFor Output As #1    则以下叙述中错误的是(    )。
A.该语句打开c盘根目录下的一个文件Test.Dat,如果该文件不存在则出错
B.该语句打开C盘根目录下一个名为Test.Dat的文件,如果该文件不存在则创建该文件
C.该语句打开文件的文件号为1
D.执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息
正确答案:A
解析:本题中是用Open语句打开一个顺序文件Test.Dat,并指定一个文件号1。故C选项正确。    如果Test.Dat文件不存在,则系统自动创建该文件。故B选项正确,A选项错误。    用ForOutput模式打开文件,可通过Print#语句向文件写入信息。故D选项正确。 
13. 设有窗体的Form_MouseMove事件过程如下:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)  If(Button And 3)=3 Then    Print 检查按键  End IfEnd Sub关于上述过程,以下叙述中正确的是(  )。
A.按下鼠标左键时,在窗体上显示检查按键
B.按下鼠标右键时,在窗体上显示检查按键
C.同时按下鼠标左、右键时,在窗体上显示检查按键
D.不论做何种操作,窗体上都不会显示
正确答案:C
解析:MoseMove事件中的Button表示鼠标所有的状态。用0、1、2三个位表示左、右、中键,当按下某个键时,相应位是1,否则是0。三位二进制数也可以转换为十进制数,作为Button的值。如表:    本题中当Button值为011时,或111时,(Button And 3)=3,条件才成立,窗体上显示“检查按键”。这说明只要同时按下鼠标的左右键时,在窗体上就是显示“检查按键”。故选C。 
14. 设有以下程序:    Private Sub Form_Click(  )    x=50    For i=1 To 4    Y=InputBox(”请输入一个整数”)    Y=Val(Y)    If Y Mod 5=0 Then    a=a+Y    x=y    Else    a=a+x    End If    Next i    Print a    End Sub    程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为(    )。
A.100
B.50
C.120
D.70
正确答案:A
解析:程序的作用是输入的数如果是5的倍数就累加,如果不是就每次加50或与上次是5的倍数的那个数相累加。因此最终a的值是15+15+35+35=100。 
15. 关于变量作用域,下列叙述中正确的是(    )。
A.在窗体的Form Load事件过程中定义的变量是全局变量
B.局部变量的作用域可以超出所定义的过程
C.在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只限于该过程
D.在调用过程中,所有局部变量被系统初始化为0或空字符串
正确答案:C