1、全国计算机等级考试二级 VISUAL+BASIC真题 2004年 4月及答案解析(总分:78.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Move 500,500 End Sub 程序运行后,单击命令按钮,执行的操作为(分数:2.00)A.命令按钮移动到距窗体左边界、上边界各 500的位置B.窗体移动到距屏幕左边界、上边界各 500的位置C.命令按钮向左、上方向各移动 500D.窗体向左、上方向各移动 5002.在窗体上有若干
2、控件,其中有一个名称为 Text1的文本框。影响 Text1的 Tab顺序的属性是(分数:2.00)A.TabStopB.EnabledC.VisibleD.TabIndex3.以下定义数组或给数组元素赋值的语句中,正确的是(分数:2.00)A.Dim a As Variant a=Array(1,2,3,4,5)B.Dim a(10) As Integera =Array(1,2,3,4,5)C.Dim a%(10) a(1)=“ABCDE“D.Dim a(3),b(3) As Integer a(0)=0 a(1)=1 a(2)=2 b=a4.在窗体上画一个名称为 List1的列表框,为了
3、对列表框中的每个项目都能进行处理,应使用的循环语句为(分数:2.00)A.For i=0 To List1.ListCount-1 NextB.For i=0 To ListCount-1 NextC.For i=1 To List1.listCount NextD.For i=1 To ListCount Next5.以下 Case语句中错误的是(分数:2.00)A.Case 0 To 10B.Case Is10C.Case Is10 And Is106.以下关于图片框控件的说法中,错误的是(分数:2.00)A.可以通过 Print方法在图片框中输出文本B.清空图片框控件中图形的方法之一是加
4、载一个空图形C.图片框控件可以作为容器使用D.用 Stretch属性可以自动调整图片框中图形的大小7.执行语句 s=Len(Mid(“VisualBasic“,1,6)后,s 的值是(分数:2.00)A.VisualB.BasicC.6D.118.以下叙述中错误的是(分数:2.00)A.下拉式菜单和弹出式菜单都用菜单编辑器建立B.在多窗体程序中,每个窗体都可以建立自己的菜单系统C.除分隔线外,所有菜单项都能接收 Click事件D.如果把一个菜单项的 Enabled属性设置为 False,则该菜单项不可见9.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Privat
5、e Sub Command1_Click() a = 12345 Print Format$(a, “000.00“) End Sub 程序运行后,单击命令按钮,窗体上显示的是(分数:2.00)A.123.45B.12345.00C.12345D.00123.4510.以下叙述中错误的是(分数:2.00)A.一个工程可以包括多种类型的文件B.Visual Basic应用程序既能以编译方式执行,也能以解释方式执行C.程序运行后,在内存中只能驻留一个窗体D.对于事件驱动型应用程序,每次运行时的执行顺序可以不一样11.以下关于函数过程的叙述中,正确的是(分数:2.00)A.函数过程形参的类型与函数返
6、回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型12.以下关于变量作用域的叙述中,正确的是(分数:2.00)A.窗体中凡被声明为 Private的变量只能在某个指定的过程中使用B.全局变量必须在标准模块中声明C.模块级变量只能用 Private关键字声明D.Static类型变量的作用域是它所在的窗体或模块文件13.确定一个控件在窗体上的位置的属性是(分数:2.00)A.Width和 HeightB.Width或 HeightC.Top和 LeftD.Top或 L
7、eft14.在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Text1.Text = “Visual“ Me.Text1 = “Basic“ Text1 = “Program“ End Sub 程序运行后,如果单击命令按钮,则在文本框中显示的是(分数:2.00)A.VisualB.BasicC.ProgramD.出错15.以下关系表达式中,其值为 False的是(分数:2.00)A.“ABC“AbC“B.“the“Int“16.语句 Print 5/4*6/5 Mod 2的输出结
8、果是(分数:2.00)A.0B.1C.2D.317.在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为 Text1、Label1 和 Command1,然后编写如下两个事件过程:Private Sub Command1_Click() strText = InputBox(“请输入“) Text1.Text = strTextEnd SubPrivate Sub Text1_Change() Label1.Caption = Right(Trim(Text1.Text), 3)End Sub程序运行后,单击命令按钮,如果在输入对话框中输入 abcdef,则在标签中显示的内容是(分数:2
9、.00)A.空B.abcdefC.abcD.def18.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() x = -5 If Sgn(x) Then y = Sgn(x 2) Else y = Sgn(x) End If Print y End Sub 程序运行后,单击命令按钮,窗体上显示的是(分数:2.00)A.-5B.25C.1D.-119.一个工程中含有窗体 Form1、Form2 和标准模块 Model1,如果在 Form1中有语句 Pubilc X As Integer,在 Model1中有语句 Pub
10、ilc Y As Integer,则以下叙述中正确的是(分数:2.00)A.变量 X、Y 的作用域相同B.Y的作用域是 Model1C.在 Form1中可以直接使用 XD.在 Form2中可以直接使用 X和 Y20.在窗体上画一个名称为 Drive1的驱动器列表框,一个名称为 Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是 A)Drive1_Change B) Drive1_Click C) Dir1_Click D) Dir1_Change(分数:2.00)A.B.C.D.21.在窗体上画一个命令按钮(其 NAM
11、E属性为 Command1),然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a s = 0 a = Array(1,2,3,4);j = 1 For i = 4 To 1 Step -1 s = s + a(i) * j j = j * 10 Next i Print s End Sub 运行上面的程序,单击命令按钮,其输出结果是(分数:2.00)A.4321B.1234C.34D.1222.在窗体上画一个名称为 Text1的文本框,要求文本框只能接收大写字母的输入。以下能实现该操作的事件过程是(分数:2.00)A.Priva
12、te Sub Text1_KeyPress(KeyAscii As Intege If KeyAscii 90 Then MsgBox “请输入大写字母“ KeyAscii = 0 End If End SubB.Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Intege If KeyCode 90 Then MsgBox “请输入大写字母“ KeyCode = 0 End If End SubC.Private Sub Text1_MouseDown(Button As Integer,_ Shift As Integer, X
13、 As Single, Y As Singl If Asc(Text1.Tex 90 Then MsgBox “请输入大写字母“ End If End SubD.Private Sub Text1_Change() If Asc(Text1.Tex 64 And Asc(Text1.Tex 91 Then MsgBox “请输入大写字母“ End If End Sub23.假定在窗体(名称为 Form1)的代码窗口中定义如下记录类型: Private Type animal animalName As String*20 aColor As String*10 End Type 在窗体上画一个
14、名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim rec As animal Open “c:/vbTest.dat“ For Random As #1 Len = Len(rec) rec.animalName = “Cat“ rec.aColor = “White“ Put #1, , rec Close #1 End Sub 则以下叙述中正确的是(分数:2.00)A.记录类型 animal不能在 Form1中定义,必须在标准模块中定义B.如果文件 c:/vbTesdat不存在,则 Open命令执行失败C.由于 Pu
15、t命令中没有指明记录号,因此每次都把记录写到文件的末尾D.语句“Put #1, , rec”将 animal类型的两个数据元素写到文件中24.在窗体上画一个名称为 Text1的文本框,一个名称为 Command1的命令按钮,然后编写如下事件过程和通用过程: Private Sub Command1_Click() n = Val(Text1.Text) If n/2 = n/2 Then f = f1(n) Else f = f2(n) End If Print f; n End Sub Public Function f1(ByRef x) x=x*x f1=x+x End Function
16、 Public Function f2(ByVal x) x=x*x f2=x+x+x End Function 程序运行后,在文本框中输入 6,然后单击命令按钮,窗体上显示的是(分数:2.00)A.72 36B.108 36C.72 6D.108 625.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() c = 1234 c1 = Trim(Str(c) For i = 1 To 4 Print_ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容 1 12 123 1234 则在下划
17、线处应填入的内容为(分数:2.00)A.Right(c1,B.Left(c1,C.Mid(c1,i,1)D.Mid(c1,i,26.在窗体上画一个名称为 Command1的命令按钮和一个名称为 Text1的文本框,然后编写如下事件过程: Private Sub Command1_Click() n = Val(Text1.Text) For i = 2 To n For j = 2 To sqr(i) If i Mod j = 0 Then Exit For Next j If j Sqr(i) Then Print i Next i End Sub 该事件过程的功能是(分数:2.00)A.输
18、出 n以内的奇数B.输出 n以内的偶数C.输出 n以内的素数D.输出 n以内能被 j整除的数27.在以下描述中正确的是(分数:2.00)A.标准模块中的任何过程都可以在整个工程范围内被调用B.在一个窗体模块中可以调用在其他窗体中被定义为 Public的通用过程C.如果工程中包含 Sub Main过程,则程序将首先执行该过程D.如果工程中不包含 Sub Main过程,则程序一定首先执行第一个建立的窗体28.在窗体上画一个名称为 Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程: Private Function f(m As Integer) If m Mod 2 = 0 T
19、hen f = m Else f = 1 End If End Function Private Sub Command1_Click() Dim i As Integer s = 0 For i = 1 To 5 s = s + f(i) Next Print s End Sub 程序运行后,单击命令按钮,在窗体上显示的是(分数:2.00)A.11B.10C.9D.829.在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim array1(10, 10) As Integer
20、 Dim i As Integer, j As Integer For i = 1 To 3 For j = 2 To 4 array1(i, j) = i + j Next j Next i Text1.Text = array1(2, 3) + array1(3, 4) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是(分数:2.00)A.15B.14C.13D.1230.在窗体上画四个文本框(如图所示),并用这四个文本框建立一个控件数组,名称为 Text1(下标从0开始,自左至右顺序增大),然后编写如下事件过程: Private Sub Command1_Click() F
21、or Each TextBox In Text1 Text1(i) = Text1(i).Index i = i + 1 Next End Sub 程序运行后,单击命令按钮,四个文本框中显示的内容分别为 (分数:2.00)A.0 1 2 3B.1 2 3 4C.0 1 3 2D.出错信息二、B填空题/B(总题数:9,分数:18.00)31.Visual Basic应用程序中标准模块文件的扩展名是 【1】 。(分数:2.00)填空项 1:_32.在菜单编辑器中建立一个菜单,其主菜单项的名称为 mnuEdit,Visible 属性为 False,程序运行后,如果用鼠标右键单击窗体,则弹出与 mnu
22、Edit相应的菜单。以下是实现上述功能的程序,请填空。 Private Sub Form 【2】 (Button As Integer, Shift As Integer, X As Single, Y As Single) If Button=2 Then 【3】 mnuEdit End If End Sub(分数:2.00)填空项 1:_33.为了使计时器控件 Timer1每隔 0.5秒触发一次 Timer事件,应将 Timer1控件的 【4】 属性设置为 【5】 。(分数:2.00)填空项 1:_34.与数学表达式 cos2(a+b)/3x+5 对应的 Visual Basic表达式是
23、【6】 。(分数:2.00)填空项 1:_35.将 C盘根目录下的图形文件 moon.jpg装入图片框 Picture1的语句是 【7】 。(分数:2.00)填空项 1:_36.在窗体上画一个名称为 Text1的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为 Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示,请填空。 (分数:2.00)填空项 1:_37.在窗体上画两个组合框,其名称分别为 Combo1、Combo2,然后画两个标签,名称分别为Label1、Label2,如图所示,程序运行后,如果在某个组合框中选择一
24、个项目,则把所选中的项目在其下面的标签中显示出来。请填空。 (分数:2.00)填空项 1:_38.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click1 n = 5 f = 1 s = 0 For i = 1 To n f = f 【12】 s = s + f Next Print s End Sub 该事件过程的功能是计算 s=1+1/2!+1/3!+1/n! 的值。请填空。(分数:2.00)填空项 1:_39.在窗体上画一个名称为 Command1的命令按钮,然后编写如下程序: Option Base 1 Priva
25、te Sub Command1_Click() Dim a(10) As Integer For i = 1 To 10 a(i) = i Next Call swap(U 【13】 /U ) For i = 1 To 10 Print a(i); Next End Sub Sub swap(b() As Integer) n =U 【14】 /U For i = 1 To n / 2 t = b(i) b(i) = b(n) b(n) = t U 【15】 /U Next End Sub 上述程序的功能是,通过调用过程 swap,调换数组中数值的存放位置,即 a(1)与 a(10)的值互换,
26、a(2)与 a(9)的值互换,a(5)与 a(6)的值互换。请填空。(分数:2.00)填空项 1:_全国计算机等级考试二级 VISUAL+BASIC真题 2004年 4月答案解析(总分:78.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Move 500,500 End Sub 程序运行后,单击命令按钮,执行的操作为(分数:2.00)A.命令按钮移动到距窗体左边界、上边界各 500的位置B.窗体移动到距屏幕左边界、上边界各 50
27、0的位置 C.命令按钮向左、上方向各移动 500D.窗体向左、上方向各移动 500解析:解析:Move 方法的形式如下: 对象Move 左边距离,上边距离,宽度,高度 对象可以是窗体及除时钟、菜单外的所有控件,默认为窗体。如果对象是窗体,则左边距离和上边距离以屏幕左边界和上边界为准。宽度和高度可改变其大小。2.在窗体上有若干控件,其中有一个名称为 Text1的文本框。影响 Text1的 Tab顺序的属性是(分数:2.00)A.TabStopB.EnabledC.VisibleD.TabIndex 解析:解析:TabIndex 属性返回或设置窗体中对象响应 Tab键的顺序。3.以下定义数组或给数
28、组元素赋值的语句中,正确的是(分数:2.00)A.Dim a As Variant a=Array(1,2,3,4,5) B.Dim a(10) As Integera =Array(1,2,3,4,5)C.Dim a%(10) a(1)=“ABCDE“D.Dim a(3),b(3) As Integer a(0)=0 a(1)=1 a(2)=2 b=a解析:解析:利用 Array对数组各元素赋值,声明的数组是可调数组或连圆括号也可省略的数组,并且其类型只能是 Variant,故选项 B)不正确;选项 C)定义错误,应为 Dim a(10)As String;选项 D)中赋值号左边的 b是一个
29、大小固定的数组:故赋值出错。4.在窗体上画一个名称为 List1的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为(分数:2.00)A.For i=0 To List1.ListCount-1 Next B.For i=0 To ListCount-1 NextC.For i=1 To List1.listCount NextD.For i=1 To ListCount Next解析:解析:List 数组的下标是从 0开始的,ListCount 的值表示列表框中项目的数量,ListCount-1 表示最后一项的下标。5.以下 Case语句中错误的是(分数:2.00)A.Case
30、 0 To 10B.Case Is10C.Case Is10 And Is10解析:解析:Case 语句中的表达式列表可以是下面的 4种形式之一:表达式、一组用逗号分隔的枚举值、表达式 1 To表达式 2、Is 关系运算符表达式,故选项 C)错误。6.以下关于图片框控件的说法中,错误的是(分数:2.00)A.可以通过 Print方法在图片框中输出文本B.清空图片框控件中图形的方法之一是加载一个空图形C.图片框控件可以作为容器使用D.用 Stretch属性可以自动调整图片框中图形的大小 解析:解析:Stretch 属性用于图像框,用来自动调整图片框中图形的大小。7.执行语句 s=Len(Mid(
31、“VisualBasic“,1,6)后,s 的值是(分数:2.00)A.VisualB.BasicC.6 D.11解析:解析:Len 函数用于取其中字符串的长度,而函数 Mid返回包含字符串中指定数量的字符。8.以下叙述中错误的是(分数:2.00)A.下拉式菜单和弹出式菜单都用菜单编辑器建立B.在多窗体程序中,每个窗体都可以建立自己的菜单系统C.除分隔线外,所有菜单项都能接收 Click事件D.如果把一个菜单项的 Enabled属性设置为 False,则该菜单项不可见 解析:解析:Enabled 属性用于决定菜单项是否可用,Visiual 属性决定菜单项是否可见。9.在窗体上画一个命令按钮,其
32、名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() a = 12345 Print Format$(a, “000.00“) End Sub 程序运行后,单击命令按钮,窗体上显示的是(分数:2.00)A.123.45B.12345.00 C.12345D.00123.45解析:解析:对于符号“0”,实际数字小于符号位数时,数字前后加 0;大于时,若要显示数值表达式的整数部分位数多于格式字符串的位数,按实际数值显示。若小数部分的位数多于格式字符串的位数,按四舍五入显示。10.以下叙述中错误的是(分数:2.00)A.一个工程可以包括多种类型的
33、文件B.Visual Basic应用程序既能以编译方式执行,也能以解释方式执行C.程序运行后,在内存中只能驻留一个窗体 D.对于事件驱动型应用程序,每次运行时的执行顺序可以不一样解析:解析:程序运行后可以在内存中驻留多个窗体。11.以下关于函数过程的叙述中,正确的是(分数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系 B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型解析:解析:选项 B)中函数的返回值只有一个;选项 C)中当数组做为函数的形参时,只能以传址方式传递;
34、选项 D)中如果不指明函数过程的参数类型,则该参数为变体类型。12.以下关于变量作用域的叙述中,正确的是(分数:2.00)A.窗体中凡被声明为 Private的变量只能在某个指定的过程中使用B.全局变量必须在标准模块中声明 C.模块级变量只能用 Private关键字声明D.Static类型变量的作用域是它所在的窗体或模块文件解析:解析:选项 A中凡被声明为 Private的变量能被本模块的其他过程使用,但不可以被其他模块使用;选项 C)模块级变量可以使用 Dim和 Private关键字声明;Static 类型的作用域是它所在的过程。13.确定一个控件在窗体上的位置的属性是(分数:2.00)A.
35、Width和 HeightB.Width或 HeightC.Top和 Left D.Top或 Left解析:解析:Top 和 Left属性决定了控件在窗体中的位置,Top 表示控件到窗体顶部的距离,Left 表示到窗体左边框的距离。14.在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Text1.Text = “Visual“ Me.Text1 = “Basic“ Text1 = “Program“ End Sub 程序运行后,如果单击命令按钮,则在文本框中显示的是(分数:2.0
36、0)A.VisualB.BasicC.Program D.出错解析:解析:Text 是文本框的默认属性。15.以下关系表达式中,其值为 False的是(分数:2.00)A.“ABC“AbC“ B.“the“Int“解析:解析:关系运算符的两个操作数若是字符型,则按字符的 ASCII码值从左到右一一比较。16.语句 Print 5/4*6/5 Mod 2的输出结果是(分数:2.00)A.0B.1 C.2D.3解析:解析:先计算 5/4,得 1.25;再计算 1.25*6,得 7.5;接着计算 7.5/5,得 1;最后是 1 Mod 2,结果得 1。17.在窗体上画一个文本框、一个标签和一个命令按
37、钮,其名称分别为 Text1、Label1 和 Command1,然后编写如下两个事件过程:Private Sub Command1_Click() strText = InputBox(“请输入“) Text1.Text = strTextEnd SubPrivate Sub Text1_Change() Label1.Caption = Right(Trim(Text1.Text), 3)End Sub程序运行后,单击命令按钮,如果在输入对话框中输入 abcdef,则在标签中显示的内容是(分数:2.00)A.空B.abcdefC.abcD.def 解析:解析:函数 Trim用于去掉字符串“
38、abcdef“两边的空格,Right 函数从字符串右边取出指定数量的字符。18.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() x = -5 If Sgn(x) Then y = Sgn(x 2) Else y = Sgn(x) End If Print y End Sub 程序运行后,单击命令按钮,窗体上显示的是(分数:2.00)A.-5B.25C.1 D.-1解析:解析:函数 Sgn(N)用于取数 N的符号。X=-5,故 Sgn(X)=-1,为真,执行 Y=Sgn(X2)=Sgn(25),故得 1。19.一
39、个工程中含有窗体 Form1、Form2 和标准模块 Model1,如果在 Form1中有语句 Pubilc X As Integer,在 Model1中有语句 Pubilc Y As Integer,则以下叙述中正确的是(分数:2.00)A.变量 X、Y 的作用域相同B.Y的作用域是 Model1C.在 Form1中可以直接使用 X D.在 Form2中可以直接使用 X和 Y解析:20.在窗体上画一个名称为 Drive1的驱动器列表框,一个名称为 Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是 A)Drive1_
40、Change B) Drive1_Click C) Dir1_Click D) Dir1_Change(分数:2.00)A. B.C.D.解析:解析:当用户在驱动器列表框中选择一个新的驱动器后,Drivel 的 Drive属性改变,触发 Change事件。21.在窗体上画一个命令按钮(其 NAME属性为 Command1),然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a s = 0 a = Array(1,2,3,4);j = 1 For i = 4 To 1 Step -1 s = s + a(i) * j j = j *
41、 10 Next i Print s End Sub 运行上面的程序,单击命令按钮,其输出结果是(分数:2.00)A.4321B.1234 C.34D.12解析:解析:s=a(4)+a(3)*10+a(2)*100+a(1)*1000=1234。22.在窗体上画一个名称为 Text1的文本框,要求文本框只能接收大写字母的输入。以下能实现该操作的事件过程是(分数:2.00)A.Private Sub Text1_KeyPress(KeyAscii As Intege If KeyAscii 90 Then MsgBox “请输入大写字母“ KeyAscii = 0 End If End Sub
42、B.Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Intege If KeyCode 90 Then MsgBox “请输入大写字母“ KeyCode = 0 End If End SubC.Private Sub Text1_MouseDown(Button As Integer,_ Shift As Integer, X As Single, Y As Singl If Asc(Text1.Tex 90 Then MsgBox “请输入大写字母“ End If End SubD.Private Sub Text1_Change
43、() If Asc(Text1.Tex 64 And Asc(Text1.Tex 91 Then MsgBox “请输入大写字母“ End If End Sub解析:解析:选项 B)中的大写字母与小写字母的 KeyCode相同;选项 C)中文本框没有触发 MouseDown事件;选项 D)中判断条件错误,其判断的为输入的是否为大写字母,正好与题目要求相反。23.假定在窗体(名称为 Form1)的代码窗口中定义如下记录类型: Private Type animal animalName As String*20 aColor As String*10 End Type 在窗体上画一个名称为Com
44、mand1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim rec As animal Open “c:/vbTest.dat“ For Random As #1 Len = Len(rec) rec.animalName = “Cat“ rec.aColor = “White“ Put #1, , rec Close #1 End Sub 则以下叙述中正确的是(分数:2.00)A.记录类型 animal不能在 Form1中定义,必须在标准模块中定义B.如果文件 c:/vbTesdat不存在,则 Open命令执行失败C.由于 Put命令中没有
45、指明记录号,因此每次都把记录写到文件的末尾D.语句“Put #1, , rec”将 animal类型的两个数据元素写到文件中 解析:24.在窗体上画一个名称为 Text1的文本框,一个名称为 Command1的命令按钮,然后编写如下事件过程和通用过程: Private Sub Command1_Click() n = Val(Text1.Text) If n/2 = n/2 Then f = f1(n) Else f = f2(n) End If Print f; n End Sub Public Function f1(ByRef x) x=x*x f1=x+x End Function P
46、ublic Function f2(ByVal x) x=x*x f2=x+x+x End Function 程序运行后,在文本框中输入 6,然后单击命令按钮,窗体上显示的是(分数:2.00)A.72 36 B.108 36C.72 6D.108 6解析:解析:因为输入的 6满足条件 n/2=n/2,所以执行 f=f1(n),而 f1里形参类型为 ByRef即址传递,所以在函数里形参的改变会影响到实参。25.在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() c = 1234 c1 = Trim(Str(c) Fo
47、r i = 1 To 4 Print_ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容 1 12 123 1234 则在下划线处应填入的内容为(分数:2.00)A.Right(c1,B.Left(c1, C.Mid(c1,i,1)D.Mid(c1,i,解析:解析:本题主要是要理解这几个函数的作用,Right(c1,i)是从字符串 c1右边取 i个字符,Left(c1,i)是从字符串左边取 i个字符,Mid(c1,i,1)是从字符串 c1的第 i个位置取 1个字符。26.在窗体上画一个名称为 Command1的命令按钮和一个名称为 Text1的文本框,然后编写如下事
48、件过程: Private Sub Command1_Click() n = Val(Text1.Text) For i = 2 To n For j = 2 To sqr(i) If i Mod j = 0 Then Exit For Next j If j Sqr(i) Then Print i Next i End Sub 该事件过程的功能是(分数:2.00)A.输出 n以内的奇数B.输出 n以内的偶数C.输出 n以内的素数 D.输出 n以内能被 j整除的数解析:解析:要理解本事件过程的作用就要看最后打印的条件 jsqr(i),而最后这个条件是否成立又取决于内循环,内循环的作用就是判断在 2到某个数的平方根之间是否有它本身的因数,显然这是判断素数的条件。27.在以下描述中正确的是(分数:2.00)A.标准模块中的任何过程都可以在整个工程范
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1