Dim A(-1 to 2) As Integer 则数组A中共有( B )个元素。 A.2 B.4
C.不能确定 D.3
23. 设有数组声明语句: Option Base 1
Dim b(-1 To 1, 2 ) As Integer 则数组b中共有(C )个元素。 A.2 B.4 C.6 D.9
24. 以下(B)是合法的数组元素表示方法。 A.M6 B.M{9} C.M(M(5)) D.M[M+1]
25. 在Visual Basic中,全局变量的定义方式是( B)。 A.Static B.Public C.Dim D.Private
26. 以下叙述错误的是(B)
A.窗体、标准模块、类模块等分别保存为不同类型的磁盘文件
B.在一个窗体模块中用private定义的通用过程能被其他窗体模块调用 C.全局变量必须在模块的通用声明段定义 D.一个工程中可以包含多个窗体文件 27. 设已经定义了如下结构的函数过程: Function f(a, b, Optional c) ...
End Function
则以下函数调用错误的是(D)
A.f(1,2) B.f(a,b) C.f(a,b,c) D.f(a,b,c,d)
28. 设已经定义了如下结构的函数过程: Function f(a, b, Optional c) ...
End Function
则以下函数调用错误的是(C)
A.f(1,2) B.f(a,b) C.f(a,b,c) D.f(a,b,c,d)
29. 使用Public Const语句声明一个全局的符号变量时,该语句应放在(D) A.过程中
B.窗体模块的通用声明段
C.窗体模块或标准模块的通用声明段 D.标准模块的通用声明段
30. 下面的过程定义语句中合法的是(B )。 A.Sub proc1(n) As Integer B.Function proc1(Byval n) C.Function proc1(proc1) D.Sub proc1(Byval n())
31. 在参数传递过程中,使用关键字(A )来修饰参数,可以使之按值传递。 A.ByVal B.Value C.ByRef D.Reference
32. 以下叙述中错误的是(C)
A.在Sub过程中可以嵌套调用Sub过程
B.在Sub过程中不能嵌套定义Sub过程
C.事件过程可以像通用过程一样由用户定义过程名
D.如果过程被定义为Static类型,则该过程的局部变量都是Static类型 33. 以下叙述中错误的是(A)
A.在Sub过程中可以嵌套调用Sub过程 B.在Sub过程中不能嵌套定义Sub过程
C.事件过程可以像通用过程一样由用户定义过程名
D.如果过程被定义为Static类型,则该过程的局部变量都是Static类型 34. 如下语句中,与List1.List(List1.ListIndex)功能相同的是(B )。 A.List1.listIndex B.List1.text
C.List1.listCount D.Text1.text
35. 单选按钮用于一组互斥的选项中,若一个应用程序包含多组互斥的条件。可在不同的( C )中安排适当的单选按钮,即可以实现。 A.组合框或图片框 B.组合框或图像控件 C.框架控件或图片框 D.框架控件或图像控件
36. 在程序中可以通过复选框和单选按钮的( D )属性值来判断它们的当前状态。 A.Selected B.Caption C.Checked D.Value
37. 在程序中可以通过复选框和单选按钮的(C )属性值来判断它们的当前状态。 A.Selected B.Checked C.Value D.Caption
38. 在程序中可以通过复选框和单选按钮的( B )属性值来判断它们的当前状态。 A.Selected B.Checked C.Value D.Caption
39. 设已经在窗体上添加了一个通用对话框控件CommonDialog1,以下正确的语句是(D)。 A.CommonDialog1.Filter=\B.CommonDialog1.Filter={ALL Files|*.*|Pictures(*.Bmp)|*.Bmp} C.CommonDialog1.Filter=ALL Files|*.*|Pictures(*.Bmp)|*.Bmp D.CommonDialog1.Filter=\40. 以下关于菜单的叙述中,错误的是(B)。 A.弹出式菜单在菜单编辑器中设计
B.如果把一个菜单项的Enabled属性设置为False,则可删除该菜单项 C.在程序运行过程中可以增加或减少菜单项
D.利用控件数组可以实现菜单项的动态增加或减少
41. 在窗体上画出一个通用对话框控件。程序运行后,通过ShowOpen方法显示“打开”对话框,要求在该对话框的“文本类型”栏中只显示扩展名为.DOC的文件,则对通用对话框的Filter属性的正确设置是(A)。 A.\B.\C.\D.\
42.以下叙述中错误的是(B)。
A.程序运行过程中,可以重新设置菜单的Visible属性
B.在同一个窗体的菜单项中,不允许出现标题相同的菜单项 C.在同一个窗体的菜单项中,不允许出现名称相同的菜单项 D.弹出式菜单也在菜单编辑器中定义
43.执行下面程序段之后,窗体右下角坐标为(A) Form1.ScaleTop=1:Form1.ScaleLeft=1 Form1.ScaleHeight=-2:Form1.ScaleWidth=2 A.(3,-1) B.(1,2) C.(2,-1) D.(1,1)
44. 通过设置Shape控件的(c)属性可以绘制多种形状的图形。 A.BorderStyle B.Style C.Shape D.FillStyle
45. 执行下面程序段之后,窗体左上角坐标为(D) Form1.ScaleTop=1:Form1.ScaleLeft=1 Form1.ScaleHeight=-2:Form1.ScaleWidth=2 A.(2,-1) B.(1,2) C.(3,-1) D.(1,1)
46. 语句Line(100,100)-(500,500),vbRed,Bf的功能是(D)。 A.在窗体上绘制一个红色的实线 B.在窗体上绘制一个红色的空心矩形 C.在窗体上绘制一个红色的点划线 D.在窗体上绘制一个红色的实心矩形
47. 用Write和Print语句向文件中写入多个数据的差别在于(B) A.Write语句不会自动在数据项之间插入逗号
B.Write语句写入字符串会自动给字符串加上双引号;写入的正数前面没有空格 C.Print语句自动在数据项之间插入逗号
D.Print语句写入字符串会自动给字符串加上双引号;写入的正数前面没有空格 48. 下面叙述中不正确的是(C) A.顺序文件结构简单
B.对顺序文件中的数据的操作只能按一定顺序执行 C.能同时对顺序文件进行读写操作
D.顺序文件的数据是以字符(ASCII码)的形式存储的
49. 在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是(A) A.Drive1_Change B.Dir1_Change C.Drive1_Click D.Dir1_Click
50. 下列叙述中不正确的是(A)
A.自定义数据类型只能在窗体模块的通用声明段进行声明
B.自定义数据类型必须在窗体模块或标准模块的通用声明段进行声明 C.在窗体模块中定义自定义数据类型时必须使用Private关键字
D.自定义数据类型中的元素的数据类型可以是系统提供的基本数据类型或已声明的自定义数据类型 一
'编写函数Jishu,函数的功能是:判断一个数是否为奇数。
'要求:使用函数名Jishu作为判断某数是否为奇数的 '标志,如果该数是奇数,函数返回True,否则函数 '返回False!
'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码
'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------
Private Function Jishu(n As Integer) As Boolean '********** Begin ********** If n Mod 2 = 0 Then Jishu = False Else
Jishu = True End If
'********** End ********** End Function
Private Sub Form_Click()
Print \是奇数吗?\ Print \是奇数吗?\ NJIT_VB End Sub
Private Sub NJIT_VB() Dim i As Integer Dim a(10) As String
Dim fIn As Integer Dim fOut As Integer fIn = FreeFile
Open App.Path & \ fOut = FreeFile
Open App.Path & \ For i = 1 To 10 Step 1 Line Input #fIn, a(i)
Print #fOut, Jishu(Val(a(i))) Next
Close #fIn Close #fOut End Sub
二'编写一个求正整数m和正整数n的最大公约数的函数Gcd。
'要求:使用函数名Gcd返回m和n的最大公约数
'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码
'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------
Private Function Gcd(m As Integer, n As Integer) As Integer '********** Begin ********** Dim r As Integer r = m Mod n Do While r <> 0 m = n n = r
r = m Mod n Loop Gcd = n
'********** End ********** End Function
Private Sub Form_Click()
Print \和28的最大公约数是:\ NJIT_VB Gcd(100, 28) End Sub
Private Sub NJIT_VB(s As Integer)
Open App.Path & \ Print #1, s Close End Sub 三
'编写一个对数组元素进行按升序排序的通用Sub过程。
'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码
'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------
Option Base 1
Private Sub Sort(A() As Integer) '********** Begin **********
Dim i As Integer, j As Integer, t As Integer Dim n As Integer n = UBound(A)
For i = 1 To n - 1 For j = i + 1 To n
If A(i) > A(j) Then t = A(i) A(i) = A(j) A(j) = t End If Next j Next i
'********** End ********** End Sub
Private Sub Form_Click() Dim A(10) As Integer Cls
Print \原始数据:\ Randomize
For i = 1 To 10
A(i) = Int(99 * Rnd + 1) Print A(i); Next i Print
Call Sort(A)
Print \升序排序:\ For i = 1 To 10 Print A(i); Next i NJIT_VB End Sub
Private Sub NJIT_VB() Dim i As Integer Dim A(10) As Integer Dim fIn As Integer Dim fOut As Integer fIn = FreeFile
Open App.Path & \ fOut = FreeFile
Open App.Path & \ For i = 1 To 10 Step 1 Input #fIn, A(i) Next
Call Sort(A)
For i = 1 To 10 Step 1 Write #fOut, A(i) Next
Close #fIn Close #fOut End Sub 四