1、国家二级(VB)机试模拟试卷 175 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构2.支持子程序调用的数据结构是( )。(分数:2.00)A.栈B.树C.队列D.二叉树3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是( )。(分数:2.00)A.lOB.8C.6D.44.下列排序方法中,最坏情况下比较次数最少的是( )。(分数:2.00)
2、A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(分数:2.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序6.下面叙述中错误的是( )。(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内
3、聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度8.数据库应用系统中的核心问题是( )。(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训9.有两个关系 R、S 如下: (分数:2.00)A.选择B.投影C.插入D.连接10.将 ER 图转换为关系模式时,实体和联系都可以表示为( )。(分数:2.00)A.属性B.键C.关系D.域11.下列叙述中正确的是( )。(分数:2.00)A.MsgBox 语句的返回值是一个整数B.执行 MsgBox 语句并出现信息框后,不用关闭信息框即可执行其他操作
4、C.MsgBox 语句的第一个参数不能省略D.如果省略 MsgBox 语句的第三个参数(Title),则信息框的标题为空12.语句 Dim a(一 3 To 4,3 To 6)As Integer 定义的数组的元素个数是( )。(分数:2.00)A.18B.28C.21D.3213.以下关于函数过程的叙述中,正确的是( )。(分数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型14.以下关于过程及过程参数的描述中,错误的
5、是( )。(分数:2.00)A.过程的参数可以是控件名称B.调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)C.只有函数过程能够将过程中处理的信息返回到调用程序中D.窗体可以作为过程的参数15.以下变量名中合法的是( )。(分数:2.00)A.x2-1B.printC.str_nD.2x16.把数学表达式 (分数:2.00)A.(5x+3)(2y 一 6)B.x*5+32*y 一 6C.(5*x+3)(2*y 一 6)D.(x*5+3)(y*26)17.下面有关标准模块的叙述中,错误的是( )。(分数:2.00)A.标准模块不完全由代码组成,还可以有窗体B.标准模块中的 P
6、rivate 过程不能被工程中的其他模块调用C.标准模块的文件扩展名为basD.标准模块中的全局变量可以被工程中的任何模块引用18.可以产生 3050(含 30 和 50)之间的随机整数的表达式是( )。(分数:2.00)A.Int(Rnd*21+30)B.Int(Rnd*20+30)C.Int(Rnd*50 一 Rnd*30)D.Int(Rnd*30+50)19.在程序运行时,下面的叙述中正确的是( )。(分数:2.00)A.用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load 事件过程B.用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C.只装入而不显
7、示窗体,也会执行窗体的 Form_Load 事件过程D.装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click 事件过程20.下列有关文件的叙述中,正确的是( )。(分数:2.00)A.以 Output 方式打开一个不存在的文件时,系统将显示出错信息B.以 Append 方式打开的文件,既可以进行读操作,也可以进行写操作C.在随机文件中,每个记录的长度是固定的D.无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的21.若看到程序中有以下事件过程,则可以肯定的是,当程序运行时( )。 Private Sub Click_MouseDown(Button As Integ
8、er,Shift As Integer,X As Single,Y As Single) Print“VB Program“ End Sub(分数:2.00)A.用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程B.用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程C.用鼠标右键单击名称为“MouseDown”的控件时,执行此过程D.用鼠标左键或右键单击名称为“Click”的控件时,执行此过程22.窗体上有名称为 Command1 的命令按钮和名称为 Text1 的文本框 Private Sub Command1_Click() Text1Text=“程序设计“
9、Text 1SetFocus End Sub Private Sub Text1_GotFocus() Text1Text=“等级考试“ End Sub 运行以上程序,单击命令按钮后( )。(分数:2.00)A.文本框中显示的是“程序设计”,且焦点在文本框中B.文本框中显示的是“等级考试”,且焦点在文本框中C.文本框中显示的是“程序设计”,且焦点在命令按钮上D.文本框中显示的是“等级考试”,且焦点在命令按钮上23.设窗体上有名称为 Option1 的单选按钮,且程序中有语句: If Option1Value=True Then 下面诏句中与该语句不等价的是( )。(分数:2.00)A.If O
10、ption1Value ThenB.If Option1=True ThenC.If Value=True ThenD.If Option1 Then24.设窗体上有 1 个水平滚动条,已经通过属性窗口把它的 Max 属性设置为 1,Min 属性设置为 100。下面叙述中正确的是( )。(分数:2.00)A.程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就增加B.程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就减少C.由于滚动条的 Max 属性值小于 Min 属性值,程序会出错D.由于滚动条的 Max 属性值小于 Min 属性值,程序运行时滚动条的长度会缩为一点,滚
11、动块无法移动25.下列关于通用对话框 CommonDialogl 的叙述中,错误的是( )。(分数:2.00)A.只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开B.使用 CommonDialoglShowColor 方法,可以显示“颜色”对话框C.CancelError 属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告D.在显示“字体”对话框前,必须先设置 CommonDialogl 的 Flags 属性,否则会出错26.在利用菜单编辑器设计菜单时,为了把组合键“Alt+x”设置为“退出(x)”菜单项的访问键,可以将该菜单项的标题设置为( )。(分数
12、:2.00)A.退出(X)B.退出(&X)C.退出(X#)D.退出(#X)27.下面哪个属性肯定不是框架控件的属性( )。(分数:2.00)A.TextB.CaptionC.LeftD.Enabled28.窗体上有一个名称为 Option1 的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) End Sub 下面关于此过程的参数 Index 的叙述中,正确的是( )。(分数:2.00)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可正可负C.Inde
13、x 的值用来区分哪个单选按钮被选中D.Index 表示数组中单选按钮的数量29.设窗体中有一个文本框 Text1,若在程序中执行了 Text1SetFocus,则触发( )。(分数:2.00)A.Text1 的 SetFocus 事件B.Text1 的 GotFocus 事件C.Text1 的 LostFocus 事件D.窗体的 GotFocus 事件30.窗体上有两个水平滚动条 HV、HT,还有一个文本框 Text1 和一个标题为“计算”的命令按钮Command1,并编写了以下程序:Private Sub Command1_Click() Call ealc(HVValue,HTValue)
14、End Sub Public Sub ealc(x As Integer,y As Integer) Text1Text=x*y End Sub 运行程序,单击“计算”按钮,可根据速度与时间计算出距离,并显示计算结果。 (分数:2.00)A.过程调用语句不对,应为 calc(HV,HT)B.过程定义语句的形式参数不对,应为 Sub cale(x As Control,y As Control)C.计算结果在文本框中显示出来D.程序不能正确运行31.现有如下程序: Private Sub Command1_Click() s=0 For i=1 To 5 s=s+f(5+i) Next Prin
15、t s End Sub Public Function f(x As Integer) If x=10 Then t=x+1 Else t=x+2 End If f=t End Function 运行程序,则窗体上显示的是( )。(分数:2.00)A.38B.49C.61D.7032.窗体上有一个名称为 Picture1 的图片框控件,一个名称为 Label1 的标签控件,如图所示。(分数:2.00)A.程序运行时会出错B.单击图片框,在图片框中显示一幅图片C.过程中的 x 是控件变量D.单击标签,在标签中显示一串文字33.窗体上有两个名称分别为 Text1、Text2 的文本框。Text1
16、的 KeyUp 事件过程如下: Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer) Dim c As String e=UCase(Chr(KeyCode) Text2Text=Chr(Asc(c)+2) End Sub 当向文本框 Text1 中输入小写字母 a 时,文本框 Text2 中显示的是( )。(分数:2.00)A.AB.aC.CD.C34.设窗体上有一个文本框 Text1 和一个命令按钮 Command1,并有以下事件过程: Private Sub Command1_Click() Dim s As Strin
17、g,ch As String s=“ For k=1 To Lea(Text1) ch=Mid(Text1,k,1) s=ch+s Next k Text1Text=s End Sub 程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则 Text1 中显示的是( )。(分数:2.00)A.BasicB.cisaBC.BASICD.CISAB35.某人编写了如下程序,用来求 10 个整数(整数从键盘输入)中的最大值: Private Sub Command1 Click() Dim a(10)As Integer,max As Integer For k=1 To 10 a(k)=I
18、nputBox(“输入一个整数“) Next k max=0 For k=1 To 10 If a(k)max Thcn max=a(k) End If Next k Print max End Sub 运行程序时发现,当输入 10 个正数时,可以得到正确结果,但输入 10 个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是( )。(分数:2.00)A.把 If a(k)max Then 改为 If a(k)B.把 max=a(k)改为 a(k)=maxC.把第 2 个循环语句 For k=1 To 10 改为 For k=2 To 10D.把 max=0 改为 max=
19、a(10)36.已知在 4 行 3 列的全局数组 score(4,3)中存放了 4 个学生 3 门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command1_Click() Dim sum As Integer sum=0 For i=1 To 4 For j=1 To 3 sum=sum+score(i,j) Next j Print“第“&i&“个学生的总分是:“;sum Next i End Sub 运行此程序时发现,除第 1 个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确
20、的是( )。(分数:2.00)A.把外层循环语句 For i=1 To 4 改为 For i=1 To 3 内层循环语句 For j=1 To 3 改为 For j=1 To 4B.把 suim=0 移到 For i=I To 4 和 For i=1 To 3 之间C.把 sum=sum+score(i,j)改为 sum=sum+score(j,i)D.把 sum=sum+score(i,j)改为 sum=score(i,j)37.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: Option Base 0 Dim a()As Integer,m As Intege
21、r Private Sub Command1_Click() m=InputBox(“请输入一个正整数“) ReDim a(m) End Sub Private Sub Command2_Click() m=InputBox(“请输入一个正整数“) ReDim a(m) End Sub 运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组 a 中元素的个数是( )。(分数:2.00)A.5B.6C.10D.1138.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub
22、 Command1_Click() Counter=0 For i=1 To 4 For j=6 To 1 Step 一 2 Counter=Counter+1 Next j Next i Label1Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是( )。(分数:2.00)A.11B.12C.16D.2039.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12 一 k Next k
23、 x=8 Print M(2+M(X) End Sub 运行程序,单击命令按钮,在窗体上显示的是( )。(分数:2.00)A.6B.5C.7D.840.在窗体上画一个名称为 Command1 的命令按钮,再画两个名称分别为 Label1、Label2 的标签,然后编写如下程序代码: Private X As Integer Private Sub Command1_Click() X=5:Y=3 Call proc(X,Y) Label1Caption=X Laebel2Caption=Y End Sub Private Sub proc(a As Integer,ByVal b As Int
24、eger) X=a * a Y=b+b End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是( )。(分数:2.00)A.25 和 3B.5 和 3C.25 和 6D.5 和 6二、基本操作题(总题数:1,分数:2.00)41.(1)在名称为 Form1 的窗体上添加一个文本框,其名称为 Text1,然后通过属性窗口设置窗体和文本框的属性,实现如下功能: 在文本框中,MultiLine 属性设置为 True。 ScrollBars 属性设置为 2; 文本框中显示的初始文本为“程序设计”; 文本框中显示的字体为三号规则黑体; 窗体的标题为“设置文本框属性”。 完成设置后的窗体如
25、图所示。 要求:不编写任何代码。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1vbp,窗体文件名保存为 sjt1frm。 (2)在名称为。Form1 的窗体上添加两个命令按钮(见图 1),其名称分别为 Cmd1 和 Cmd2,编写适当的事件过程。程序运行后,单击命令按钮 Cmd1,则可使该按钮移到窗体的左上角(只允许通过修改属性的方式实现);单击命令按钮 Cmd2,则可使该按钮在长度和宽度上各扩大到原来的 2 倍。程序的运行情况如图 2 所示。 要求:不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2vbp,窗体文件名保存为 sjt2frm。
26、(分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.(1)在考生文件夹下有一个工程文件 sjt3vbp,请在窗体上添加两个单选按钮(名称分别为 Option1和 Option2,标题分别为“添加项目”和“删除项目”),一个列表框(名称为 List1)和一个文本框(名称为 Text1),如图 1 所示。编写窗体的 Click 事件过程。程序运行后,如果选择“添加项目”单选按钮,然后单击窗体,则从键盘上输入要添加的项目内容(内容任意,不少于三个),并添加到列表框中;如果选择“删除项目”单选按钮,然后单击窗体,则从键盘上输入要删除的项目内容,将其从列表框中删除。程序的运行情况如图
27、2 所示。 在考生文件夹下的工程文件 sjt3vbp(相应的窗体文件名为 sjt3frm),可以实现上述功能。但这个程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4Vbp(相应的窗体文件名为 Sjt4frm),其功能是通过调用过程Sort 将数组进行降序排序。程序运行后,分别向四个文本框中各输入一个整数(如图 1 所示),然后单击命令按钮,即可使数组按降序排序,并显示在文本框中(如图 2 所示)。这个程序不完整,请把它补充完整,并能正确运
28、行。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 (分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.注意:下面出现的“考生文件夹”均为USER。 在考生文件夹下有一个工程文件 sjt5vbp,考生文件夹下 in5dat 文件中保存有一篇英文短文。程序运行时,单击“读取并统计”按钮,则按行读取in5dat 文件的内容,并显示到文本框 Text1 中,同时调用 Calculate 过程统计每个英文字母(不区分大小写)及其出现的次数,并按字母顺序保存到二维数组 data 中,统计结束后,按
29、字母顺序将统计结果显示到列表框 List1 中(字母用小写表示,且不含文中未出现的字母);单击“保存”按钮,则保存结果。“读取并统计”和“保存”按钮的 cliek 事件过程已经给出,请编写 Calculate 过程中的代码以实现上述功能。程序运行界面示意图如图所示。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须进行“读取并统计”,且必须单击“保存”按钮保存结果,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_国家二级(VB)机试模拟试卷 175 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中
30、正确的是( )。(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 解析:解析:栈是先进后出的线性表,所以 A 错误;队列是先进先出的线性表,所以 B 错误;循环队列是线性结构的线性表,所以 C 错误。2.支持子程序调用的数据结构是( )。(分数:2.00)A.栈 B.树C.队列D.二叉树解析:解析:栈支持子程序调用。栈是一种只能在端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下
31、执行,这种调用符合栈的特点,因此本题的答案为 A。3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是( )。(分数:2.00)A.lOB.8C.6 D.4解析:解析:根据二叉树的基本性质 3:在任意一颗二叉树中,度为 0 的叶子结点总是比度为 2 的结点多一个,所以本题中是 5+1=6 个。4.下列排序方法中,最坏情况下比较次数最少的是( )。(分数:2.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序 解析:解析:冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较 n(n1)2 次,而堆排序在最坏情况下需要比较的次数是 nlog 2 n。5.软件按功能可
32、以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(分数:2.00)A.编译程序B.操作系统C.教务管理系统 D.汇编程序解析:解析:编译软件、操作系统、汇编程序都属于系统软件,只有 C 教务管理系统才是应用软件。6.下面叙述中错误的是( )。(分数:2.00)A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性解析:解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项 A 错误。程序调试的基本步骤有:错误定位、修改
33、设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为 Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性 C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度解析:解析:模块独立性是指每个模块只完成系统要求的独
34、立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以 A 错误,B 正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以 C 与 D 错误。8.数据库应用系统中的核心问题是( )。(分数:2.00)A.数据库设计 B.数据库系统设计C.数据库维护D.数据库管理员培训解析:解析:数据库应用系统中的核心问题是数据库的设计。9.有两个关系 R、S 如下: (分数:2.00)A.选择B.投影 C.插入D.连接解析:解析:投影运算是指对于关
35、系内的域指定可引入新的运算。本题中 S 是在原有关系 R 的内部进行的,是由 R 中原有的那些域的列所组成的关系。所以选择 B。10.将 ER 图转换为关系模式时,实体和联系都可以表示为( )。(分数:2.00)A.属性B.键C.关系 D.域解析:解析:从 ER 图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,ER 图中属性也可以转换成关系的属性。11.下列叙述中正确的是( )。(分数:2.00)A.MsgBox 语句的返回值是一个整数B.执行 MsgBox 语句并出现信息框后,不用关闭信息框即可执行其他操作C.MsgBox 语句的第一个参数不能省略 D.如果省略 MsgBox 语
36、句的第三个参数(Title),则信息框的标题为空解析:解析:Msgbox 语句的功能:显示消息提示框,在对活框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。它有 2 种形式: MsgBox 函数格式: 变量=MsgBox(提示内容,样式,标题),注意 MsgBox 函数带括号,有返回值。 MsgBox 语句格式: MsgBox(提示内容,样式,标题),有无括号都可以,无返回值。故 A 选项错误。 其中: 第 1 个参数:提示内容是必需的,不能省略。故 C 选项正确。 第 2 个参数:可选。整型表达式,缺省值 0,指定信息框中按钮数目、类型、图标类型、缺省按钮等。 第 3 个参
37、数:可选,如果省略,则标题栏并不为空默认显示它所属的工程名。故 D 选项错误。 执行 MsgBox 语句时出现信息框后,必须关闭信息框才可执行其他操作。故 B 选项错误。12.语句 Dim a(一 3 To 4,3 To 6)As Integer 定义的数组的元素个数是( )。(分数:2.00)A.18B.28C.21D.32 解析:解析:本题定义的是一个整型的二维数组,一 3 To 4 指的是一 3、一 2、一 1、0、1、2、3、4(共8 行),3 To 6 指的是 3、4、5、6(共 4 列),因此数组元素个数是 84=32,故选 D。13.以下关于函数过程的叙述中,正确的是( )。(分
38、数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系 B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型解析:解析:定义函数过程的格式: Function 函数过程名(形参表)As 函数返回值的数据类型 函数过程名=表达式 End Function 说明: 形参的类型可以是任何数据类型,函数返回值的类型是调用函数后返回的数据类型,他们没有关系,互不影响。故选项 A 正确。 选项 B 错误的原因是:函数过程中可以有多个“函数过程名=表达式”这样的语句,但是最终函数只能有一个
39、返回值。如果省略这条语句,函数过程则返回一个默认值,数值函数过程返回 0,字符串函数过程返回空字符串。 选项 C 错误的原因是:数组作为函数过程的参数时,这时数组名看作是一个符号地址,实参和形参之间传递的是地址,所以以传址方式传递。 选项 D 错误的原因是:形参如果没指明数据类型,默认为 Variant 类型。14.以下关于过程及过程参数的描述中,错误的是( )。(分数:2.00)A.过程的参数可以是控件名称B.调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)C.只有函数过程能够将过程中处理的信息返回到调用程序中 D.窗体可以作为过程的参数解析:解析:过程定义时,形参除了可
40、以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故选项 A、D 正确。 调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项 B 正确。 在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中,Sub 过程也可以。Sub 过程中形参声明时前面有关键字ByRef 或省略 ByRef(默认)时,实参和形参之间传递的是地址,Sub 过程中形参的变化也会引起实参的变化,这样 Sub 过程中处理的信息也可以传回调用程序中。故选项 C 说法错误。15.以下变量名中合法的是( )。(分数:2.00)A.x2-1
41、B.printC.str_n D.2x解析:解析:VB 中变量名的命名规则:必须以字母或汉字开头由字母、汉字、数字或下划线组成不能使用 VB 的保留字。本题中 x2 一 l 中有一(减号),不是下划线。print 是 VB 的保留字,也不能作变量名。2x 以数字开头,也是错误的。故 C 选项正确。16.把数学表达式 (分数:2.00)A.(5x+3)(2y 一 6)B.x*5+32*y 一 6C.(5*x+3)(2*y 一 6)D.(x*5+3)(y*26) 解析:解析:VB 数学表达式中的乘用*表示,除用表示,表示一个整体的可加括号()。故 D 选项正确。17.下面有关标准模块的叙述中,错误
42、的是( )。(分数:2.00)A.标准模块不完全由代码组成,还可以有窗体 B.标准模块中的 Private 过程不能被工程中的其他模块调用C.标准模块的文件扩展名为basD.标准模块中的全局变量可以被工程中的任何模块引用解析:解析:标准模块中只包含其他窗体模块中公用的一些变量、过程等代码,不包括窗体。故选项 A 错误。 标准模块中用 Private 声明的过程属于私有过程,只能被它所在的模块中的其他过程调用,不能被工程中其他模块调用,用 Public 声明的全局变量属于公用变量,可以被工程中的任何模块引用。标准模块的文件扩展名是bas。18.可以产生 3050(含 30 和 50)之间的随机整
43、数的表达式是( )。(分数:2.00)A.Int(Rnd*21+30) B.Int(Rnd*20+30)C.Int(Rnd*50 一 Rnd*30)D.Int(Rnd*30+50)解析:解析:因为 Rnd 函数产生的随机数范围是大于等于 0 而小于 1。要产生 3050(含 30 和 50)之间的随机整数,可先产生 0(5030),即 020 之间的随机整数,然后在这个基础上再加上 30。 Rnd*20 生成 020 之间的随机数中不包括 20,所以要用 Int(Rnd*21)可产生 020 之间的随机整数,然后加上30,综合起来就是 Int(Rnd*21+30),故 A 选项正确。19.在程
44、序运行时,下面的叙述中正确的是( )。(分数:2.00)A.用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load 事件过程B.用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C.只装入而不显示窗体,也会执行窗体的 Form_Load 事件过程 D.装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click 事件过程解析:解析:如果窗体是活动的,那么在窗体上按下鼠标右键(尚未松手抬起),即会触发Form_MouseDown 事件,松手抬起后,要先触发 Form_MouseUp 事件,然后再触发 Form_Click 事件。如果窗体原先是非活动的,还会
45、触发 Form_GotFocus 事件,并且它最先发生。Form_Load 事件是窗体显示之前,加载时触发,单击窗体时不触发。故 A 选项错误。 用鼠标左键单击窗体标题栏时,不会执行 Form_Click事件过程。故 B 选项错误。 装入窗体后,每次显示该窗体时或窗体成为活动窗体时,都会执行From_Active 窗体的激活事件。故 D 选项错误。20.下列有关文件的叙述中,正确的是( )。(分数:2.00)A.以 Output 方式打开一个不存在的文件时,系统将显示出错信息B.以 Append 方式打开的文件,既可以进行读操作,也可以进行写操作C.在随机文件中,每个记录的长度是固定的 D.无
46、论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的解析:解析:A 选项错误原因:当以 Output 方式打开一个不存在的顺序文件时,Ppen 语句会首先创建该文件,然后再打开它,系统不会出错。 B 选项错误原因:以 Append 方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读操作。 D 选项错误原因:VB 中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。 C 选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故 C 选项正确。21.若看到程序中有以下事件过程,则可以肯定的是,当
47、程序运行时( )。 Private Sub Click_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) Print“VB Program“ End Sub(分数:2.00)A.用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程B.用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程C.用鼠标右键单击名称为“MouseDown”的控件时,执行此过程D.用鼠标左键或右键单击名称为“Click”的控件时,执行此过程 解析:解析:本题中,Click 是控件的名称,MouseDown
48、是鼠标按下事件,当用鼠标左键或右键单击Click 控件时就会触发 MouseDown 事件,执行 MouseDown 事件过程。故选 D。22.窗体上有名称为 Command1 的命令按钮和名称为 Text1 的文本框 Private Sub Command1_Click() Text1Text=“程序设计“ Text 1SetFocus End Sub Private Sub Text1_GotFocus() Text1Text=“等级考试“ End Sub 运行以上程序,单击命令按钮后( )。(分数:2.00)A.文本框中显示的是“程序设计”,且焦点在文本框中B.文本框中显示的是“等级考试”,且焦点在文本框中 C.文本框中显示的是“程序设计”,且焦点在命令按钮上D.文本框中显示的是“等级考试”,且焦点在命令按钮上解析:解析:运行程序,单击命令按钮后,执行 Command1_Click 事件过程代码,文本框 Text1 中显示“程序设计”,并且文本框 Text1 获得焦点,此时焦点在 Text1 中;当 Text1 获得焦点就会触发它的Got_Focus 事件,执行 Got_Focus 事件过程,结果文本框 Text