21.设有如下程序:
Option Base 0
Private Sub Form_Click()
Dim a
Dim i As Integer
a=Array(1,2,3,4,5,6,7,8,9)
For i=0 To 3
Print a(5-i);
Next
End Sub
程序运行后,单击窗体,则在窗体上显示的是( )。
A.4 3 2 1
B.5 4 3 2
C.6 5 4 3
D.7 6 5 4
22.为了暂时关闭计时器,应把该计时器的某个属性设置为False,这个属性是( )。
A.Visible
B.Timer
C.Enabled
D.Interval
23.下列说法正确的是( )。
A.任何时候都可以使用标准工具栏的“菜单编辑器”按钮打开菜单编辑器
B.只有当代码窗口为当前活动窗口时,才能打开菜单编辑器
C.只有当某个窗体为当前活动窗体时,才能打开菜单编辑器
D.任何时候都可以使用“工具”菜单下的“菜单编辑器”命令,打开菜单编辑器
24.假定一个工程由一个窗体文件Form1和两个标准模块文件Model1及Model2 组成。
Model1代码如下:
Public X As Integer
Public Y As Integer
Sub S1()
x=1
S2
End Sub
Sub S2()
y=10
Form1.Show
End Sub
Model2的代码如下:
Sub Main()
S1
End Sub
其中Sub Main被设置为启动过程。程序运行后,各模块的执行顺序是( )。
A.Form1→Model1→Model2
B.Model1→Model2→Form1
C.Model2→Model1→Form1
D.Model2→Form1→Model1
25.在窗体上有一个命令按钮,然后编写如下事件过程:
Private Sub Command1Click()
Dim a(5)As String
For i=1,To 5
a(i)=Chr(Asc("A")+(i-1))
Next i
For Each b In a
Print b;
Next
End Sub
程序运行后,单击命令按钮,输出结果是( )。
A.ABCDE
B.1 2 3 4 5
C.abcde
D.出错信息
26.设a=2,b=3,c=4,d=5,下列表达式的值是( )。
Not a<=c Or 4*C=b^2 And b<>a+C
A.-1
B.1
C.True
D.False
27.窗体上有文本框Text1和一个菜单,菜单标题、名称见表,结构见图。要求程序执行时单击“保存”菜单项,则把其标题显示在Text1文本框中。下面可实现此功能的事件过程是( )。
A.Private Sub save Click()
Text1.Text=file.save.Caption
End Sub
B.Private Sub save Click()
Text1.Text=save.Caption
End Sub
C.Private Sub file Click()
Text1.Text=file.save.Caption
End Sub
D.Private Sub file Click()
Text1.Text=save.Caption
End Sub
28.在窗体上有两个名称分别为Text1、Text2的文本框,一个名称为Command1的命令按钮,运行后的窗体外观如图所示:
设有如下的类型和变量声明:
Private Type Person
name As STRING*8
major As String*20
End Type
Dim P As Person
设文本框中的数据已正确地赋值给Person类型的变量P,当点击“保存”按钮时,能够
正确地把变量中的数据写入随机文件Test2.dat中的程序段是( )。
A.Open"C:\Test2.dat"For Output As#1
Put#1,1,p
Close#1
B.0pen"c:\Test2.dat"For Random As#1
Get#1,1,P
Close#1
C.Open”C:\Test2.dat”For Random As#1 Len—Len(p)
Put#1,1,P
Close#1
D.Open"C:\Test2.dat"For Random As#1 Len=Len(p)
Get#1,1,P
Close#1
29.以下叙述中错误的是( )。
A.一个工程中可以包含多个窗体文件
B.在一个窗体文件中用Private定义的通用过程能被其他窗体调用
C.在设计Visual Basic程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件
D.全局变量必须在标准模块中定义
30.Sub过程与Function过程最根本的区别是( )。
A.Sub过程可以用Call语句直接使用过程名调用,而Function过程不可以
B.Function过程可以有形参,Sub过程不可以
C.Sub过程不能返回值,而Function过程能返回值
D.两种过程参数的传递方式不同
21.A。【解析】定义动态数组使用Dim数组名[]As数组类型,不规定数组的大小。重定义后,可以定义数组的长度,但不能定义数组的类型。本题A选项正确。选项B中,重定义后不可改变数组类型。选项C中必须先定义数组类型,选项D中开始定义了数组长度,不是动态数组。
22.D。【解析】GCD函数返回两个或多个整数的最大公约数,最大公约数是能分别将各个参数除尽的最大整数。其语法格戈为GCD(num1,num2,…),Num1,num2,…,为1~255个数值,如果参数为非整数,则截尾取整。所以本题正确的写法是9cd(8,gcd(12,16))。
23.A。【解析】本题是要得出矩阵的倒置,首先本题定义了一个3行5列的矩阵,转换完成后要变成5行3列,把原来的行元素变成后来的列元素,所以先输出j,再输出i。故本题答案为A选项。
24.D。【解析】本题要实现的功能是当输入错误口令时,在窗体上显示输入错误口令的次数,本题若要正确记录输入错误的次数,应把n定义成静态变量n。
25.C。【解析】本题是对Pl的鼠标移动的记录,并且在屏幕上输出坐标位置,所以为Pl.Print X,Y。
26.c。【解析】Stop用在for循环中,表示每一次循环,变量增加几,本题中按照公式,k作为分母,值应为奇数,所以应用Fo,k=3 To n Step 2。是从3开始的奇数,所以本题为C。
27.A。【解析】本题中s=s+a*a*a,即求a3。a=a-1即把每次a减1,直到a<=0退出循环,所以本题是求所有的a3之和,所以A选项正确。
28.C。【解析】本题定义了元素为5的数组,并且定义Code和Caption都为整型,正确输出语句应为Print arr(2).Code,ar,(2).Caption。
29.C。【解析】本题中CD1显示的文件类型为Filter中的第1个“所有文件”,应在CD1.Action=1语句的前面添加CD1.FilterIndex=3语句,将文本类型设置为“文本文件”。所以本题答案为C。
30.B。【解析】本题是要把一个三位整数分开,分别输出个位、百位和十位。Mod为取余运算,“\”为取整运算。所以本题输出5 3 9。