1、国家二级 VB 机试(选择题)-试卷 41 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误2.下列与队列结构有关联的是(分数:2.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度3. (分数:2.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZD.ABCDEFXYZ4.一个栈的初始状态为空。现将元素 1,2,
2、3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A5.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法6.下面对对象概念描述正确的是(分数:2.00)A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作7.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合D.以上说法均错误8.下面描述中不属于数据库系统
3、特点的是(分数:2.00)A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高9.数据库设计过程不包括(分数:2.00)A.概念设计B.逻辑设计C.物理设计D.算法设计10. (分数:2.00)A.自然连接B.交C.投影D.并11.设计窗体时,双击窗体上没有控件的地方,打开的窗口是( )。(分数:2.00)A.代码窗口B.属性窗口C.工具箱窗口D.工程窗口12.要计算 x 的平方根并放入变量 y,正确的语句是( )。(分数:2.00)A.yExp(x)B.ySgn(x)C.yInt(x)D.ySqr(x)13.为了用键盘打开菜单和执行菜单命令,第一步应按的键是( )。(分数:2.00)A
4、.功能键 F10 或 AltB.Shift功能键 F4C.Ctrl 或功能键 F8D.CtrlAlt14.如果在 Visual Basic 集成环境中没有打开属性窗口,下列可以打开属性窗口的操作是( )。(分数:2.00)A.用鼠标双击窗体的任何部位B.执行“工程“菜单中的“属性窗口“命令C.按 CtrlF4 键D.按 F4 键15.下列有语法错误的赋值语句是( )。(分数:2.00)A.y79B.smnC.Text1.Text10D.mn1216.在面向对象的程序设计中,可被对象识别的动作称为( )。(分数:2.00)A.方法B.事件C.过程D.函数17.设:a12,b5,c7,表达式 x(
5、a/ca Mod b)Int(13 / 5)的值是( )。(分数:2.00)A.5B.6C.7D.918.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是( )。(分数:2.00)A.Static arrB.Dim arr(5)C.Dim arr()D.Dim arr As Variant19.如果一个菜单项的 Enabled 属性被设置为 False,则程序运行时,该菜单项( )。(分数:2.00)A.不显示B.显示但无效C.有效可用D.不显示但有效可用20.顺序文件在一次打开期间( )。(分数:2.00)A.只能读,不能写B.只能写,不能读C.既可读
6、,又可写D.或者只读,或者只写21.如果把命令按钮的 Cancel 属性设置为 True,则程序运行后( )。(分数:2.00)A.按 Esc 键与单击该命令按钮的作用相同B.按回车键与单击该命令按钮的作用相同C.按 Esc 键将停止程序的运行D.按回车键将中断程序的运行22.为了使命令按钮的 Picture、DownPicture 或 DisabledPicture 属性生效,必须把它的 Style 属性设置为( )。(分数:2.00)A.0B.1C.TrueD.False23.下列说法中,错误的是( )。(分数:2.00)A.将焦点移至命令按钮上,按 Enter 键,则引发命令按钮的 Cl
7、ick 事件B.单击命令按钮,将引发命令按钮的 Click 事件C.命令按钮没有 Picture 属性D.命令按钮不支持 DblClick 事件24.为了将“联想电脑“作为数据项添加到列表框 List1 的最前面,可以使用语句( )。(分数:2.00)A.List1.AddItem “联想电脑“, 0B.List1.AddItem “联想电脑“, 1C.List1.AddItem 0,“联想电脑“D.List1.AddItem 1,“联想电脑“25.设运行程序时弹出的菜单如图所示.关于该菜单,以下叙述中错误的是( )。 (分数:2.00)A.菜单中能够显示分隔线是因为该菜单项的标题为“B.分隔
8、线对应的菜单项的 Name 属性可以为空C.退出菜单项的有效性属性被设为 FalseD.使用 PopupMenu 方法能够显示如图所示的菜单26.窗体上有一个列表框控件 List1。以下叙述中错误的是( )。(分数:2.00)A.List1 中有 ListCount1 个列表项B.当 List1.Selected(i)True,表明第 i 项被选中C.设置某些属性,可以使列表框显示多列数据D.List1.Text 的值是最后一次被选中的列表项文本27.如果要在窗体上使用 2 组单选按钮,每组都可以有一个被选中,则应该做的是( )。(分数:2.00)A.把 1 组单选按钮画在窗体的左边,另 1
9、组画在右边B.先画 2 组单选按钮,再画 2 个框架控件把 2 组单选按钮分别框起来C.先画 2 个框架控件,再把 2 组单选按钮分别画在不同的框架中D.因为 1 个窗体中只有 1 个单选按钮可以被选中,所以需要使用 2 个窗体28.窗体上有一个 Text1 文本框,并编写了下面事件过程:Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAsciiKeyAscii3End Sub 程序运行时,在文本框中输入字符“A“,则在文本框中实际显示的是( )。(分数:2.00)A.AB.BC.CD.D29.在窗体上添加“控件“的正确的操作方式是( )。
10、(分数:2.00)A.先单击工具箱中的控件图标,再单击窗体上适当位置B.先单击工具箱中的控件图标,再双击窗体上适当位置C.直接双击工具箱中的控件图标,该控件将出现在窗体上D.直接将工具箱中的控件图标拖动到窗体上适当位置30.窗体上有一个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click() Dim arr_x(5, 5)As Integer For i1 To 3 For j2 To 4 arr_x(i, j)i * j Next j Next i Print arr_x(2, 1); arr_x(3, 2); arr_x(4, 3)End
11、 Sub 运行程序,并单击命令按钮,窗体上显示的内容为( )。(分数:2.00)A.0 6 0B.2 6 0C.0 6 12D.2 6 1231.在窗体上画一个名称为 Command1 的命令按钮,并编写如下程序:Function Fun(x) y0 If xA.10B.100C.110D.出错信息32.在窗体上画一个名称为 Command1 的命令按钮,并编写如下程序:Private Type Record ID As Integer Name As String * 20End TypePrivate Sub Command1_Click() Dim MaxSize, NextChar,
12、MyChar Open “d:/temp/female.txt“ For Input As #1 MaxSizeLOF(1) For NextCharMaxSize To 1 Step1 MyCharInput(1, #1) Next NextChar Print EOF(1) Close #1End Sub 运行程序,单击命令按钮,其输出结果为( )。(分数:2.00)A.TrueB.FalseC.0D.Null33.窗体上有名称为 Command1 的命令按钮,名称分别为 Label1、Label2、Label3 的标签。编写如下程序:Private x As IntegerPrivate
13、 Sub Command1_Click() Static y As Integer Dim z As Integer n5 zzn yyn xxy Label1x Label2y Label3zEnd Sub 运行程序,连续 3 次单击命令按钮后,3 个标签中分别显示的是( )。(分数:2.00)A.5 5 5B.15 10 5C.15 15 15D.30 15 534.命令按钮 Command1 的事件过程如下:Private Sub Command1_Click() Dim arr(5, 5)As Integer Dim i As Integer, j As Integer For i1
14、To 4 For j2 To 4 arr(i, j)ij Next j Next i Print arr(1, 3)arr(3, 4)End Sub 执行上述过程,输出结果是( )。(分数:2.00)A.6B.7C.11D.1235.设有下面的语句:Print IIf(x0, 1, IIf(xA.If x0 Then x1 ElseIf xB.If x0 Then Print 1 ElseIf xC.Select Case x Case Is0 Print 1 Case IsD.If x0 Then Print 1 ElseIf x36.下面的程序是利用公式:44/34/54/74/94/11
15、计算机 的近似值 Pvivate Sub Command1_Click() Dim PI As Double, x As Double, k As Long, sign As Integer sign1 k1 PI0 Do xsign*4/(2*k-1) PI=PI+x k=k+1 sign=_ Loop Unti1 Abs(x)A.sign1B.signC.xD.k37.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click() a$InputBox(“请输入一个二进制数“) nLen(a$) For i1 To n DecDec * 2 (a$,
16、 i, 1) Next i Print DecEnd Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定“按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在“ “处填入的内容是( )。(分数:2.00)A.LeftB.RightC.ValD.Mid38.设有如下事件过程:Private Sub Form_Click() Sum0 For k1 To 3 If kA.9B.6C.3D.1039.编写如下程序:Private Sub Form_Click() Print “Welcome!“End SubPrivate Sub Fo
17、rm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print “欢迎!“End SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Print “热烈欢迎!“End Sub 程序运行后,单击窗体,输出结果为( )。(分数:2.00)A.欢迎! 热烈欢迎! Welcome!B.欢迎! Welcome! 热烈欢迎!C.Welcome! 欢迎! 热烈欢迎!D.Welcom
18、e! 热烈欢迎! 欢迎!40.编写如下程序:Private Sub Command1_Click() Dim m As Integer, n As Integer n2 For m1 To 3 Print proc(n); Next mEnd SubFunction proc(i As Integer) Dim a As Integer Static b As Integer aa1 bb1 proca * biEnd Function 程序运行后,单击命令按钮 Command1,输出结果为( )。(分数:2.00)A.3 3 3B.3 4 5C.3 5 6D.1 2 3国家二级 VB 机试(
19、选择题)-试卷 41 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。2.下列与队列结构有关联的是(分数:2.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度 解析:解析:队列的修改是依先进先出的原则进行的,D 正确。3. (分数:2.0
20、0)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZ D.ABCDEFXYZ解析:解析:前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:访问根结点;前序遍历左子树;前序遍历右子树,C 正确。4.一个栈的初始状态为空。现将元素 1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:2.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 D.1,
21、2,3,C,B,A解析:解析:栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选 C。5.下面属于白盒测试方法的是(分数:2.00)A.等价类划分法B.逻辑覆盖 C.边界值分析法D.错误推测法解析:解析:白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择 B。其余为黑盒测试法。6.下面对对象概念描述正确的是(分数:2.00)A.对象间的通信靠消息传递 B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作解析:解析:对象之间进行通信的构造叫做消息,A 正确。多态性是指同一个操作
22、可以是不同对象的行为,D 错误。对象不一定必须有继承性,C 错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B 错误。7.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合 D.以上说法均错误解析:解析:根据软件设计原理提出如下优化准则: 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 软件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。C 正确。8.下面描述中不
23、属于数据库系统特点的是(分数:2.00)A.数据共享B.数据完整性C.数据冗余度高 D.数据独立性高解析:解析:数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C 错误。9.数据库设计过程不包括(分数:2.00)A.概念设计B.逻辑设计C.物理设计D.算法设计 解析:解析:数据库设计过程主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为 D 选项。10. (分数:2.00)A.自然连接 B.交C.投影D.并解析:解析:关系 R 和关系 S 有公共域,关系 T 是通过公共域的等值进行连接的结果,符合自然连接,选A。11.设计窗体时,双
24、击窗体上没有控件的地方,打开的窗口是( )。(分数:2.00)A.代码窗口 B.属性窗口C.工具箱窗口D.工程窗口解析:解析:双击窗体上没有控件的地方,默认打开“代码窗口“。故选 A。12.要计算 x 的平方根并放入变量 y,正确的语句是( )。(分数:2.00)A.yExp(x)B.ySgn(x)C.yInt(x)D.ySqr(x) 解析:解析:Exp 函数是 e 为底的指数函数,即 ex;Sgn 是符号函数,正数返回 1,负数返回1,0 返回0;Int 是取整函数,取13.为了用键盘打开菜单和执行菜单命令,第一步应按的键是( )。(分数:2.00)A.功能键 F10 或 Alt B.Shi
25、ft功能键 F4C.Ctrl 或功能键 F8D.CtrlAlt解析:解析:按 F10 或 Alt 键可激活菜单,焦点聚焦到菜单栏上,进而可用键盘打开菜单和执行菜单命令。故选 A。14.如果在 Visual Basic 集成环境中没有打开属性窗口,下列可以打开属性窗口的操作是( )。(分数:2.00)A.用鼠标双击窗体的任何部位B.执行“工程“菜单中的“属性窗口“命令C.按 CtrlF4 键D.按 F4 键 解析:解析:用鼠标双击窗体的任何部位会打开“代码窗口“,故 A 选项错误。在“视图“菜单中才有“属性窗口“命令,故 B 选项错误。按 CtrlF4 键关闭当前活动窗体窗口。故 C 选项错误。
26、按 F4 会打开“属性窗口“。故 D 选项正确。15.下列有语法错误的赋值语句是( )。(分数:2.00)A.y79B.smnC.Text1.Text10D.mn12 解析:解析:赋值语句的格式是:变量名表达式。赋值号左边必须是变量名,不能是表达式或常量。D选项中赋值号左边 mn 是表达式,不是变量名,故 D 选项错误。16.在面向对象的程序设计中,可被对象识别的动作称为( )。(分数:2.00)A.方法B.事件 C.过程D.函数解析:解析:在 VB 中可被对象识别的动作称为事件,事件是由用户或系统触发的,触发后就会执行相应的事件过程代码。故选 B。17.设:a12,b5,c7,表达式 x(a
27、/ca Mod b)Int(13 / 5)的值是( )。(分数:2.00)A.5 B.6C.7D.9解析:解析:按算术运算符优先级从高到低顺序依次计算: /、/、Mod,结果为 5,故选 A。18.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是( )。(分数:2.00)A.Static arrB.Dim arr(5) C.Dim arr()D.Dim arr As Variant解析:解析:用 Array 函数可以给 Variant 类型的动态数组赋值;也可给 Variant 类型的变量赋值,此时该变量也看作是一个 Variant 类型的动态数组。 例
28、如: Dim a()As Variant ,b As Variant aArray(1,“abc“,3): bArray(5,6) 本题中 A、D 选项是把 arr 都定义为 Variant 型的变量,C 选项是把 arr 定义为动态数组,这都可以用 Array 函数给 arr 数组赋初值;B 选项定义了一个 Variant 型的一维固定数组 arr,Array 函数不能给固定数组赋初值,故 B 选项错误。19.如果一个菜单项的 Enabled 属性被设置为 False,则程序运行时,该菜单项( )。(分数:2.00)A.不显示B.显示但无效 C.有效可用D.不显示但有效可用解析:解析:菜单项
29、默认情况下显示,Enabled 属性值为 False 表示菜单项无效。所以菜单项显示但无效。故选 B。20.顺序文件在一次打开期间( )。(分数:2.00)A.只能读,不能写B.只能写,不能读C.既可读,又可写D.或者只读,或者只写 解析:解析:顺序文件的读写是由 Open 语句的打开模式决定。用 Output 模式打开,则可对顺序文件进行写操作;用 Input 模式打开,可对顺序文件进行读操作;用 Append 模式打开,可将数据追加到文件尾部。打开一次期间,只能读,或只能写,不能同时进行读写操作。但随机文件和二进制文件打开以后可以同时进行读写操作。故 D 选项正确。21.如果把命令按钮的
30、Cancel 属性设置为 True,则程序运行后( )。(分数:2.00)A.按 Esc 键与单击该命令按钮的作用相同 B.按回车键与单击该命令按钮的作用相同C.按 Esc 键将停止程序的运行D.按回车键将中断程序的运行解析:解析:当一个命令按钮的 Cancel 属性被设置为 True 时,按 Esc 键与单击该命令按钮的作用相同。在一个窗体中,只能有一个命令按钮的 Cancel 属性被设置为 True。22.为了使命令按钮的 Picture、DownPicture 或 DisabledPicture 属性生效,必须把它的 Style 属性设置为( )。(分数:2.00)A.0B.1 C.Tr
31、ueD.False解析:解析:为了使命令按钮的 Picture、DownPicture 或 DisablePicture 属性生效,必须把 Style 属性设置为 1(图形格式),否则设置的图片无效。23.下列说法中,错误的是( )。(分数:2.00)A.将焦点移至命令按钮上,按 Enter 键,则引发命令按钮的 Click 事件B.单击命令按钮,将引发命令按钮的 Click 事件C.命令按钮没有 Picture 属性 D.命令按钮不支持 DblClick 事件解析:解析:按钮的 Picture 属性可以给命令按钮指定一个图形,为了使用这个属性,必须把 Style 属性设置为 1。单击命令按钮
32、或将焦点移至命令按钮上,按 Enter 键,都会引发命令按钮的 Click 事件。命令按钮不支持 DblClick 事件。24.为了将“联想电脑“作为数据项添加到列表框 List1 的最前面,可以使用语句( )。(分数:2.00)A.List1.AddItem “联想电脑“, 0 B.List1.AddItem “联想电脑“, 1C.List1.AddItem 0,“联想电脑“D.List1.AddItem 1,“联想电脑“解析:解析:为列表框控件添加数据的方法是 AddItem,List 控件的 AddItem 方法的语法是:AddItem(String,index)。其中 index 是列
33、表框中列表项的索引值 ,第一项的索引值为 0。25.设运行程序时弹出的菜单如图所示.关于该菜单,以下叙述中错误的是( )。 (分数:2.00)A.菜单中能够显示分隔线是因为该菜单项的标题为“B.分隔线对应的菜单项的 Name 属性可以为空 C.退出菜单项的有效性属性被设为 FalseD.使用 PopupMenu 方法能够显示如图所示的菜单解析:解析:在设计菜单时,如果在菜单标题栏输入“,则可以在菜单中加入一条分隔线,菜单中每一个菜单项,包括分隔线,都要有一个名称,即 Name 属性不能为空。菜单项有效性属性设为 Flase 时,则该项显示为灰色不可用状态。可以使用 PopupMenu 的方法显
34、示弹出式菜单,格式为:PopupMenu 菜单名。26.窗体上有一个列表框控件 List1。以下叙述中错误的是( )。(分数:2.00)A.List1 中有 ListCount1 个列表项 B.当 List1.Selected(i)True,表明第 i 项被选中C.设置某些属性,可以使列表框显示多列数据D.List1.Text 的值是最后一次被选中的列表项文本解析:解析:列表框控件的列表项个数即为 ListCount 属性值。如果列表项的某项被选中,则该项的Selected 属性值为 True。列表框控件的 Columns 属性用来确定列表框的列数。Text 属性的值为最后一次选中的表项的文本
35、,不能直接修改 Text 属性。27.如果要在窗体上使用 2 组单选按钮,每组都可以有一个被选中,则应该做的是( )。(分数:2.00)A.把 1 组单选按钮画在窗体的左边,另 1 组画在右边B.先画 2 组单选按钮,再画 2 个框架控件把 2 组单选按钮分别框起来C.先画 2 个框架控件,再把 2 组单选按钮分别画在不同的框架中 D.因为 1 个窗体中只有 1 个单选按钮可以被选中,所以需要使用 2 个窗体解析:解析:框架用于将窗体上的对象分组。使用两个框架就可以设置两组单选按钮,使每组都可以有一个被选中。必须先画框架,然后在框架内画出需要成为一组的控件,才能使框架内的控件成为一个事件。如果
36、在框架外画一个控件,然后把它拖到框架内,则该控件不是框架的一部分,移动框架时,该控件也不会跟着移动。28.窗体上有一个 Text1 文本框,并编写了下面事件过程:Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAsciiKeyAscii3End Sub 程序运行时,在文本框中输入字符“A“,则在文本框中实际显示的是( )。(分数:2.00)A.AB.BC.CD.D 解析:解析:KeyPress 事件执行时,其中的 KeyAscii 参数是所按键的 ASCII 码,按下“A“键,KeyAscii的值为 65,在过程中 65368,即 A 字符
37、后面的第 3 个字符的 ASCII 码值,即字符“D“,因此在文本框中回显“D“。29.在窗体上添加“控件“的正确的操作方式是( )。(分数:2.00)A.先单击工具箱中的控件图标,再单击窗体上适当位置B.先单击工具箱中的控件图标,再双击窗体上适当位置C.直接双击工具箱中的控件图标,该控件将出现在窗体上 D.直接将工具箱中的控件图标拖动到窗体上适当位置解析:解析:在窗体上添加控件有两种方法,一种是直接双击工具箱中的控件图标,该控件就会出现在窗体上,另一种是先单击工具箱中的控件图标,然后在窗体上拖动,该控件就出现在窗体上鼠标拖过的位置。30.窗体上有一个名称为 Command1 的命令按钮,事件
38、过程如下:Private Sub Command1_Click() Dim arr_x(5, 5)As Integer For i1 To 3 For j2 To 4 arr_x(i, j)i * j Next j Next i Print arr_x(2, 1); arr_x(3, 2); arr_x(4, 3)End Sub 运行程序,并单击命令按钮,窗体上显示的内容为( )。(分数:2.00)A.0 6 0 B.2 6 0C.0 6 12D.2 6 12解析:解析:程序定义了一个二维数组,然后利用 For 循环对其中部分元素赋值,没有得到赋值的元素值为 0。赋值元素的第 1 维范围是 1
39、3,第 2 维范围是 24。因此在输出语句中,arr_x(2,1)第 2 维不在赋值范围所以此元素值0,arr_x(3,2)两维都在赋值范围内所以此元素值为 3。31.在窗体上画一个名称为 Command1 的命令按钮,并编写如下程序:Function Fun(x) y0 If xA.10 B.100C.110D.出错信息解析:解析:程序中输入 100,则调用过程为 Fun(100),过程 Fun 中判断参数是否小于 10,小于 10 则将此值赋给 y,如果不小于 10,则变量 y 值加 10,由于 100 不小于 10,所以 y 值加 10,等于 10,并将此值做为函数值返回。因此输出结果为
40、 10。32.在窗体上画一个名称为 Command1 的命令按钮,并编写如下程序:Private Type Record ID As Integer Name As String * 20End TypePrivate Sub Command1_Click() Dim MaxSize, NextChar, MyChar Open “d:/temp/female.txt“ For Input As #1 MaxSizeLOF(1) For NextCharMaxSize To 1 Step1 MyCharInput(1, #1) Next NextChar Print EOF(1) Close
41、#1End Sub 运行程序,单击命令按钮,其输出结果为( )。(分数:2.00)A.True B.FalseC.0D.Null解析:解析:程序中以顺序输入方式打开 d:/temp/female.txt 文件。Lof 函数取得打开文件的长度。EOF 函数用来测试文件的结束状态。根据文件长度值,利用 Input 函数逐一取出文件中的字符,每读取一个字符,文件指针自动下移,指向下一个字符。当执行最后一次循环时,Input 函数读取了最后一个字符,文件指针再向下移动就会指向文件的结尾。因此当 EOF 函数测试文件结束状态时,就会返回 True。对于逻辑值,Print 语句会直接输出“True“。因此
42、答案为 A。33.窗体上有名称为 Command1 的命令按钮,名称分别为 Label1、Label2、Label3 的标签。编写如下程序:Private x As IntegerPrivate Sub Command1_Click() Static y As Integer Dim z As Integer n5 zzn yyn xxy Label1x Label2y Label3zEnd Sub 运行程序,连续 3 次单击命令按钮后,3 个标签中分别显示的是( )。(分数:2.00)A.5 5 5B.15 10 5C.15 15 15D.30 15 5 解析:解析:变量 x 被定义为窗体模
43、块变量,它在整个窗体模块中有效。Click 事件中变量 y 定义为Static,即静态变量,它的值在每调用过程时都会保留上次的值。每次单击按钮标签中显示的值即x、y、z 的值是: 第一次,n5,zzn055,yyn055,xxy055; 第二次,n5,zzn055,yyn5510,xxy51015; 第三次,n5,zzn055,yyn10515,xxy151530; 因此 3 次单击命令按钮后,3个标签中分别显示的是 30 15 5。34.命令按钮 Command1 的事件过程如下:Private Sub Command1_Click() Dim arr(5, 5)As Integer Dim
44、 i As Integer, j As Integer For i1 To 4 For j2 To 4 arr(i, j)ij Next j Next i Print arr(1, 3)arr(3, 4)End Sub 执行上述过程,输出结果是( )。(分数:2.00)A.6B.7C.11 D.12解析:解析:当用 Dim 语句定义数组时,该语句把数组中的全部元素都初始化为 0,而把字符串数组中的全部元素都初始化为空字符串。程序中利用 For 循环为数组 arr 的部分元素赋值这些元素的第一维范围是14,第二维的范围是 24,值为两维下标的和。程序要输出 arr(1, 3)arr(3, 4)的
45、值,arr(1, 3)值为 134,arr(3, 4)值为 347。4711,因此程序输出结果为 11。35.设有下面的语句:Print IIf(x0, 1, IIf(xA.If x0 Then x1 ElseIf xB.If x0 Then Print 1 ElseIf xC.Select Case x Case Is0 Print 1 Case IsD.If x0 Then Print 1 ElseIf x解析:解析:IIF 函数可用来执行简单的条件判断操作,它是 IfThenElse 结构的简写版本,格式如下: ResultIIf(条件,True 部分,Flase 部分) 因此 Prin
46、t IIf(x0,1,IIf(x0 时输出 1,x 不大于 0时,如果 x36.下面的程序是利用公式:44/34/54/74/94/11计算机 的近似值 Pvivate Sub Command1_Click() Dim PI As Double, x As Double, k As Long, sign As Integer sign1 k1 PI0 Do xsign*4/(2*k-1) PI=PI+x k=k+1 sign=_ Loop Unti1 Abs(x)A.sign1B.sign C.xD.k解析:解析:根据公式 44/34/54/74/94/11可知 sign 是作为符号翻转的,即
47、一次下一次就为,因此空缺处应该填sign,这样就可使符号循环一次翻转一次。37.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click() a$InputBox(“请输入一个二进制数“) nLen(a$) For i1 To n DecDec * 2 (a$, i, 1) Next i Print DecEnd Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定“按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在“ “处填入的内容是( )。(分数:2.00)A.LeftB.RightC
48、.ValD.Mid 解析:解析:将二进制数转换为十进制数需要将二进制数的每一位取出来进行运算,从一个数值字符串中截取一位数字字符要使用 Mid 函数,因此在程序空缺处该填入 Mid。38.设有如下事件过程:Private Sub Form_Click() Sum0 For k1 To 3 If kA.9B.6 C.3D.10解析:解析:程序执行过程如下: k1,k3 成立,执行 x3,sumsumx336,循环结束。因此最后输出 Sum 的值为 6。39.编写如下程序:Private Sub Form_Click() Print “Welcome!“End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print “欢迎!“End SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Print “热烈欢迎!“End Sub 程序运行后,单击窗体,输出结果为( )。(分数:2.00)A.欢迎! 热烈欢迎!