1、二级 VISUAL+BASIC-88 及答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(10) For i=6 To 10 arr(i)=i-5 Next i Label1.Caption=arr(0)+arr(arr(10)/arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是(分数:2.00)A.0B.1C.2D.32.下面是求最大公约数的函
2、数的首部 Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是(分数:2.00)A.Print gcd(8, 12), gcd(12, 16), gcd(16, 8)B.Print gcd(8, 12, 16)C.Print gcd(8), gcd(12), gcd(16)D.Print gcd(8, gcd(12, 16)3.窗体上有一个名称为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click() Di
3、m m As Integer, n As Integer m=InputBox(“输入第一个数“) n=InputBox(“输入第二个数“) Do While mn Do While mn m=m-n Loop Do While nm n=n-m Loop Loop Print m End Sub 该程序的功能是_。(分数:2.50)A.求数值 m 和 n 的最大公约数B.求数值 m 和 n 的最小公倍数C.求数值 m 和 n 中的较大数D.求数值 m 和 n 中的较小数4.在窗体上画一个命令按钮(名称为 Command1),并编写如下代码: Function Fun1(ByVal a As
4、Integer,b As Integer)As Integer Dim t As Integer t=a-b b=t+a Fun1=t+b End Function Private Sub Command1_Click() Dim x As Integer x=10 Print Fun1(Fun1(x,(Fun1(x, x-1), x-1) End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:1.00)A.10B.0C.11D.215.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3 个都是6.结构化程序所要求的基本结构不包括_
5、。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构7.阅读下列程序: Dim SW As Boolean Function func(X As Integer)As Integer If X20 Then Y=X Else Y=20+X End If func=Y End Function Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) SW=False End Sub Private Sub Form_MouseUp(Butt
6、on As Integer,Shift As Integer,X As Single, Y As Single) SW=True End Sub Private Sub Command1_Click() Dim intNum As Integer intNum=InputBox(“ “) If SW Then Print func(intNum) End If End Sub 程序运行后,单击一次窗体,再单击命令按钮,将显示一个输入对话框,如果在对话框中输入 20,则程序的输出结果为(分数:1.00)A.0B.20C.40D.无任何输出8.下列说法中正确的是 为了装入一个 Visual Bas
7、ic 应用程序,应当(分数:2.50)A.只装入窗体文件(.frm)B.只装人工程文件(.vbp)C.分别装入工程文件和标准模块文件(.bas)D.分别装入工程文件、窗体文件和标准模块文件9.下列排序方法中,最坏情况下比较次数最少的是_。(分数:3.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序10.假定有以下程序段 For i=1 To 3 For i=5 To 1 Step-1 Print i*j Next j Next i 则语句 Printi*j 的执行次数是(分数:2.50)A.15B.16C.17D.1811.可以用作其他控件容器的控件有_。(分数:2.00)A.窗体
8、、列表框、图像B.窗体、文本框、框架C.窗体、框架、图片框D.窗体、标签、图片框12.假定有如下语句: answer$=MsgBox(“String1“,“string2“,“String3“,2) 执行该语句后,将显示一个信息框,单击其中的“确定”按钮,则 answer$的值为_。(分数:1.00)A.String1B.String2C.String3D.113.过程语句中,使用的参数表可以是下列哪种 _ 。(分数:2.00)A.常量或变量名B.表达式或变量名C.数组元素或变量名D.变量名或数组名14.下列函数中,能够得到一个字符串的一组函数是 _(分数:2.00)A.Leh 函数、Righ
9、t 函数、Mid 函数B.LTrim 函数、RTrim 函数、Trim 函数C.Len 函数、LCase 函数、UCase 函数D.Space 函数、Len 函数、Trim 函数15.下列可作为 Visual Basic 中所允许的形式的数是(分数:2.50)A.10(1.256)B.D32C.2.5ED.12E316.改变驱动器列表框的 Drive 属性值将激活_事件。(分数:2.00)A.ChangeB.ScrollC.KeyDownD.KeyUp17.设有如下事件过程: Private Sub Form_Click() x=0 While x10 x=x+1:x=x*x Wend Pri
10、nt x End Sub 运行程序,单击窗体,输出结果是(分数:2.50)A.16B.19C.20D.2518.在窗体上有一个名称为 Check1 的复选框数组(含 4 个复选框),还有一个名称为 Text1 的文本框,初始内容为空。程序运行时,单击任何复选框,则把所有选中的复选框后面的文字罗列在文本框中(见图)。下面能实现此功能的事件过程是 _ 。 (分数:2.00)A.Private Sub Check1_Click(Index As Integer)Text1.Text=“For k=0 To 3If Check1 (k).Value=1 ThenText1.Text=Text1.Tex
11、t _ Next i End Sub 程序运行后,单击窗体,要求结果如图所示,则在_处填入的内容为_。 (分数:2.50)A.Left(a$, i)B.Mid(a$, 8-i, i)C.Right(a$., i)D.Mid(a$, 7, i)23.下列关于文件的叙述中错误的是_。(分数:1.00)A.以 Input 方式打开文件时,如果文件不存在,则建立一个新文件B.顺序文件各记录的长度可以不同C.使用 Append 方式打开文件时,文件指针被定位到文件尾D.随机文件打开后,既可以读,也可以写24.设窗体上有一个 Text1 文本框和一个 HScroll1 水平滚动条,并有下面的事件过程: P
12、rivate Sub HScroll1_Change() Text1=HScroll1 End Sub 在程序运行时,当把滚动框移动到最左边时,文本框中显示的是 100;当把滚动框移动到最右边时,文本框中显示的是 1。根据这些信息,下面的判断中错误的是_。(分数:2.50)A.滚动条的 Max 和 Min 属性的值分别是 1 和 100B.滚动条的 Max 和 Min 属性的值分别是 100 和 1C.文本框中显示的是滚动条 Value 属性的值D.如果把滚动框移动到中间位置,文本框中将显示 5025.下列控件中,没有 Caption 属性的是_。(分数:1.00)A.单选按钮B.复选框C.列
13、表框D.框架26.以下关于过程及过程参数的描述中,错误的是_。(分数:1.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体(Form)可以作为过程的参数27.如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是_。(分数:2.00)A.如果工程中含有 SubMain 过程,则程序一定首先执行该过程B.不能把标准模块设置为启动模块C.用 Hide 方法只是隐藏一个窗体,不能从内存中清除该窗体D.任何时刻最多只有一个窗体是活动窗体28.在窗体上画一个命令按钮,其名称为 Command
14、1,然后编写如下事件过程: Private Sub Command1_Click() Dim i As Integer, x As Integer For i=1 To 6 If i=1 Then x=i If i=4 Then x=x+1 Else x=x+2 End If Next i Print x End Sub 程序运行后,单击命令按钮,其输出结果为_。(分数:2.50)A.9B.6C.12D.1529.窗体上有 1 个名称为 List 的列表框,其中已经输入了若干个项目(如下图所示),还有 2 个文本框,名称分别为 Text1、Text2,1 个名称为 Command1 的命令按钮
15、,并有以下程序: (分数:2.50)A京B.北京南京C.南京D.没有匹配的项目30.有如下程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim p As Integer k=4:m=1 p=PC(k,m):Print p; p=PC(k,m):Print p End Sub Private Function PC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i + m + 1 m=i + a + b PC=m End F
16、unction 程序运行后,输出的结果为(分数:1.00)A.4 6B.6 6C.8 8D.10 1231.下列数据结构中属于非线性结构的是_。(分数:2.00)A.队列B.线性表C.二叉树D栈32.为了使列表框中的项目分为多列显示,需要设置的属性为(分数:2.50)A.ColumnsB.StyleC.ListD.MultiSelect33.设 a=4,b=5,c=6,执行语句 Print ab And bc 窗体上显示的是(分数:2.00)A.TrueB.FalseC.出错信息D.034.窗体上的三个命令按钮构成名称为 command1 的控件数组,如图所示。 (分数:2.50)A.Prin
17、t Command1(2).Caption 语句有错B.在窗体上显示“命令按钮 2”C.在窗体上显示“命令按钮 3”D.在窗体上显示“计算机等级考试”35.某二叉树中度为 2 的结点有 10 个,则该二叉树中有 _ 个叶子结点。(分数:2.00)A.9B.10C.11D.12二、填空题(总题数:15,分数:27.00)36.列程序的功能是将数据 1,2,10 写入顺序文件 Base.txt 中,请填空。 Private Sub Form_Click() Dim i As Integer Open _ 1_ As#1 For i=1 To 10 Print #1, i Next Close#1
18、End Sub (分数:2.00)37.在程序的每个空白处填写一条适当的语句,使程序完成相应的操作。程序实现的功能是:窗体上有文本框 Text1 和若干复选框,其中复选框 Check1 设置文本框 Text1 显示的文本是否加下划线。Check1 的单击事件过程如下: Private Sub Check1_Click() If 1 Then Text1.FontUnderline=Tree ElseIf 2Then Text1.FontUndefiine=False End If End Sub (分数:2.00)38.当对象得到焦点时,会触发 GotFocus 事件,当对象失去焦点时将触发
19、1 事件。 (分数:2.00)39.按照排序过程涉及的存储设备的不同,排序可分为 1 和 2。 (分数:2.00)40.软件维护活动包括以下几类:改正性维护、适应性维护、 _ 1_ 维护和预防性维护。 (分数:2.00)41.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。 (分数:2.00)42.设有如下程序 Option Base 1 Private Sub Command1_Click() Dim arrl Dim Min As Integer,i As Integer arrl=Array(12,435,76,-24,78,54, 866, 43)
20、Min= 1 For i=2 To 8 If arrl(i)Min Then Next i Print “最小值是:”;Min End Sub 以上程序的功能是:用 Arcay 函数建立一个含有 8 个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。 (分数:2.00)43.在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程: Private Sub Form_Click 1 Text1.Text=“VB 程序设计” End Sub PrivmeSubText1_Change() Picture1.Print“VB Programming“ End Sub 程序运行后,单击窗
21、体,则在文本框中显示的内容是 _ 2_ ,而在图片框中显示的内容是 _ 3_ 。 (分数:1.00)44.为了把寻个 Visual BASIC 应用程序装入内存,只要装入 _ 1_ 文件即可。 (分数:1.00)45.有如下 Sub 过程: Sub ind(a As Integer) Static x As Integer x= x + a Print x: End Sub 以下是调用它的事件过程,程序运行后,单击命令按纽 Command1 三次,输出结果为 _ 1_ 。 Private Sub Command1_Click() Ind 2 End Sub (分数:2.00)46.在两种基本测
22、试方法中, _ 1_ 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。(分数:2.00)47.下列过程的功能是:用来计算并输出 S=1+1/2+1/3+1/100 的值。请完善程序。 Function SumF(n As Integer)As Single s=0 For i=1 To n s= 1 Next i SuraF=s End Function Private Sub Form_Click 2 Sum1=SumF(100) Print Print “sum1=“ :sum1 End Sub (分数:2.00)48.软件开发过程主要分为需求分析、设计、编码与测试 4 个阶段
23、,其中 1 阶段产生“软件需求规格说明书”。 (分数:2.00)49.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、 1 和自定义完整性。 (分数:2.00)50.Jackson 结构化程序设计方法是英国的 MJackson 提出的,它是一种面向 _ 1_ 的设计方法。 (分数:1.00)二级 VISUAL+BASIC-88 答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub Command1_Click
24、() Dim arr(10) For i=6 To 10 arr(i)=i-5 Next i Label1.Caption=arr(0)+arr(arr(10)/arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是(分数:2.00)A.0 B.1C.2D.3解析:解析 在本题的循环中分别将 arr(6)到 arr(10)的数组元素赋值为 15,而 arr(0)到 arr(5)的数组元素没有被赋值,将保留默认初值 0,即最后标签上显示的是 arr(0)+arr(5)=0。2.下面是求最大公约数的函数的首部 Function gcd(ByVal x As Integer, By
25、Val y As Integer)As Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是(分数:2.00)A.Print gcd(8, 12), gcd(12, 16), gcd(16, 8)B.Print gcd(8, 12, 16)C.Print gcd(8), gcd(12), gcd(16)D.Print gcd(8, gcd(12, 16) 解析:解析 函数过程在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。本题中的 gcd 函数有两个参数,任何对于 gcd 的调用都必须传递实参为两个整型值;选项 A
26、 中得到 3 个结果,显然不是我们所需要的;选项 D 中的函数嵌套调用能够求出 3 个数的最大公约数。3.窗体上有一个名称为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click() Dim m As Integer, n As Integer m=InputBox(“输入第一个数“) n=InputBox(“输入第二个数“) Do While mn Do While mn m=m-n Loop Do While nm n=n-m Loop Loop Print m End Sub 该程序的功能是_。(分数:2.50)A.求数值 m 和 n 的最大
27、公约数 B.求数值 m 和 n 的最小公倍数C.求数值 m 和 n 中的较大数D.求数值 m 和 n 中的较小数解析:解析 此题的算法为经典的辗转相减法求最大公约数算法,也可用特殊值法求解。4.在窗体上画一个命令按钮(名称为 Command1),并编写如下代码: Function Fun1(ByVal a As Integer,b As Integer)As Integer Dim t As Integer t=a-b b=t+a Fun1=t+b End Function Private Sub Command1_Click() Dim x As Integer x=10 Print Fun
28、1(Fun1(x,(Fun1(x, x-1), x-1) End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:1.00)A.10B.0 C.11D.21解析:解析 本题是过程的嵌套调用,过程嵌套调用时要先计算最内层的过程,然后由里向外执行。因此 Fun1 (Fun1(x, (Fun1(x, x-1), x-1)执行过程如下: 先执行 Funl(x, x-1),由于形参 a 是按值传递,因此不会影响 x 的值,x=10,即 Fun1(10, 9)。t=1,b=1+10=11,则函数返回值为 1+11=12。 再执行 Fun1(x,(Fun1(x, x-1),由于内层过程返回 12,因
29、此又可写成 Fun1(x, (12),由于 x 仍为原值,因此过程即 Fun1(10, 12)。t=-2,b=-2+10=8,则函数返回值为-2+8=6。 最后执行 Fun1(Fun1(x, (Fun1(x,x-1), x-1),即 Fun1(6, x-1),由于 x 仍为原值,因此过程即为Funl(6, 9)。I=-3, b=-3+6=3,则函数返回值为-3+3=0。5.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型 D.以上 3 个都是解析:解析 本题考查了数据模型。 关系模型较之格式化模型(网状模型和层次模型)有以下几方面的优点,即数据结构比较
30、简单、具有很高的数据独立性、可以直接处理多对多的联系以及有坚实的理论基础。 E-R 模型。6.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转 C.选择(分支)结构D.重复(循环)结构解析:解析 1966 年 Boehm 和 Jacopini 证明了程序没汁语言仅仅使用顺序、选择和重复三种节本控制结构就足以表达出各种其他形式结构的程序没计方法。7.阅读下列程序: Dim SW As Boolean Function func(X As Integer)As Integer If X20 Then Y=X Else Y=20+X End If func=Y E
31、nd Function Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) SW=False End Sub Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single, Y As Single) SW=True End Sub Private Sub Command1_Click() Dim intNum As Integer intNum=InputBox(“ “) If SW The
32、n Print func(intNum) End If End Sub 程序运行后,单击一次窗体,再单击命令按钮,将显示一个输入对话框,如果在对话框中输入 20,则程序的输出结果为(分数:1.00)A.0B.20C.40 D.无任何输出解析:解析 上述程序由一个通用过程和 3 个事件过程组成,在命令按钮事件过程中调用通用过程,并将一个参数传送给通用过程。这里要注意,只有在一定的条件下,才能调用通用过程,这个条件就是,窗体的 Boolean 变量 SW 的值必须为 True,否则不能调用。而为了使 SW 的值为 True,必须执行 Form MouseUp 事件过程,这只能通过单击窗体来实现。单
33、击窗体时,按下鼠标左键执行 FormMouseDown 事件过程,使得 SW=False,松开鼠标后执行 Form MouseUp 事件过程,使得 =True。程序运行后,由于单击了一次窗体,执行了 Form_Mouseup 事件过程,再单击命令按钮,因而 SW 的值为 True,调用通用过程后,在窗体上显示的内容是 40。若没有事先单击窗体,而直接单击按钮,窗体上就没有任何内容输出。8.下列说法中正确的是 为了装入一个 Visual Basic 应用程序,应当(分数:2.50)A.只装入窗体文件(.frm)B.只装人工程文件(.vbp) C.分别装入工程文件和标准模块文件(.bas)D.分别
34、装入工程文件、窗体文件和标准模块文件解析:9.下列排序方法中,最坏情况下比较次数最少的是_。(分数:3.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序 解析:解析 冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较 n(n-1)/2 次,而堆排序在最坏情况下需要比较的次数是 nlog 2 n。10.假定有以下程序段 For i=1 To 3 For i=5 To 1 Step-1 Print i*j Next j Next i 则语句 Printi*j 的执行次数是(分数:2.50)A.15 B.16C.17D.18解析:解析 本题考查的考点是有关二重循环的。ForNe
35、xt 循环语句可提供一个重复执行的语句序列,遵循“先检查,后执行”的规则,执行过程中,循环次数=Int(终值-初值)/步长+1。二重循环的内循环语句执行次数等于内外循环次数之积。11.可以用作其他控件容器的控件有_。(分数:2.00)A.窗体、列表框、图像B.窗体、文本框、框架C.窗体、框架、图片框 D.窗体、标签、图片框解析:解析 列表框、文本框和标答上不能放置其他控件。12.假定有如下语句: answer$=MsgBox(“String1“,“string2“,“String3“,2) 执行该语句后,将显示一个信息框,单击其中的“确定”按钮,则 answer$的值为_。(分数:1.00)A
36、.String1B.String2C.String3D.1 解析:解析 MsgBox 函数的作用:在对话框中显示消息,等待用户单击按钮,并返回一整数,告诉用户单击哪一个按钮。Msgbox 函数的格式是: MsgBox(提示信息,按钮样式,标题信息,帮助文件,帮助上下文编号) 本题 MsgBox 函数语句运行后,信息对话框中提示信息是“String1”,标题栏信息是“String2”,对话框出现一个“确定”按钮,单击“确定”按钮返回“确定”按钮对应的一个整数值 1,并把 1 赋给 answer变量。故 D 选项正确。13.过程语句中,使用的参数表可以是下列哪种 _ 。(分数:2.00)A.常量或
37、变量名B.表达式或变量名C.数组元素或变量名D.变量名或数组名 解析:解析 参数表含有在调用时传送给过程的简单变量或数组名,如果是数组,则要在数组名后加上一对括号。参数过程中不允许有常量、表达式和数组元素出现。14.下列函数中,能够得到一个字符串的一组函数是 _(分数:2.00)A.Leh 函数、Right 函数、Mid 函数 B.LTrim 函数、RTrim 函数、Trim 函数C.Len 函数、LCase 函数、UCase 函数D.Space 函数、Len 函数、Trim 函数解析:解析 本题是对常用的字符串函数的考查。B 项中的 LTrim、RTrim、Trim 三个函数分别用来删除字符
38、串左边的前导空格、删除右边的尾随空格、删除字符串前导和尾随的空格。它们的结果值不一定能得到一个字符串,排除选项 B。Len 函数用来返回字符串的长度,得到的是一数值而不是一个字符串,故又可排除 C、D 选项。只有选项 A 是正确的。15.下列可作为 Visual Basic 中所允许的形式的数是(分数:2.50)A.10(1.256)B.D32C.2.5ED.12E3 解析:16.改变驱动器列表框的 Drive 属性值将激活_事件。(分数:2.00)A.Change B.ScrollC.KeyDownD.KeyUp解析:解析 驱动器列表框控件的相关属性和事件 驱动器列表框的 Drive 属性,
39、用来设置或返回程序运行时所选择的驱动器名。 当驱动器列表框的 Drive 属性值发生变化时,会触发驱动器列表框的 Change 事件。 当驱动器列表框的滚动框被重新定位或沿水平或垂直方向滚动时,会触发驱动器列表框的 Scroll 事件。 在驱动器列表框获得焦点时,按下或松开键盘上的按键,会触发驱动器列表框的 KeyDown 或 KeyUp 事件。17.设有如下事件过程: Private Sub Form_Click() x=0 While x10 x=x+1:x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是(分数:2.50)A.16B.19C.20D.25
40、解析:解析 本题是简单 While 循环,在循环中改变循环变量 x 的值,要注意退出循环时 x 必然是不会满足循环条件的。本题中循环中 x 依次变化为 1、4、25。18.在窗体上有一个名称为 Check1 的复选框数组(含 4 个复选框),还有一个名称为 Text1 的文本框,初始内容为空。程序运行时,单击任何复选框,则把所有选中的复选框后面的文字罗列在文本框中(见图)。下面能实现此功能的事件过程是 _ 。 (分数:2.00)A.Private Sub Check1_Click(Index As Integer)Text1.Text=“For k=0 To 3If Check1 (k).Va
41、lue=1 ThenText1.Text=Text1.Text _ Next i End Sub 程序运行后,单击窗体,要求结果如图所示,则在_处填入的内容为_。 (分数:2.50)A.Left(a$, i) B.Mid(a$, 8-i, i)C.Right(a$., i)D.Mid(a$, 7, i)解析:解析 本题考查简单的字符串取值函数,由图可知,其中显示的字符是从 a$中从左边开始取的 i项的值然后进行输出,所以答案选择 A。23.下列关于文件的叙述中错误的是_。(分数:1.00)A.以 Input 方式打开文件时,如果文件不存在,则建立一个新文件 B.顺序文件各记录的长度可以不同C.
42、使用 Append 方式打开文件时,文件指针被定位到文件尾D.随机文件打开后,既可以读,也可以写解析:解析 对一个数据文件进行读、写、修改或增加数据之前,必须先用 Open 语句打开或建立该文件。如果以 Input 方式打开的文件不存在,则产生“文件未找到”错误;如果为输出(Output)、附加(Append)或随机(Random)访问方式打开的文件不存在,则建立相应的文件;故 A 选项表述错误。在顺序文件中,每个记录可以具有不同的长度,不同记录中字段的长度也可以不一样,故 B 选项叙述正确。用 Append 方式打开一个文件后,文件指针指向文件的末尾,而如果用其他几种方式打开文件,则文件指针
43、都指向文件的开头,故 C 选项叙述正确。打开随机文件后,用户既可以读文件也可以向文件中写入数据,故 D 选项叙述正确,所以答案为 A 选项。24.设窗体上有一个 Text1 文本框和一个 HScroll1 水平滚动条,并有下面的事件过程: Private Sub HScroll1_Change() Text1=HScroll1 End Sub 在程序运行时,当把滚动框移动到最左边时,文本框中显示的是 100;当把滚动框移动到最右边时,文本框中显示的是 1。根据这些信息,下面的判断中错误的是_。(分数:2.50)A.滚动条的 Max 和 Min 属性的值分别是 1 和 100B.滚动条的 Max
44、 和 Min 属性的值分别是 100 和 1 C.文本框中显示的是滚动条 Value 属性的值D.如果把滚动框移动到中间位置,文本框中将显示 50解析:解析 在一般情况下,垂直滚动条的值由上往下递增,最上端代表最小值(Min),最下端代表最大值(Max);水平滚动条的值从左到右递增,最左端代表最小值(Min),最有端代表最大值(Max),其取值范削为-3276832768。25.下列控件中,没有 Caption 属性的是_。(分数:1.00)A.单选按钮B.复选框C.列表框 D.框架解析:解析 列表框控件没有 Caption 属性。26.以下关于过程及过程参数的描述中,错误的是_。(分数:1.
45、00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中 D.窗体(Form)可以作为过程的参数解析:解析 过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故 A、D 选顼正确。 调用过程时,如果过程的参数是数组,则实参传给形参的是地址,这个地址是用数组名表示的一个符号地址,是数组的起始地址,形参和实参用的是同一个地址,在过程中形参的改变会引起实参的改变。故 B 选项正确。 在过程凋用时,不只是函数过程
46、能把过程中处理的信息传回到调用程序中,Sub 过程也可以。Sub 过程中形参声明时前面有关键字 ByRef 或省略 ByRef(默认)时,实参和形参之间传递的是地址,Sub 过程中形参的变化也会引起实参的变化,这样 Sub 过程中处理的信息也可以传回调用程序中。故 C 选项说法错误。27.如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是_。(分数:2.00)A.如果工程中含有 SubMain 过程,则程序一定首先执行该过程 B.不能把标准模块设置为启动模块C.用 Hide 方法只是隐藏一个窗体,不能从内存中清除该窗体D.任何时刻最多只有一个窗体是活动窗体解析:解析 工程中首先执行的部分
47、可以由编程人员自己设置,并不一定要先执行 SubMain 过程。28.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim i As Integer, x As Integer For i=1 To 6 If i=1 Then x=i If i=4 Then x=x+1 Else x=x+2 End If Next i Print x End Sub 程序运行后,单击命令按钮,其输出结果为_。(分数:2.50)A.9 B.6C.12D.15解析:解析 在本题中,计算变量 x 的值有 3 个表达式,当 i=1
48、 时,x=1;当 x=4 时,x=x+1;当x=5、6 时,x=x+2。x 的计算过程为:x=1、2、3、4、5、7、9。29.窗体上有 1 个名称为 List 的列表框,其中已经输入了若干个项目(如下图所示),还有 2 个文本框,名称分别为 Text1、Text2,1 个名称为 Command1 的命令按钮,并有以下程序: (分数:2.50)A京B.北京南京C.南京 D.没有匹配的项目解析:解析 InStr 函数:返回 Variant(Long),指定一字符串在另一字符串中最先出现的位置。通过分析上面的程序可知此程序功能是:在 Text1 中输入一些文本,然后在 List1 中从最后一项向上寻找与Text1 中文本相匹配的项目,如果找到,则在 Text2 中显示出匹配的项;如果不止一项,则根据 InStr 函数的作用显示出最先出现的一项,另外的项目则不显示;如果将 List1 中的项目全部遍历过也没有找到,则在 Text2 中显示“没有匹配的项目”。因此只有答案 C 满足要求。30.有如下程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim p As Integer k=4:m=1 p=PC(k,m):Print p; p=PC(k,m):Pr