国家二级(VB)机试模拟试卷228
选择题
1.下列关于栈的叙述正确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。
2.为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为( )。(C)
A. Dim pi As Integer
B. Dim pi(7)As Integer
C. Dim pi As Single
D. Dim pi As Long
解析:单精度Single或双精度Double型的变量能够保存浮点型小数,整型Integer和长整型Long的变量只能保存整型数据。本题中圆周率为3.14159,小数,可用定义一个Single或Double型变量来保存。故选C。
3.窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:
Private Sub Command1_Click()
For i=0 To List1.ListCount-1
If List1.Selected(i)=True Then
List2.AddItem Text
End If
Next
End Sub
上述事件过程的功能是将List1中被选中的列表项添加到List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是( )。(C)
A. 将For循环的终值改为List1.ListCount
B. 将List1.Selected(i)=True 改为List1.List(i).Selected=True
C. 将List2.AddItem Text 改为List2.AddItem List1.List(i)
D. 将List2.AddItem Text 改为List2.AddItem List1.ListIndex
解析:题目程序不能将List1中的选中项添加到List2中,List2.AddItem Text一行有误,应该改为List2.AddItem List1.List(i)才能使List1中每个选中的行添加到List2中。列表框控件的List属性保存了列表框中所有值的数组,可以通过下标访问数组中的值。
4.在窗体上画1个文本框,名称为Text1,然后编写如下程序:
Private Sub Form_Load()
Open\\(A)
A. KevAscii \\
B. Text1.Text \\
C. Text1.Text 13
D. KevAscii 13
解析:本题考查KeyPress事件。在Text1中输入字符时,将触发Text1的KeyPress事件,同时可返回一个KeyAscii参数(输入宁符的ASCII码,区分大小写)。当KeyAscii为13时,表示输入了回车键,此时判断Text1的文本信息,如果Text1的文本为“END”,则关闭文件,退出程序。
5.窗体上有一个名称为Text1的文本框,一个名称为CD1的通用对话框,一个标题为\\(A)
A. 程序没有错误,可以正确完成打开文件、读取文件中内容的操作
B. 执行Open命令时出错,因为没有指定文件的路径
C. Open语句是错误的,应把语句中的For Input改为For Output
D. Line Input命令格式错
解析:第1条语句中用ShowOpen方法显示\\
6.在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:
Private X As Integer
Private Sub Command1_Click()
X=5:Y=3
Call proc(X,Y)
Labell.Caption=X
Label2.Caption=Y
End Sub
Private Sub proc(a As Integer,ByVal b As Integer)
X=a*a
Y=b+b
End Sub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是( )。(A)
A. 25和3
B. 5和3
C. 25和6
D. 5和6
解析:虽然在过程proc中参数a默认为按地址传递,参数b指定了ByVal(按值)方式传递,但过程中并没有对a,b的值改变,只对变量X和Y进行了赋值,而X是在窗体模块中起作用的模块变量,而变量Y在proc过程中没有声明,要整个模块中也没有声明,说明它是一个局部变量,只在本过程中起作用。因此,在proc过程中X=a*a=5*5=25,会使按钮单击事件中的变量X值变为25,而按钮单击事件过程中的变量Y不受影响,仍是原来的值3。因此两个标签上会分别显示25和3。
7.设x是整型变量,与函数IIf(x>0,一X,X)有相同结果的代数式是( )。(B)
A. |x|
B. -|x|
C. x
D. -x
解析:IIF函数是条件函数,本题的含义是如果x>0条件成立,即x为正数,就返回-x,即x的负数,否则返回x(它本身),两种情况都是返回负数。根据这一点,选项B符合要求。故B选项正确。
8.当文本框中的内容发生改变时所触发的事件是( )。(B)
A. KeyUp
B. Change
C. LostFocus
D. GotFocus
解析:文本框中内容有变化时,触发Change事件。故B选项正确。
当在文本框中输入数据,松开键盘时触发它的KeyUp事件;文本框失去焦点触发LostFocus事件;获得焦点,触发GotFocus事件。
9.设有如下数组定义语句:
Dim a(一1 To 4,3)As Integer
以下叙述中正确的是( )。(C)
A. a数组有18个数组元素
B. a数组有20个数组元素
C. a数组有24个数组元素
D. 语法有错
解析:本题定义了一个二维数组,第一维的下标一1 to 4,即为一1,0,1,2,3,4(共6行),第二维下标3,即0to 3(0,1,2,3共4列),6*4=24二维数组有24个数组元素。故选C。
10.阅读下面程序代码:
Private Sub Command1_Click()
Dim temp As Integer
a=Array(2,7,4,10,0,1,8,5,3,9,6)
For i=7 To 4 Step-1
For j=3 To i-1
If a(j)>a(j+1)Then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
本文档预览:3600字符,共18810字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载