一、单项选择题
(1) 算法的空间复杂度是指 A) 算法程序的长度 B) 算法程序中的指令条数 C) 算法程序所占的存储空间 D) 执行过程中所需要的存储空间 解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
(2) 用链表表示线性表的优点是 A) 便于随机存取 B) 花费的存储空间较顺序存储少 C) 便于插入和删除操作 D) 数据元素的物理顺序与逻辑顺序相同 解析: 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。 (3) 数据结构中,与所使用的计算机无关的是数据的 A) 存储结构 B) 物理结构 C) 逻辑结构 D) 物理和存储结构 解析: 数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。
(4) 结构化程序设计主要强调的是 A) 程序的规模 B) 程序的效率 C) 程序设计语言的先进性 D) 程序易读性 解析: 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
(5) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 A) 模块间的关系 B) 系统结构部件转换成软件的过程描述 C) 软件层次结构 D) 软件开发过程 解析: 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。
(6) 检查软件产品是否符合需求定义的过程称为 A) 确认测试 B) 集成测试 C) 验证测试 D) 验收测试 解析: 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。
(7) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 A) 控制流 B) 加工 C) 数据存储 D) 源和潭 解析: 数据流图包括4个方面,即加工(转换) (输入数据经加工变换产生输出) 、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名) 、存储文件(数据源) (表示处理过程中存放各种数据的文件) 、源和潭(表示系统和环境的接口,属系统之外的实体)。不包括选项中的控制流。
(8) 应用数据库的主要目的是 A) 解决数据保密问题 B) 解决数据完整性问题 C) 解决数据共享问题 D) 解决数据量大的问题 解析: 数据库中的数据具有"集成"与"共享"的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项C)正确。
(9) 在数据库设计中,将E-R图转换成关系数据模型的过程属于 A) 需求分析阶段 B) 逻辑设计阶段 C) 概念设计阶段 D) 物理设计阶段 解析: E-R模型即实体-联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种联接关系。数据库逻辑设计阶段包括以下几个过程:从E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和RDBMS,以及关系视图设计。
(10) 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 A) 数据库系统 B) 文件系统 C) 人工管理 D) 数据项管理 解析: 人工管理阶段是在20世纪50年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。
(11) 窗体文件的扩展名是 A) .bas B) .cls C) .frm D) .res 解析:.bas为程序模块文件的扩展名;.cls为类模块文件的扩展名;.res为相关资源文件的扩展名,.frm为窗体文件的扩展名,所以选项C)是正确的。
(12) 下列可以启动Visual Basic的方法是 A) 打开"我的电脑",找到存放Visual Basic所在系统文件的硬盘及文件夹,双击"VB6.exe"图标 B) 在DOS窗口中,键入Visual Basic的路径,执行Visual Basic可执行文件 C) 利用"开始"菜单中的"程序"命令可启动Visual Basic D) A) 和C) 解析:启动Visual Basic有4种方式:打开"我的电脑",找到存放Visual Basic所在的系统文件的硬盘及文件夹,双击"VB6.exe"图标,即可进入Visual Basic编程环境;所以选项A)是正确的;利用"开始"菜单中的"程序"命令方式进入;所以选项C)也是正确的;使用"开始"菜单中的"运行"命令,在"打开"栏中键入VB6.exe的存放路径,单击"确定"按钮即可;把VB6.exe文件直接拖到桌面可建立启动Visual Basic的快捷方式,双击该执行文件即可。
(13) 关于货币型数据的说明,正确的是 A) 货币型数据有时可以表示成整型数据 B) 货币型数据与浮点型数据完全一样 C) 货币型数据是由数字和小数点组成的字符串 D) 货币型数据是小数点位置固定的实型数 解析:货币型数据是Visual Basic特有的一种数据结构,是专门用来表示货币数量的数据类型。货币型数据不能表示成整型数据的形式,这是使用"货币"数据的实际需要决定的。货币型数据是数值的,经常要进行各种运算,不能是字符串。货币型数据与浮点型数据都是带有小数点的数,但货币型数据小数点后的有效数位固定为4位。
(14) 在运行程序时,在文本框中输入新的内容,或在程序代码中改变Text的属性值,相应会触发到什么事件? A) GotFocus B) Click C) Change D) DblClick 解析:在本题的四个选项中,GotFocus是设置焦点事件,所以选项A)不合题意;Click是单击事件,不合题意;DblClick是双击事件,也不合题意;Change是改变文本框内容事件,只要文本框中的内容改变就会触发,故选项C)是本题的答案。
(15) 如果一个变量未经定义就直接使用,则该变量的类型为 A) Integer B) Byte C) Boolean D) Variant 解析:在Visual Basic中,系统提供了多种数据类型,有字符串类型、数值型、货币型、布尔型,日期型等,此外还有一种变体类型,Variant是一种特殊的数据类型,Variant变量中可以存放任何类型的数据,如数值、文本字符串、日期和时间等,向Variant变量赋值时不必进行任何转换,系统将自动进行必要的转换。如果变量未经定义就直接使用,则该变量为Variant类型。
(16) 根据变量的作用域,可以将变量分为3类,分别为 A) 局部变量、模块变量和全局变量 B) 局部变量、模块变量和标准变量 C) 局部变量、模块变量和窗体变量 D) 局部变量、标准变量和全局变量 解析:变量的作用域指变量的作用范围,根据变量的定义位置和使用的变量定义语句的不同,变量可以分为3类,即局部变量、模块变量和全局变量。局部变量是在过程(事件过程或通用过程) 内定义的变量,其作用域是它所在的过程,通常用来存放中间结果或用作临时变量;模块变量包括窗体变量和标准模块变量,窗体变量可用于该窗体内的所有过程,使用前必须先声明,也就是说,窗体层变量不能默认声明;全局变量也称全程变量,其作用域最大,可在工程的每个模块、每个过程中使用,和模块级变量类似,全局变量也在标准模块的声明部分声明,所不同的是全局变量必须用Public或Global语句声明,不能用Dim语句声明,更不能用Private声明;全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。
(17) 标签控件能够显示文本信息,文本内容只能用什么属性来设置? A) Alignment B) Caption C) Visible D) BorderStyle 解析:标签(Label) 主要用来显示一小段不需要用户修改的文本,被显示文本内容只能由Caption属性来定义和修改,因此选项B)是正确的;选项A)确定标签标题的放置方式;选项C)决定程序运行后,控件是否在屏幕上显示出来;BorderStyle属性返回或设置对象的边框样式。
(18) 一个工程必须包含的文件的类型是 A) *.vbp *.frm *.frx B) *.vbp *.cls *.bas C) *.bas *.ocx *.res D) *.frm *.cls *.bas 解析:一个工程中可以包含7类文件,其中,工程文件、窗体文件和窗体的二进制数据文件是一个工程不可缺少的文件,这7类文件的扩展名及含义分别是: .vbp是Visual Basic Project的缩写,表示工程文件。 .frm是Form的缩写,表示窗体文件。 .frx笔试窗体的二进制数据文件。 .cls是class的缩写,表示类模块文件。 .bas是Basic的缩写,表示标准模块文件。 .ocx表示ActiveX控件的文件。 .res是resource的缩写,表示资源文件。
(19) 在Visual Basic中,要使标签的标题栏居中显示,则将其Alignment属性设置为 A) 0 B) 2 C) 1 D) 3 解析:本题考查的是标签的Alignment属性的设置。 Alignment属性用来设置标签中标题的位置,可将其设置为0,1,2,作用如下: 0:标题靠左显示(默认)。 1:标题靠右显示。 2:标题居中显示。
(20) 在Visual Basic中,组合框是文本框和什么的特性的组合? A) 复选框 B) 标签 C) 列表框 D) 目录列表框 解析:组合框是一个独立的控件,它具有列表框和文本框的功能,它可以像列表框一样,让用户通过鼠标选择需要的项目,也可以像文本框一样,用键入的方式选择项目。
(21) 当滚动条位于最左端或最上端时,Value属性被设置为 A) Min B) Max C) Max和Min之间 D) Max和Min之外 解析:一般情况下,垂直滚动条的值由上往下递增,最上端代表最小值,最下端代表最大值;水平滚动条的值从左到右递增,最左端代表最小值,最右端代表最大值。因此当滚动条位于最左端或最下端时,Value属性被设置为Min。
(22) 下面的数组声明语句中正确的是 A) Dim gg[1,5] As String B) Dim gg[1 To 5,1 To 5] As String C) Dim gg(1 To 5) As String D) Dim gg[1 :5,1: 5] As String 解析:在默认情况下无论是一维还是二维或更多维的数组其缺省下标都从0开始,但有时为了方便,用户可以自定义数组的上下界,那就得用关键字To来设置。例如:d(1 To 6),其含义就是一个名为d,上界为6,下界为1的数组。
(23) 下列说法正确的是 A) 任何时候都可以使用标准工具栏的"菜单编辑器"按钮打开菜单编辑器 B) 只有当代码窗口为当前活动窗口时,才能打开菜单编辑器 C) 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器 D) 任何时候都可以使用"工具"菜单下的"菜单编辑器"命令,打开菜单编辑器 解析:在Visual Basic中,因为"菜单编辑器"命令是在"工具"菜单下,所以只有当某个窗体为当前活动窗体时,才能从"工具"菜单中选择"菜单编辑器"选项,打开菜单编辑器。
(24) 下列各选项说法错误的一项是 A) 文件对话框可分为两种,即打开(Open) 文件对话框和保存(Save As) 文件对话框 B) 通用对话框的Name属性的默认值为CommonDialogX,此外,每种对话框都有自己的默认标题 C) 打开文件对话框可以让用户指定一个文件,由程序使用;而用保存文件对话框可以指定一个文件,并以这个文件名保存当前文件 D) DefaultEXT属性和DialogTitle属性都是打开对话框的属性,但非保存对话框的属性
解析:文件对话框分为两种:即打开对话框和保存对话框,所以选项A)的正确;通用对话框的Name属性的默认值为CommonDialogX,此外,每种对话框都有自己的默认标题,所以选项B)正确;打开文件对话框可以让用户指定一个文件,由程序使用,而用保存文件对话框可以指定一个文件,并以这个文件名保存当前文件,所以选项C)正确;除DefaultEXT、DialogTitle属性是打开和保存对话框共有的,还有FileName、FileTitle、Filter、FilterIndex、Flags、InitDir、MaxFileSize、CancelError、HelpCommand、HelpContext和HelpFile属性,都是它们共有的,所以选项D)不正确。
(25) 用InputBox函数设计的对话框,其功能是 A) 只能接收用户输入的数据,但不会返回任何信息 B) 能接收用户输入的数据,并能返回用户输入的信息 C) 既能用于接收用户输入的信息,又能用于输出信息 D) 专门用于输出信息 解析:InputBox函数能接收用户输入的数据,并能返回用户输入的信息,不能用于输出信息。InputBox函数中的Prompt参数是在对话框中显示提示信息,这种提示信息是由用户确定的,不能把它当作输出信息的功能。
(26) 下列程序段的执行结果为 I=4 x=5 Do I=I + 1 x=x + 2 Loop Until I>=7 Print "I="; I Print "x="; x A) I=4x=5 B) I=7x=15 C) I=6x=8 D) I=7x=11 解析:此题用的是Do循环结构,其格式为: Do 语句块] [Exit Do] Loop Until 循环条件 此循环由于"先执行后检查",所以至少执行一次。本题中,程序运行到循环条件I>=7的值为True时才停止。所以当程序结束运行后I=7,x=11。
(27) 下列程序段的执行结果为 a=1 b=5 Do a=a + b b=b + 1 Loop While a < 10 Print a; b A) 1 5 B) 12 7 C) a b D) 10 25 解析:此题比较简单,开始a为1,b为5,执行Do语句,具体运行为:执行a=a+b,b=b+1语句后,a为6,b为6。这样运行到a=12,程序终止循环,此时b=7。
(28) 下列程序段的执行结果为 a=75 If a > 60 Then I=1 If a > 70 Then I=2 If a > 80 Then I=3 If a < 90 Then I=4 Print "I="; I A) I=1 B) I=2 C) I=3 D) I=4 解析:此题为If Then 结构的条件语句,如果a > 60 ,则I = 1;如果a > 70 ,则I = 2;如果a > 80 ,则I = 3;如果 a < 90,则I = 4;本题的条件是a=75,所以输出结果应该是I = 4。
(29) 有如下事件过程: Private Sub Command1_Click() b=10 Do Until b=-1 a=InputBox("请输入a的值") a=Val(A) b=InputBox("请输入b的值") b=Val(b) a=a * b Loop Print a End Sub 程序运行后,依次输入数值30,20,10,-1,输出结果为 A) 6000 B) -10 C) 200 D) -6000 解析:Do Until-Loop循环执行的规则是:先判断Do语句中的<条件>,若为真,则结束循环;若<条件>为假,则执行循环体。 本程序执行时,先判断条件"b=-1"是否为真,此时b为10,"b=-1"不成立,执行循环体。a和b分别取得InputBox函数接收到的值为30和20,做乘法后a的值为600。执行Loop后,返回Do语句再判断"b=-1"是否为真,此时b为20,"b=-1"不成立,继续执行循环体,a和b再次取得InputBox函数接收到的值为10和-1,做乘法后a的值为-10。执行Loop后,返回到Do语句判断"b=-1"是否为真,此时b=-1,"b=-1"条件成立,结束循环,把a的值打印出来。
(30) 下面程序段执行结果为 x=Int(Rnd() + 3) Select Case x Case 5 Print "excellent" Case 4 Print "good" Case 3 Print "pass" Case Else Print "fail" End Select A) excellent B) good C) pass D) fail 解析:本题中可以看到x = Int(Rnd()+ 3) 语句,其中Rnd用来产生随机数,其值在0~1之间,而在(Rnd()+3) 前面有Int进行强制转换,所以x为3,执行Print "pass"语句。
(31) 定义过程的格式中,Static关键字的作用是指定过程中的局部变量在内存中的存储方式。若使用了Static关键字,则 A) 每次调用此过程,该过程中的局部变量都会被重新初始化 B) 在本过程中使用到的,在其他过程中定义的变量也为Statci型 C) 每次调用此过程时,该过程中的局部变量的值保持在上一次调用后的值 D) 定义了该过程中定义的局部变量为"自动"变量 解析:Static关键字用于指定局部变量在内存中的存储方式。变量的存储方式有两种:静态的和自动的。静态存储方式是指当过程运行完毕后,变量所占的内存单元不释放,而变量的值被保存下来,该变量为静态变量。Static型变量所占存储控件只初始化一次,且变量的值在整个程序运行期间都存在;Static关键字对过程之外定义的变量没有影响;Static关键字是定义该过程中定义的局部变量为静态变量。
(32) 单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click() Dim x As Integer, y As Integer x=50: y=78 Call PPP(x, y) Print x; y End Sub Public Sub PPP(ByVal n As Integer, ByVal m As Integer) n=n \ 10 m=m \ 10 End Sub A) 08 B) 5078 C) 450 D) 7850 解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在Visual Basic中,实参与形参的结合有两种方式,即传址与传值。这两种方法的特点如下: 传址的结合过程时,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。 传值的结合过程时,当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程PPP中有两个形参,两者均为传值方式。主调过程分别把实参x、y 传递给PPP,所以当过程调用结束后,实参x、y的值都没有改变,最后输出的值应为50 78。
(33) 单击按钮时,以下程序运行后的输出结果是 Private Sub proc1(x As Integer, y As Integer, z As Integer) x=3 * z y=2 * z z=x + y End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer, z As Integer x=1: y=2: z=3 Call proc1(x, x, z) Print x; x; z Call proc1(x, y, y) Print x; y; y End Sub A) 6 6 12 6 10 10 B) 9 5 10 5 10 10 C) 9 6 12 9 10 15 D) 9 10 10 5 4 10 解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。 第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x = 3 * z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y = 2 * z后,形参y值变为6,则相对应的实参x值变为6。执行z = x + y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12; 第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x = 3 * z后,形参x值为6,相对实参x值也相应的变为6。执行语句y = 2 * z后,形参y值变为4,相应的实参y值也变为4,执行z = x + y后,形参z值变为10,相应的实参y的值变为10,而形参y和z的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。
(34) 单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click() Print MyFund(20, 18) End Sub Public Function MyFund(m As Integer, n As Integer) As Integer Do While m <> n Do While m > n: m=m - n: Loop Do While m < n: n=n - m: Loop Loop MyFund=m End Function A) 0 B) 2 C) 4 D) 6 解析:此题程序代码中,被调过程采用了Do While…Loop的嵌套语句结构,主调过程只调用了一次被调过程,Print MyFund(20, 18) 语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程MyFund时,把数值20,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m = m - n,m值变为2,而由语句MyFund = m可看出,此过程的返回值就是m的值,即2。 (35) 在窗体上画一个命令按钮,然后编写如下程序
Private Sub Command4_Click() Dim a As Integer, b As Integer a=1 b=2 Print N(a, b) End Sub Function N(x As Integer, y As Integer) As Integer N=IIf(x > y, x, y) End Function 程序运行后,单击命令按钮,输出结果为 A) 1 B) 2 C) 5 D) 8 解析:事件过程N的作用是输出两个数中最大的,它调用了IIF函数,条件部分是(x>y),如果满足,那么N的值即为x的值,否则为y的值。在Sub过程中,定义了两个变量a,b,并赋给它们初值1,2,并调用Print函数,输出N(a,b)的值,因为x
二、填空题
(1) 数据的逻辑结构有线性结构和 【1】 两大类。 解析: 数据的逻辑结构有线性结构和非线性结构两大类。
(2) 顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。 解析: 常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。
(3) 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。 解析: 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。
(4) 软件工程研究的内容主要包括: 【4】 技术和软件工程管理。 解析: 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学,以及软件心理学等内容。
(5) 关系操作的特点是 【5】 操作。 解析: 在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的集合。因此,关系操作的特点是集合操作。
(6) 函数Str$(256.36) 的值是 【6】 。 解析: Str$()函数的格式是:Str$(数值表达式),作用是把"数值表达式"的值转换为一个字符串,表达式的值不受转换过程的影响。对于本题在立即窗口中可看到输出的结果。
(7) 执行下面的程序段,x的值为 【7】 。 Private Sub Command1_Click() For i=1 To 9 a=a + i Next i x=Val(i) MsgBox x End Sub 解析: MsgBox函数的格式如下: MsgBox(msg[,type][,title][,helpfile,content] msg:一个字符串,长度不能超过1024个字符。 type:一个整数值或符号常量,用来控制在对话框内显示的按钮,图标的种类及数量。 title:一个字符串,用来显示对话框的标题。 helpfile,content:同InputBox函数。 在这5个参数中,只有第一个是必须的,其他的可以省略。 在程序中For…Next语句之后并没有对I的值改变,此时I为10,故运行后结果为10。
(8) 以下程序的功能是从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。请补充完整下列程序段。 Dim x, amax, amin As Single x=InputBox("Enter a score") amax=x amin=x Do While 【8】 If x > amax Then amax=x End If If 【9】 Then amin=x End If x=InputBox("enter a score") Loop Print "max="; amax, "min="; amin 解析: 本程序先定义了3个变量,x、amin、amax,它们分别用来接受从键盘输入的字符,最小值和最大值,先用InputBox函数从键盘接受一个整数并赋给x。然后将x的值赋给amin和amax,作为它们的初值,因为当输入的值为负数时结束循环,所以Do While的控制语句就是判断x的值是否大于等于"0";当x大于等于"0"时,执行块形式条件语句,当x大于amax,将x的值赋给amax,显然当x的值小于amin时,就将x的值赋给amin;每循环一次,就要给x赋值一次,然后接着循环直到x的值是负数时就跳出循环,输出amax和amin的值。
(9) 下列程序的输出结果为 【10】 。 num=2 While num <=3 num=num + 1 Print num Wend 解析: 程序先将2赋给num,然后执行While语句。 While循环语句的执行过程是:如果"条件"为真,则执行"语句块",当遇到Wend语句时,控制返回到While语句并对"条件"进行测试,如果仍然为真,则重复上述过程,直到"条件"为假。 起初num为2,所以小于3,条件为真,执行num=num+1语句,此时num为3,然后输出num的值即3,当程序执行num为3的时候,因为3等于3,所以执行num=num+1,此时num为4,输出num的值并退出循环。
(10) 以下是一个计算矩形面积的程序,调用过程计算矩形面积,请将程序补充完整。 Sub RecArea(L, W) Dim S As Double S=L * W MsgBox "Total Area is " & Str(S) End Sub Private Sub Command1_Click() Dim M, N M=InputBox("What is the L?") M=Val(M) 【11】 N=Val(N) 【12】 End Sub 解析: 程序通过RecArea来计算并输出矩形的面积,它有两个形式参数,分别为矩形的长和宽;在Sub事件过程中,从键盘上输入矩形的长和宽,调用InputBox函数分别将输入的数赋给M和B,所以【11】为N = InputBox("What is the W?") ;将M和N作为实参调用RecArea过程,它有两种书写方式,一种是把过程的名字放在一个Call语句中,格式为Call 过程名[(实际参数) ];另外一种是把过程名作为一个语句来使用,与第一种方式相比,它去掉关键字Call,去掉了参数列表,所以【12】为Call RecArea(M, N) 或RecArea(M, N)。
(11) 在KeyPress事件过程中,KeyAscii是所按键的 【13】 值。 解析: 当按下键盘上的某个键时,触发KeyPress事件过程,该事件用到的KeyAscii作为参数,此参数是一个预定义的变量,执行KeyPress事件过程时,KeyAscii是所按键的ASCII码。
(12) 有一个事件过程,其功能是:从已存在于磁盘上的顺序文件NM1.txt中读取数据,计算读出数据的平方值,将该数据及其平方值存入新的顺序文件NM2.txt中。请填空。 Private Sub Form_Click() Dim x As Single, y As Single Open "NM1.txt" For Input As #1 Open "NM2.txt" For Input As #2 Do While Not EOF(1) 【14】 Print x y=x ^ 2 【15】 Print y Loop Close #1, #2 End Sub 解析: 本题考查顺序文件的读写操作,事件过程中,顺序文件的打开和关闭语句都正确。循环语句使用也正确。事件过程的功能是:从NM1.txt中读取数据,向NM2.txt中写入数据。程序中没有对数据文件进行读写的语句,故空白处要填写的正是对顺序文件读数据和写数据的语句。
|