1、VB笔试模拟试卷 99及答案与解析 1 算法的时间复杂度是指 _。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 2 下列叙述中正确的是 _。 ( A)线性表是线性结构 ( B)栈与队列是非张性结构 ( C)线性链表是非张性结构 ( D)二叉树是线性结构 3 下面关于完全二叉树的叙述中,错误的是 _。 ( A)除了最后一层外,每一层上的结点数均达到最大值 ( B)可能缺少若干个左右叶 子结点 ( C)完全二叉树一般不是满二叉树 ( D)具有结点的完全二叉树的深度为 log2n+1 4 结构化程序设计主要强调的
2、是 _。 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程序的可移植性 5 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 _。 ( A)概要设计 ( B)详细设计 ( C)可行性分析 ( D)需求分析 6 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图 符不属于数据流图合法图符的是 _。 ( A)控制流 ( B)加工 ( C)数据存储 ( D)源和潭 7 软件需求分析一般应确定的是用户对软件的 _。 ( A)功能需求 ( B)非功能需求 ( C)性能需求 ( D)功能需求和非功能需求 8 下述关
3、于数据库系统的叙述中正确的是 _。 ( A)数据库系统减少了数据冗余 ( B)数据库系缴晚了一切冗余 ( C)数据库系统中数据的一致性是指数据类型的一致 ( D)数据库系统比文件系统能管理更多的数据 9 关系表中的每一横行称 为一个 _。 ( A)元组 ( B)字段 ( C)属性 ( D)码 10 数据库设计包括两个方面的设计内容,它们是 _。 ( A)概念设计和逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计 11 下列方法中不能退出 Visual Basic的是 ( A)按 Alt+Q组合键 ( B)按下 Alt+F组合键,然后按 E
4、sc键 ( C)打开 “文件 ”菜单,执行 “退出 ”命令 ( D)按 F10键,然后按 F键,再按 X键 12 下列说法错误的 是 ( A)方法是对象的一部分 ( B)在调用方法时,对象名是不可缺少的 ( C)方法是一种特殊的过程和函数 ( D)方法的调用格式和对象属性的使用格式相同 13 如果要将窗体中的某个命令按钮设置成无效状态,应该设置命令按钮的那个属性 ( A) Value ( B) Visible ( C) Enabled ( D) Default 14 在代码编辑器中,续行符是用来换行书写同 个语句的符号,用以表示续行符的是 ( A)一个空格加一个下划线 “-” ( B)一个下划
5、线 “-” ( C)一个造字符 “-” ( D) 一个空格加一个连字符 “-” 15 以下关于 Visual Basic数据类型的说法,不恰当的是 ( A) Visual Basic 6.0提供的数据类型主要有字符串型和数值型,此外还有字节、货币、对象、日期、布尔和变体数据类型等 ( B)目前 Decimal数据类型只能在变体类型中使用 ( C)用户不能定义自己的数据类型 ( D)布尔型数据只能取两种值,用两个字节存储 16 表达式 (3/2+1)*(5/2+2)的值是 ( A) 11.25 ( B) 3 ( C) 6.125 ( D) 4 17 可以在常量的后 面加上类型说明符以显示常量的类
6、型,可以表示整型常量的是 ( A) % ( B) # ( C) ! ( D) $ 18 要触发组合框的 DblClick事件,只有将组合框的 Style属性设置为 ( A) 0 ( B) 1 ( C) 2 ( D) 3 19 要使文本框获得输入焦点,则应采用文本框控件的方法是 ( A) GotFocus ( B) LostFocous ( C) KeyPress ( D) SetFocus 20 在 Visual Basic中,组合框是文本框和下列哪一项的特性的组合 ( A)复选框 ( B)标签 ( C)列表框 ( D)目录列表框 21 下列说法正确的是 ( A)在 Visual Basic中
7、的对话框分为两种类型:预定义对话框和自定义对话框 ( B)自定义对话框由用户根据自己需要定义的 ( C)预定义对话框是用户在设置程序代码后定义的 ( D) MsgBox函数是用户的自定义对话框的函数 22 以下说法不正确的是 ( A)使用 ReDim语句可以改变数组的维数 ( B)使用 ReDim语句可以改变数组的类型 ( C)使用 ReDim语句可以改变数组的每一维的大小 ( D)使用 ReDim语句可以改变对 数组中的所有元素进行初始化 23 下列程序段的执行结果为 m=1 n=1 Select Case m Case 1 Select Case n Case 0 Print“ * * 0
8、 * *“ Case 1 Print“ * *1* *“ End Select Case 2 Print“ * * 2 * *“ End Select ( A) *0* ( B) *1* ( C) *2* ( D) 0 24 下面程序段的运行结果是 a=1 b=1 Do a=a+1 b=b+1 Loop Until b 5 Print“k=“; a; Spc(4) ; “b=“; b + a ( A) k=7 b=14 ( B) k=6 b=6 ( C) k=4 b=8 ( D) k=6 b=12 25 以下能够正确计算 n!的程序是 ( A) Private Sub Command1_Cli
9、ck( ) n=5: x=1 Do x=x*i i=i+1 Loop While i n Print x End Sub ( B) Private Sub Command1_Click( ) n=5: x=1: i=1 Do x=x*i i=i+1 Loop While i n Print x End Sub ( C) Private Sub Command1_Click( ) n=5:x=1:i=1 Do x=x*i i=i+1 Loop While i = n Print x End Sub ( D) Private Sub Command1_Click( ) n=5:x=1:i=1 Do
10、 x=x*i i=i+1 Loop While i n Print x End Sub 26 在窗体上画一个名称为 Labell的标签,然后编写如下事件过程。 Private Sub Form_Click( ) Dim arr(10, I0) As Integer Dim i As Integer, j As Integer For i = 2 To 4 For j =2 To 4 arr(i,j) =i*j Next Next Labell. Caption = Str(arr(2,2) + arr(3,3) ) End Sub 程序运行后,单击窗体,在标签中显示的内容是 ( A) 12 (
11、 B) 13 ( C) 14 ( D) 15 27 执行以下语句过程,在 窗体上显示的内容是 Option Base 0 Private Sub Command3_Click( ) Dim d d=Array(“a“, “b“, “c“, “d“ Print d(1) ; d(3) End Sub ( A) ab ( B) bd ( C) ac ( D)出错 28 执行下面的程序段后,变量 c的值为 a=14 b=30 Select Case b10 Case 0 c=a*10 + b Case 1 To 9 c=a* 100 +b Case 10 To 99 c=a * 1000 + b E
12、nd Select Print c ( A) 363 ( B) 2548 ( C) 1430 ( D) 9875 29 单击命令按钮时,下列程序的执行结果是 Private Sub Book( x As Integer) x=x*2+1 If x 6 Then Call Book(x) End If x=x * 2 + 1 Print x; End Sub Private Sub Command2_Click( ) Book 2 End Sub ( A) 23 47 ( B) 10 36 ( C) 22 44 ( D) 24 50 30 有如下程序。 Private Sub Commandl_
13、Click() Dim a As Single Dim b As Single a=5:b=4 Call Sub1 ( a,B)End Sub Sub Subl(x As Single, y As Single) t=x x=ty y = t Mod y End Sub 在调 用运行上述程序后, a和 b的值分别为 ( A) 0 0 ( B) 1 1 ( C) 2 ( D) 1 2 31 有如下的程序。 Private Sub Commandl_Click( ) Dim k As Integer, m As Integer Dim P As Integer k=4: m=1 P=Fun(k,
14、m) : Print P; P = Fun ( k, m) : Print P End Sub Private Function Fun( a As Integer, b As Integer) Static m As Integer, i As Integer m=5:i=2 i=i+m+1 m=i + a + b Fun=m2 End Function 单击命令按钮后,输出结果为 ( A) 2 2 ( B) 4 4 ( C) 5 5 ( D) 6 32 在窗体上画一个命令按钮,然后编写如下事件过程。 Private Sub Command1_Click( ) Dim m As Intege
15、r, n As Integer, p As Integer m=3: n=5:p=0 Call Y(m, n, p) Print Str(p) End Sub Sub Y(ByVal i As Integer, ByVal j As Integer, k As Integer) k=i+j End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 ( A) 4 ( B) 6 ( C) 8 ( D) 10 33 在 Visual Basic的立即窗口内输入以下语句 X=65 CR Print Chr$(X) CR 在窗口中显示的结果是 ( A) 65 ( B) A ( C) a (
16、D) X 34 随机文件用于读数据的语句是 ( A) Get ( B) Writ ( C) print ( D) Input 35 向顺序文件 Temp.txt中写入 1, 2, 3这 3个数。在程序中加入以下语句的那项可以使程序功能完整。 Private Sub Command1_Click() Open“c:Temp.txt“,Output As #1 For i=0 To 3 _ Next Close #1 End Sub ( A) Print #1, Temp.txt ( B) Get #1, i ( C) Print #1, i ( D) Unit #1, i 36 在面向对象的程序
17、设计中,类描述 的是具有相似性质的一组【 】。 37 面向对象的模型中、最基本的概念是对象和【 】。 38 冒泡排序在最好情况下时间复杂度为【 】。 39 在关系代数运算中,并、笛卡尔积,投影、选择和【 】为基本的运算 40 成本效益分析的目的是从【 】角度评价开发一个项目是否可行。 41 窗体的属性可在属性窗口中设置,也可在程序中用【 】语句动态设置。 42 VB中的控件分为内部控件、 ActiveX控件和【 】三类。 43 窗体中有两个命令按钮: “显示 ”(控件名为 CmdDisplay)和 “测试 ”(控件名为cmdTest)单击 “测试 ”按钮时,执行如下事件过程。此事件过程的功能是
18、:当在窗体中出现消息框并选中其中的 “确定 ”按钮时,隐藏 “显示 ”按钮,否则退出。请填空。 Private Sub cmdTest_ lick() answer=MsgBox (“隐藏按钮 ”, 65) If answer=vbOK Then cmdDisplay.【 】 Else End End If End Sub 44 有如下 Sub过程: Sub ind(a As Integer) Static x As Integer x= x + a Print x: End Sub 以下是调用它的事件过程,程序运行后,单击命令按纽 Command1三次,输出结果为【 】。 Private S
19、ub Command1_Click() Ind 2 End Sub 45 下列语句的输出结果为【 】。 VB笔试模拟试卷 99答案与解析 1 【正确答案】 C 【试题解析】 所谓算法的时间复杂度,是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。 2 【正确答案】 A 【试题解析】 根据数据结构中各数据元素之间前后间关系的复杂 程度,一般将数据结构分为两大类型:线性结构与非线性结
20、构。如果一个非空的数据结构满足下列两个条件; 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。 3 【正确答案】 B 【试题解析】 这里考察完全二叉树与满二叉树的定义及二叉树的性质。满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干 子结点 (叶子结点 )的二叉树。因此选项 A是正确的,而选项 B是错误的。由定义可知,满二叉树肯定是完全二叉树,而完全二叉树一般不是满二叉树,因此选
21、项 C是正确的叙述。选项 D即二叉树性质 (5),也是正确的。 4 【正确答案】 B 【试题解析】 结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。 5 【正确答案】 D 【试题解析】 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其 概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为; 可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成开发任务的实施计划。
22、需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。 软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。 软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。 软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。 运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。 6 【正确答案】 A 【试
23、题 解析】 数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工 (转换 )、数据流、存储文件(数据源 )、源和潭。 7 【正确答案】 D 【试题解析】 软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。 8 【正确答案】 A 【试题解析】 由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的 应用范围。数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避
24、免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。 9 【正确答案】 A 【试题解析】 在苯系数据库中,关系模型采用二维表来表示,简称 “表 ”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。 10 【正确答案】 A 【试题解析】 数据库设计可分为概念设计与逻辑设计。数据库概 念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。数据库逻辑设计的主要工作是将 ER图转换为指定的 RDBMS中的关系模型。 11 【正确答案】 B 【试题解析】 Alt+Q为
25、退出 Visual Basic的快捷键,所以选项 A是正确的; F10为激活菜单栏的快捷键,激活菜单栏,然后按 F键选择 “文件 ”菜单,再按 X键选择 “退出 ”命令按钮,可退出,所以选项 D正确; Alt+F为激活 “文件 ”菜单的快捷键,打开快捷菜单后,相应的快捷命令在各命令选项后都有提示,所以选项 B不正确;打开 “文件 ”菜单, 执行 “退出 ”命令,也是可以的,所以选项 C正确。注意: Visual Basic的退出和其他 Windows应用软件一样有多种退出方式,既可以通过快捷键还可,以通过菜单命令或组合键退出。注意: Visual Basic基础知识。 12 【正确答案】 B
26、【试题解析】 方法是对象的一部分,所以选项 A的表述是正确的;其调用格式为:对象名方法名称,与属性的使用格式相同,所以选项 D是正确的;方法在调用时,可以省略对象名,但这只限于当前窗体 (或控件 ),如果不是当前窗体或控件要加上对象名称,所以选项 B是不正确的; 方法是一种特殊的过程和函数,所以选项 C是正确的。注意: 方法和事件一样是对象的一部分。注意:对象的方法。 13 【正确答案】 C 【试题解析】 在 Visual Basic中,控制控件有效性的属性是 Enabled,设置为True,则处于有效状态,如果设置成 False,则处于无效状态,所以选项 C是正确的; Visible属性是控
27、制空间可见性的,有两种值: Tme和 False,默认情况下是True;如果将对象的 Visible值设为 False,窗体和控件在设计阶段仍可见,只有运行时才隐藏,所以选项 B不正 确; Default是决定窗体的缺省命令的命令按钮的属性,另外,一个窗体只能有一个缺省命令按钮,所以选项 D也不正确; Value属性在不同的控件中有不同的作用。注意: 控件的 Visible属性决定该控件是否可见,如果设置为 True,则在运行时该控件可见。如果设置为 Flase,则不可见。注意:对象的方法。 14 【正确答案】 A 【试题解析】 一般情况下,输入程序的语句要求一句一行,一行 句,但 Visua
28、l Basic允许使用续行符把程序分在几行中书写,但所使用的下划线要注意与它前面的字符之间要至少有一 个空格,这样书写有助于程序的条理性和可读性。注意: 在编写代码时。可以将多行代码写在一行,此时应在两条语句之间加一个 “: ”号;也可以将一行代码写在多行,此时应在行尾加一个空格和下滑线 “-”。注意:Visual Basic程序设计基础。 15 【正确答案】 C 【试题解析】 在 Visual Basic中,提供的数据类型主要有字符串型和数值型,此外还有字节、货币、对象、日期、布尔和变数数据类型等,所以选项 A是正确的;除了基本数据类型外,用户还可以自己定义数据类型,这是 Visual Ba
29、sic所支持的, 所以选型 C不正确;因为目前 Decimal数据类型只能在变体类型中使用,也就是说,不能把一个变量声明为 Decimal类型,所以选项 B是正确的;布尔型数据是一个逻辑值,用两个字节存储,它只能取两种值,即 True或 False,所以选项 D也是正确的。注意: Visual Basic中提供了多种基本数据类型,也允许用户自定义数据类型。注意:用户自定义类型也是由系统定义的基本数据类型组合而成的。注意: Visual Basic中各种数据类型的应用。 16 【正确答案】 A 【试题解析】 本题主要考查了运算符 “/”的使用,在 Visual Basic中符号 “/”为浮点数除
30、法运算符,执行标准的除法操作,运算结果的为浮点数,通过运算本题的结果为 11.25;计算结果为选项 A。注意: 本题中表达式的计算顺序是:先计算 3/2再加 1,然后计算 5/2再加 2,最后计算两个值的乘积。注意:运算符和表达式。 17 【正确答案】 A 【试题解析】 下面是常量类型及其类型说明符: 整型 % 长整型 & 单精度浮点数 ! 双精度浮点数 # 货币型 字符串型 $ 字节型、布尔型、日期型、对 象及变体型常量没有类型说明符。注意: 在Visual Basic中定义了 7种类型说明符。注意:数据类型说明符的应用。 18 【正确答案】 B 【试题解析】 组合框的事件依赖于其 Styl
31、e属性,只有 Style属性设置为 1时,才能接收 DblClick事件,因此只有 B选项正确。注意: 组合框的 Style属性有 3个取值: 0- DropDown Combo; 1-Simple Combo; 2-DropDown List。注意:组合框控件的应用。 19 【正确答案】 D 【试题解析】 CotFocus是使文本框具有输入焦点的方法。注意: 要获得焦点,既可通过获得焦点方法 SetFocus来实现;也可通过在程序运行时,选择或单击相应控件来实现。注意:控件的方法。 20 【正确答案】 C 【试题解析】 组合框是一个独立的控件,它具有列表框和文本框的功能,它可以像列表框一样,
32、让用户通过鼠标选择需要的项目,也可以像文本框一样,用键人的方式选择项目。注意: 组合框的 Style属性有 3个取值: 0- DropDown Combo; 1-Simple Combo; 2-DmpDown List。注意:组合框控件的 应用。 21 【正确答案】 B 【试题解析】 对话框的分类及特点。注意: 在 Visual Basic中,对话框分为 3种类型:即预定义对话框、自定义对话框和通用对话框,所以选项 A不正确;预定义对话框也称预制对话框,是由系统提供的, Visual Basic系统提供了两种预定义对话框:即输入框和信息框 (或消息框 ),前者用 InputBox函数建立,后者
33、用MsgBox函数建立,所以选项 C和选项 D不正确;自定义对话框也称定制对话框,这种对话框由用户根据自己的需要进行定义,输入框和信息框尽管很容易建立,但在应用 上有一定的限制,所以选项 B是正确的;通用对话框是一种控件,用这种控件可以设计较为复杂的对话框。注意:对话框的概念、对话框的应用。 22 【正确答案】 B 【试题解析】 ReDim语句是声明语句中的一种类型,它只能用于过程和函数体内,为动态数组分配内存空间,下面具体来看看有关 ReDim语句的声明: Dim语句是不执行的,可以放在过程的外部, ReDim语句是可执行语句,必须放在过程内; ReDim语句可以反复使用,用以改变数组的维数
34、和元素个数,但不能改变数组类型; 在第二次使用 ReDim语句时将对数组重新初始化,若为数值型数组,各元素变为 0;若为字符串数组,各元素都变为长度为 0的字符串; Variant型则变为Empty。注意: ReDim语句是用于给变量重新定义的语句,一般用于数组变量中,它可以将重新定义数组的下标上界并清楚数组中以前的数据。注意:数组变量的重定义。 23 【正确答案】 B 【试题解析】 Select Case结构的一般格式为: Select Case expr Caseexpr1 clause 1 Case expr2 clause 2 Case else clause n End Select
35、 其中 expr是测试表达式,如果满足 exprn,就执行这条语句,然后退出,因为m=1、 n=1,所以执行语句 Print “* * 1* *“。注意: 根据题中的条件, m=1、n=1,所以执行语句 Print“B“。注意:多分支控制结构的应用。 24 【正确答案】 D 【试题解析】 本题中的 Do-Loop Until循环为直到型循环 结构,直到条件 b 5为止,此时 a=6, b=6,所以最后输出的结果是 k=6 b=12。所以正确答案是选项D。注意: DoLoop Until 循环控制结构是先执行循环体语句,然后再判断条件。因此,不管条件如何,该循环语句至少执行一次循环体。注意: D
36、oLoop Until、 DoLoop While 循环控制结构。 25 【正确答案】 C 【试题解析】 n!=123(n -1)n,由于是累乘,因此 x和 i的初值都必须为1;其次就是循环执行条件的确定,由于使用的是 While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是 i =n。注意: DoLoop While 循环控制结构是先执行循环体语句,然后再判断条件。 因此,不管条件如何,该循环语句至少执行一次循环体。注意: DoLoop Until 、DoLoop While 循环控制结构。 26 【正确答案】 B 【试题解析】 本题具有一定的迷惑性,其实分析一下易
37、知 arr(i,j)的值即为 i*j,所以 an(2, 2)+arr(3, 3)就是求 2*2+3*3=13。注意: ForNext 循环控制结构适用于指定循环次数的循 环程序。其格式为: For循环变量二初始值 To终值 Step步长 Next 其中,当步长为正时,初始值要小于终值;当步长为负时,初始值要大于终值。注意: ForNext 循环控制结构。 27 【正确答案】 B 【试题解析】 在 Visual Basic中,一般可以用 Array函数解决数值初始值的输入,格式为: 数组名 =Array(要输入的值 ) 本题中声明的数组 d,默认下界为 0,即数组第一个元素为 d(0),所以当程
38、序调用 Array函数后, d(0)=a, d(1)=b, d(2)=c, d(3)=d。不难看出最后 Print语句要输出的是 d(1), d(3)的值,即 b、 d。所以只有选项 B正确。注意: Option Base数值下标下界值 ,该语句可以指定数组下标的下界值。 Array是给数组赋初值的函数。注意: Array函数的应用。 28 【正确答案】 C 【试题解析】 Select Case结构的一般格式为: Select Case expr Case expr1 clause 1 Case expr2 clause 2 Case else clause n End Select 其中 e
39、xpr是测试表达式,如果满足 expr n,就执行这条语句,然后退出。 具体过程分析: b=30,所以 b10=3,在 1-9之间,执行语句 c=a*100+b,c=14*100+30=1430。注意: 嵌套使用多分支控制结构时,应注意程序执行过程。注意: Select CaseEnd Select 多分支结构语句应用。 29 【正确答案】 A 【试题解析】 此题在函数调用过程 中采用了简单递归的方式,具体流程如下:主调过程调用 Book过程,把实参 2传递给 Book过程中的形参 x,由 x=x*2+1语句推出 x=5,此时满足 Book过程体中判断语句的判断条件,执行 Call Book(
40、x)语句,第二次调用 Book过程。由 x=x*2+1语句得到 x值为 11,判断条件 11 6为假,故返回此调用过程执行 x=x*2+1语句得 x=23并输出,结束此次调用过程。由于两次调用 Book过程,第二次仍返回调用时的断点语句,即执行 x=x*2+ 1,Print x,输出 x的值为 47,返回到主调过程,结束程序,两次 输出为 23 47,正确答案为选项 A。注意: 递归调用法是 Visual Basic中一种特殊的函数调用方法。这种函数采用嵌套调用函数本身的方式调用函数。 30 【正确答案】 B 【试题解析】 调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合
41、,然后用实际参数执行调用的过程;因为在默认的情况下,变量都是通过 “引用 ”传送给 Sub1过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值;过程 Sub1的形参获得 a, b的地址,此时 x=5, y=4,在过程 Sub1中,将 x,即 5的 值赋给 t,而将 ty的值赋给 x,将 t除以 y的余数赋给 y,此时 x, y的值为 1, 1。注意: 调用通用过程可以返回多个参数值。注意:过程调用、参数传递 31 【正确答案】 D 【试题解析】 在 Sub过程中,程序段先定义了 3个 Integer型变量 k, m, P,并给 A赋给初值 4, m的初值为 1,然后调用事件过程 F
42、un,并将它的值赋给 9;在事件过程 Fun中定义了两个形参,参数的传送是通过引用实参,即将 k, m的地址作为 a, b的地址;在 Fun中,将 m, i定义为静态变量,所以第一次调用后的值仍然保留,但是 m, i分 别都有赋值语句,将它们的值变为 5, 2,所以返回值不变都是 6 6。注意: 调用函数只能返回一个结果值。注意:函数调用、参数传递 32 【正确答案】 C 【试题解析】 此程序考查了函数的调用,函数过程有 3个形参,功能是将第 1个与第 2个形参的和赋给第 3个形参,其中前两个形参是按值传递,不会影响实参的数值,即在调用函数过程的过程中,不变化实参的数值;而第 3个形参是按址传
43、递,传递的是实参的地址,这样实参会随着过程中形参的变化而变化,即改变实参的数值。在主调过程中定义了 3个整型变量,分别赋值 3、 5、 0,调 用过程后m、 n的数值仍然是 3、 5,而 p的值不再是 0而变为 8,即 m、 n的和,这也是被调函数的作用。注意: 参数按传值方式传递时,不改变实参中的值;按传地址的方式传递时,实参和形参指向同一个存储地址,所以实参指向的内容被改变。注意:参数传递方式的概念和应用 33 【正确答案】 B 【试题解析】 Chr$()是求 ASCII字符的函数,格式是 Chr$(表达式 ),其中 “表达式 ”应该是合法的 ASCII码值, Chr$()函数把 “表达式
44、 ”的值转换为相应的 ASCII字符。本题中 X=65对应的 ASCII码是字符 A, 所以显示的结果应该是 A。注意: Chr$(KeyCode)转换函数中的 Key Code参数值是一个数值型数据。该函数返回值是一个字符串型数据。注意:转换函数的应用 34 【正确答案】 A 【试题解析】 随机访问模式中文件的写操作使用 Put命令, Put命令是将一个记录变量的内容写入所代开的磁盘文件中指定的记录位置上;随机访问模式中文件的读操作使用 Get命令, Get命令是从磁盘文件将一条记录号指定的记录内容读入记录变量中。注意: 数随机文件的语句格式是: Get#文件号, 记录号 ,变量注意:随机文
45、件 的读写操作 35 【正确答案】 C 【试题解析】 向顺序文件中写入数据用 Print语句。注意: 读随机文件的语句格式是: Get #文件号, 记录号 ,变量;写随机文件的语句格式是: Put #文件号, 记录号 ,变量注意:随机文件的读写操作 36 【正确答案】 对象 37 【正确答案】 类 38 【正确答案】 (n) 39 【正确答案】 差 40 【正确答案】 经济 41 【正确答案】 赋值 42 【正确答案】 可插入对象 43 【正确答案】 visible=true 44 【正确答案】 6 45 【正确答案】 010, 009, 360 【试题解析】 用 Format$()函数可以将数值按 “格式字符串 ”指定的格式输出,包括在输出字符串前面加 $,字符串后面补 0及千位分隔符等。 “格式字符串 ”是一个常量或变量,它由专门的格式说明符组成,由这些字符决定数据项的显示格式,并指定显示区域的长度,当格式字符串为常量时,必须放在双引号中,格式说明符及作用见下表: Print Format$(10009.36, “000, 000.000“)