1. 当选项按钮被选中时,其Value属性值为 (1) 。
A.0 B. 1 C. 2 D. True
2. 下列有 (2) 个不是VB合法常量。
①vbCrLf ②1# ③π ④"XY" ⑤1E-5
A.0 B.1 C.2 D.4
3. 下面不能获得焦点的控件是____(3_)_____。
A. CheckBox B. ListBox C. PictureBox D. Timer
4. 表达式Val("1234.67E-3ab7")的值为 (4) 。
A. 1234.67 B. 1.23467 C. 1234.677 D. 表达式出错
5.下列项目中,属性、方法、事件的个数分别有 (5 ) 个。
①Caption ②Unload ③Cls ④SetFocus ⑤LostFocus ⑥KeyPress
A. 2 2 2 B. 1 2 3 C. 3 2 1 D. 2 3 1
6.以下有关对象属性的说法中,错误的是 (6) 。
A.对象的Name(名称)属性在程序代码中,作为对象的标识名
B.只能在运行时设置或改变的属性不会出现在属性窗口中
C.Visible属性值设为True的对象肯定是活动对象
D.某些属性具有若干子属性,例如Font属性
7.以下有关图片框PictureBox用法的叙述,错误的是 (7) 。
A.图片框可用作其他控件的容器
B.图片框可以显示不同种类与格式的图形或图像文件
C.可使用命令:Picture1="",来清除图片框Picture1中显示的文字和图形
D.可使用图片框的Print方法在图片框中显示文本或数据处理结果
8.以下有关变量说明的叙述中,错误的是 (8) 。
A.工程中没有说明类型的变量都是不能使用的、不合法的
B.Dim语句既可用于说明变量的类型,也可以说明数组的类型
C.Static语句用于在过程中说明静态变量
D.Private语句用于说明窗体/模块级变量
9. 如果编写的过程要被多个窗体及其对象调用,应将这些过程放在 (9) 。
A. 窗体模块 B. 工程 C. 标准模块 D. 类模块
10. 下列不是窗体事件的是____(10)______。
A. Load B. GotFocus C. Print D. LostFocus
11.下面表达式的值是 (11) 。
CInt(-3.5) +Fix(-3.5) + Int(-3.5) + 5\\3
A. -8 B. -11 C. -9 D. -10
12.执行下面程序,则输出结果是____(12)_____。
Private Sub Command1_Click()
Dim A As Integer, B As Integer
A = 15
B = 25
Print A\\4 > B Mod 7
End Sub
A. -1 B. 0 C. True D. False
13.执行下列语句时,会出现出错提示的是 (13) 。
A. Print 256 * 256 B. Print "256" & 256
C. Print "256" + 256 D. Print 256 = 127 * 2
14. 程序中没有使用 Option Base 语句,如果用数组声明语句Dim A(3 , -2 To 4) 定义了数组A,则数组 A 包含元素的个数为____(14)_____。
A. 28 B. 35 C. 32 D. 30
15.算术表达式 的VB表达式是 (15) 。
A. (e^(2*π*x-5)*log(x)+(sin(2x))^3)/sqr(abs(sin(x)-cos(x^2)))
B. (exp(2*3.14159*x-5)*log(x)+(sin(2*x))^3)/sqr(abs(sin(x)-cos(x^2)))
C. (exp(2*π*x-5)*ln(x)+(sin(2*x))^3)/sqr(abs(sin(x)-cos(x^2)))
D. e^(2*3.14159*x-5)*ln(x)+(sin(2*x))^3)/sqr(abs(sin(x)-cos(x^2)))
16.变量S为字符型,若在文本框Text1、Text2中分别输入数字23与35后,再执行以下语句,S的最终结果为"58"的是 (16) 。
A. S = Text1.Text & Text2.Text
B. S = Text1.Text + Text2.Text
C. S = Val(Text1.Text) + Text2.Text
D. S = Val(Text1.Text) & Text2.Text
17.下面四个算术运算符中 , 优先级别最低的是____(17)_____
A. \ B. / C. ^ D. *
18.下面可以将变量A、B的值交换的一组语句是__(18)______。
A. A=B:B=A
B. T=A:A=B:B=T
C. A=B:B=T:T=A
D. A=(A+B)/2:B=(A-B)/2
19. 在窗体模块Form1的通用声明处和其中的Sub1过程中分别用Public K As Integer和Dim K As Integer定义了同名变量K,则在过程Sub1中要访问全局变量K,应使用 (19) 。
A.Form1.K B.Form.K C.K D.无法访问
20. 不能将相应对象中的信息全部清除的语句是 (20) 。
A. Me.Cls B. Picture1.Cls C. List1.RemoveItem 0 D. Text1 =""
21. 语句 If X = 15 Then Y = 1, 下列说法正确的是___(21)______。
A. X = 15 和 Y = 1 均为赋值语句
B. X =15 为关系表达式 ,Y = 1 为赋值语句
C. X = 15 和 Y = 1 均为关系表达式
D. X =15 为赋值语句 ,Y = 1 为关系表达式
22. 创建一个名为“退出”的菜单项,使其可用Alt+E方式访问,则在菜单编辑器的标题文本框中应输入 (22) 。
A.退出($E) B. 退出(&E)
C. 退出(#E) D. 退出(%E)
23.窗体上有若干命令按钮和一个文本框,程序运行时焦点置于文本框中,为了在按下ESC键时执行某个命令按钮的Click事件过程,需要将该按钮的 (23) 属性设置为True。
A.Enabled B.Default C.Cancel D.Visible
24. 以下关于Function过程的说法中,错误的是__ _(24)____。
A.Function过程名可以有一个或多个返回值
B.在Function过程内部不得再定义Function过程
C.Function过程中可以包含多个Exit Function语句
D.可以像调用Sub过程一样调用Function过程
25.下列 (25) 是合法的变量名。
A. abs B. -a1 C. cdc d D. Abc_10
26.要从文件data.txt读取数据,正确的文件打开命令是 (26) 。
A. Open "data1.txt " For Output As #1
B. Open "data1.txt " For Input As #1
C. Open "data1.txt " For Append As #5
D. Open "data1.txt " For Write As #5
27.设x = 3,y= 2,z = 1,运行print x < y 28.以下Case语句中,错误的是__ _(28)_____。 A. Case -10 To 0 B. Case Is > 0 C. Case Is > -10 And Is < 0 D. Case -3, -5, Is > 10 29.下列表达式的值是False的是 (29) 。 A. "n" & "969" < "n97" B. InStr("visualbasic C. CStr(2000) 30.下列有关数组的说法正确的是 (30) A.数组是有序变量的集合,序列中的变量类型可以不同 B.数组下标用以确定数组元素在数组中的位置,下标取值只能是0或1 C.在一定条件下动态数组可以反复改变其维数与大小 D.固定大小数组也可以使用ReDim语句改变其大小 31.下列能够正确表示条件“X≤Y<Z”的VB逻辑表达式是 (31) 。 A. X ≤ Y < Z B. X ≤ Y Or Y < Z C. X <= Y And Y < Z D. X <= Y < Z 32.设计界面时,要使一个文本框具有水平和垂直滚动条,应先将其 (32) 属性置为True,再将ScrollBar属性设置为3。 A.MultiLine B.AutoSize C.Alignment D.RightToLeft 33.使用过程编写程序是为了 (33) 。 A.使程序易于阅读 B.使程序模块化 C.提高程序运行速度 D.便于系统的编译 34. 下列定义Sub过程的语句正确的是 (34) 。 A. Private Sub Sub1(A() As Integer ) B. Private Sub Sub1(A As String * 5) C. Private Sub Sub1(ByVal A() As Integer) D. Private Sub Sub1(A(10) As Integer) 35.在一行写多条语句时,每个语句之间用 (35) 符号分隔。 A. , B. : C. 、 D. ; 36.下面有关数组的说法中, (36) 是错误的。 A. 过程定义中,形参数组可以是定长字符串类型 B. 在模块中由于未使用Option Explicit语句,所以数组不用先定义就可以使用,只不过是Variant类型 C. Erase语句的作用是对固定大小数组的值重新初始化或收回分配给动态数组的存储空间 D. 定义数组时,数组维界值可以不是整数 37.过程调用时,下列关于形参与实参之间数据传递的原则说法正确的是 (37) 。 A.按实参与形参同名的原则 B.按实参与形参位置对应的原则 C.按实参与形参个数相同且类型也对应的原则 D.按实参与形参不仅位置对应,且类型也要对应的原则 38. 以下对数组参数的说明中,错误的是 (38) 。 A. 在过程中可以用Dim语句对形参数组进行声明 B. 形参数组只能按地址传递 C. 实参为动态数组时,可用ReDim 语句改变对应形参数组的维界 D. 只需把要传递的数组名作为实参,即可调用过程 39.算法可以采用多种方式来表示,以下 (39) 描述方法既形象又直观,所以得到广泛的应用。 A. 自然语言法 B. 伪代码(类似自然语言) C. 程序设计语言 D. 流程图 40.Visual Basic 是一种面向对象的程序设计语言,其应用程序的工作模式是 (40) 。 A.事件驱动 B.对象驱动 C.属性驱动 D.方法驱动 41.下列关于菜单的说法中,错误的是__ (41)_____。 A.每一个菜单项就是一个对象,并且可设置自己的属性和事件 B.菜单项不可以响应DblClick事件 C.VB6.0允许创建超过四级的子菜单 D.程序执行时,如果要求菜单项是灰色,不能被用户选择,则应设置菜单项的Enabled属性为False 42. 扩展名为VBP的工程文件中包含有 (42) 。 A. 每个窗体模块中的所有控件的有关信息 B. 工程中所有模块的有关信息 C.每个模块中所有变量的有关信息 D.每个模块中所有过程的有关信息 43. 同一模块的不同过程之间,不能通过 (43) 进行数据传递。 A.全局变量 B.模块级变量 C.静态变量 D.形参与实参结合 44. 调用由语句Private Sub Sub1(X As Integer)定义的Sub过程时,以下不是按值传递的语句是 (44) 。 A.Call Sub1((y)) B.Call Sub1(y * 1) C.Sub1 (y) D.Sub1 y 45.计时器控件表示时间间隔的属性Interval单位为 (45) 秒。 A. 千分之一 B. 百分之一 C. 十分之一 D. 万分之一 46. 对于列表框list1,下列 (46) 可以表示列表框的最后一项内容。 A.list1.text B.list1.listindex C.list1.list(listcount-1) D.list1.list(list1.listcount-1) 47. 在窗体模块与标准模块中都可以定义公共变量,以下可以在窗体通用声明处定义的语句是 (47) 。 A. Public A() As Boolean B. Public Str As String C. Public t(2,3) As Integer D. Public Const eps=0.000001 48. 函数LEN(“VB程序设计教程”)的值是 (48) 。 A. 16 B.14 C. 8 D.9 49. 若定义Sub过程时没有使用Private, Public, Static关键字,则所定义的过程是 (49) 。 A. 私有的 B. 公有的 C.静态的 D.以上三项都不对 50. 下面的哪个窗口不可以用来调试程序__(50)____。 A. 立即窗口 B. 监视窗口 C. 属性窗口 D. 本地窗口 二、填空题(2分×20=40分) 1. 语句 For I = 15 To 2 Step –2 的循环次数为____(1)_____ 。 2. 表示X是 5 的倍数或是 9 的倍数的逻辑表达式为____(2)_____。 3.执行下面的程序后,C2是 (3 ) 。 Option Explicit Private Sub Command1_Click() Dim C As String, I As Integer, C1 As String, C2 As String C = "1234567" For I = 9 To 1 Step -1 C1 = C1 + Mid(C, I, 1) C2 = Mid(C, I, 1) + C2 Next I Print C1,C2 End sub 4.执行Command1_Click事件过程后,共输出 (4) 行数据,其中第三行输出结果为 (5) 。 Private Sub Command1_Click() dunno 3 End Sub Public Function dunno(M As Integer) As Integer Dim value As Integer If M = 0 Then value = 3 Else value = dunno(M - 1) + 5 End If dunno = value Print M, value End Function 5.程序运行时,单击命令按钮后,第一、三行的输出结果分别是 (6) 、 (7) 。 Option Explicit Private Function fun(X As Single) As Single Static Y As Single Y = Y + X fun = Y / 2 End Function Private Sub command1_click() Dim X As Single, I As Integer X = 1.2 For I = 1 To 3 X = X * I Print fun(X) Next I End Sub 6.运行下面的程序,当单击窗体时,窗体上第一行内容是 (8) ,第三行内容是 (9) ,第四行内容是 (10) 。 Option Explicit Dim x As Integer, y As Integer Private Sub Form_Click() Dim a As Integer, b As Integer a = 5: b = 3 Call sub1(a, b) Print a, b Print x, y End Sub Private Sub sub1(ByVal m As Integer, n As Integer) Dim x As Integer, y As Integer x = m + n: y = m - n m = fun1(x, y) n = fun1(y, x) End Sub Private Function fun1(a As Integer, b As Integer) As Integer x = a + b: y = a - b Print x, y fun1 = x + y End Function 7. 下面程序的功能是计算的值。请完善如下程序: Option Explicit Private Sub Command1_Click() Dim n As Integer, st As String, i As Integer Dim k As Single, s As Single, j As Integer n = Text1 s = 1 For i = 2 To n (11) For j = 1 To i st = st & CStr(i) Next j k = (12) s = s + k Next i Text2 = s End Sub 8.下面程序的功能是生成一个全部由两位随机素数组成的数组, 请完善如下程序: Option Explicit Private Sub Command1_Click() Dim p() As Integer, i As Integer, n As Integer Dim st As String, k As Integer Randomize k = InputBox("元素个数:", , 20) ReDim p(k) Do n = (13) If (14) Then i = i + 1 p(i) = n End If Loop Until (15) For i = 1 To UBound(p) st = st & Str(p(i)) If i Mod 10 = 0 Then st = st & vbCrLf Next i Text1 = st End Sub Private Function prime(n As Integer) As Boolean Dim i As Integer prime = True For i = 2 To Sqr(n) If n Mod i = 0 Then (16) Exit For End If Next i End Function 9.本程序的功能是将密文解密。密文中出现的连续数字均是5进制整数,它们被非数字字符分隔,每个5进制数对应一个明文字符的ASCII代码。例如5进制数242等于十进制72,它对应字符是大写英文字母“H”。密文末尾以非数字字符结束。请完善如下程序: Option Explicit Option Base 1 Private Sub Command1_Click() Dim mw As String, st As String, i As Integer Dim p As String, t() As String, k As Integer mw = Text1 For i = 1 To (17) p = Mid(mw, i, 1) If p >= "0" And p <= "4" Then st = st & p ElseIf Len(st) <> 0 Then k = k + 1 (18) t(k) = st st = "" End If Next i For i = 1 To UBound(t) k = convert(t(i)) st = st & Chr(k) Next i (19) End Sub Private Function convert(p As String) As Integer Dim i As Integer, k As Integer, n As Integer For i = Len(p) To 1 Step -1 n = n + Val(Mid(p, i, 1)) * 5 ^ k k = k + 1 Next i (20) End Function 三、程序设计(5×2=10分) 1、请续写一个求N!的Function递归函数过程。(如未使用递归扣1分) 2、请续写一个求任意一个正整数因子和的Sub过程。(因子不包括正整数自身) (注意:请将程序设计题目答案写在答题纸上,写在此处不得分!)下载本文