1、国家二级( VB)机试模拟试卷 89及答案与解析 一、选择题 1 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 2 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 “的线性表 ( B)队列是 “先进后出 “的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 3 对于循环队列,下列叙述中正确的是 ( )。 ( A)队头指针是固定不变的 ( B)队头指针一定大于队尾指针 ( C)队头指针一定小于队尾指针 ( D)队头指针可以大于队尾指针,也可以小于队尾指针 4 算法的空间复杂度是指 ( )。
2、 ( A)算法在执行过程中所需要的计算机存储空间 ( B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的临时工作单元数 5 算法的有穷性是指 ( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 6 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n 1)/2的排 序方法是 ( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 7 在面向对象方法中,不属于 “对象 “基本特点的是 ( )。 ( A)一致性 ( B)分
3、类性 ( C)多态性 ( D)标识唯一性 8 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 9 有两个关系 R, S如下: 由关系 R通过运算得到关系S,则所使用的运算为 ( )。 ( A)选择 ( B)投影 ( C)插入 ( D)连接 10 将 E R图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 在 VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是 ( )。 ( A) ( B) ( C) ( D) 12 设 x是整型变量
4、,与函数 IIf(x0, x, x)有相同结果的代数式是 ( )。 ( A) |x| ( B) |x| ( C) x ( D) x 13 以下选项中,不合法的 Visual Basic的变量名是 ( )。 ( A) a5b ( B) _xyz ( C) a_b ( D) andif 14 以下数组定义语句中,错误的是 ( )。 ( A) Static a(10)As Integer ( B) Dim c(3, 1 To 4) ( C) Dim d( 10) ( D) Dim b(0 To 5, 1 To 3)As Integer 15 以下关于过程及过程参数的描述中,错误的是 ( )。 ( A
5、)调用过程时可以用控件名称作为实际参数 ( B)用数组作为过程的参数时,使用的是 “传地址 “方式 ( C)只有函数过程能够将过程中处理的信息传回到调用的 程序中 ( D)窗体 (Form)可以作为过程的参数 16 在窗体上有两个名称分别为 Text1、 Text2的文本框,一个名称为 Command1的命令按钮。运行后的窗体外观如图所示。 设有如下的类型和变量声明: Private Type Person name As String*8 major As String*20End TypeDim p As Person设文本框中的数据已正确地赋值给 Person类型的变量 p,当单击 “保
6、存 “按钮时,能够正确地把变量中的数据写入随机文件Test2.dat中的程序段是 ( )。 ( A) Open “c: Test2.dat“ For Output As #1 Put #1, 1, p Close #1 ( B) Open “c: Test2.dat“ For Random As #1 Get #1, 1, p Close #1 ( C) Open “c: Test2.dat“ For Random As #1 Len Len(p) Put #1, 1, p Close #1 ( D) Open “c: Test2.dat“ For Random As #1 Len Len(p
7、) Get #1, 1, p Close #1 17 下面有关标准模块的叙述中,错误的是 ( )。 ( A)标准模块不完全由代码组成,还可以有窗体 ( B)标准模块中的 Private过程不能被工程中的其他模块调用 ( C)标准模块的文件扩展名为 .bas ( D)标准模块中的全局变量可以被工程中的任何模块引用 18 可以产生 30 50(含 30和 50)之间的随机整数的表达式是 ( )。 ( A) Int(Rnd*21 30) ( B) Int(Rnd*20 30) ( C) Int(Rnd*50 Rnd*30) ( D) Int(Rnd*30 50) 19 下面程序运行时,若输入 395
8、,则输出结果是 ( )。 Private Sub Command1_Click() Dim x% x InputBox(“请输入一个 3位整数 “) Print x Mod 10, x100, (x Mod 100)10 End Sub ( A) 3 9 5 ( B) 5 3 9 ( C) 5 9 3 ( D) 3 5 9 20 某人编写了下面的程序,希望能把 Text1文本框中的内容写到 out.txt文件中: Private Sub Command1_Click() Open “out.txt“ For Output As #2 Print “Text1“ Close #2 End Sub
9、 调试时发现没有达到目的,为实现上述目的,应做的修改是 ( )。 ( A)把 Print “Text1“ 改为 Print #2, Text1 ( B)把 Print “Text1“ 改为 Print Text1 ( C)把 Print “Text1“ 改为 Write “Text1“ ( D)把所有 #2 改为 #1 21 为了使文本框同时具有垂直和 水平滚动条,应先把 MultiLine属性设置为True,然后再把 ScrollBars属性设置为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 22 文本框 Text1的 KeyDown 事件过程如下: Private S
10、ub Text1_KeyDown(KeyCode As Integer, Shift As Integer) . End Sub 其中参数 KeyCode的值表示的是发生此事件时 ( )。 ( A)是否按下了 Alt键或 Ctrl键 ( B)按下的是哪个数字键 ( C)所按的键 盘键的键码 ( D)按下的是哪个鼠标键 23 在窗体上画两个单选按钮,名称分别为 Option1、 Option2,标题分别为 “宋体 “和“黑体 “; 1个复选框 (名称为 Check1,标题为 “粗体 “)和 1个文本框 (名称为 Text1,Text属性为 “改变文字字体 “),窗体外观如图所示。程序运行后,要求
11、 “宋体 “单选按钮和 “粗体 “复选框被选中,则以下能够实现上述操作的语句序列是 ( )。( A) Option1.Value False Check1.Value True ( B) Option1.Value True Check1.Value 0 ( C) Option2.Value False Check1.Value 2 ( D) Option1.Value True Check1.Value 1 24 以下说法中正确的是 ( )。 ( A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的 KeyPress事件过程 ( B)因为窗体不接受焦点,所以窗体不存在自己的 KeyPr
12、ess事件过程 ( C)若按下的键相同, KeyPress事件过程中的 KeyAscii参数与 KeyDown事件过程中的 KeyCode参数的值也相同 ( D)在 KeyPress事件过程中, KeyAscii参数可以省略 25 下列关于通用对话框 CommonDialog1的叙述中,错误的是 ( )。 ( A)只要在 “打开 “对话框中选择了文件,并单击 “打开 “按钮,就可以将选中的文件打开 ( B)使用 CommonDialog1.ShowColor方法,可以显示 “颜色 “对话框 ( C) CancelError属性用于控制用户单击 “取消 “按钮关闭对话框时,是否显示出错警告 (
13、D)在显示 “字体 “对话框前,必须先设置 CommonDialog1的 Flags 属性,否则 会出错 26 在利用菜单编辑器设计菜单时,为了把组合键 “Alt X“设置为 “退出 (X)“菜单项的访问键,可以将该菜单项的标题设置为 ( )。 ( A)退出 (X&) ( B)退出 (&X) ( C)退出 (X#) ( D)退出 (#X) 27 以下能够触发文本框 Change事件的操作是 ( )。 ( A)文本框失去焦点 ( B)文本框获得焦点 ( C)设置文本框的焦点 ( D)改变文本框的内容 28 假定在图片框 Picture1中装入了一个图片,在程序运行中,为了清除该图片 (注意,清除
14、图片,而不是删除图 片框 ),应采用的正确方法是 ( )。 ( A)单击图片框,然后按 Del键 ( B)执行语句 Picture1.Picture LoadPicture(“) ( C)执行语句 Picture1.Picture “ ( D)执行语句: Picture1.Cls 29 窗体上有一个名称为 Frame1的框架 (如图 ),若要把框架上显示的 “Frame1“改为汉字 “框架 “,下面正确的语句是 ( )。 ( A) Frame1.Name “框架 “ ( B) Frame1.Caption “框架 “ ( C) Frame1.Text “框架 “ ( D) Frame1.Val
15、ue “框架 “ 30 在窗体上画一个名称为 Combo1的组合框,名称为 Text1的文本框,以及名称为Command1的命令按钮,如图所示。 运行程序,单击命令按钮,将文本框中被选中的文本添加到组合框中,若文本框中没有选中的文本,则将文本框中的文本全部添加到组合框中。命令按钮的事件过程如下: Private Sub Command1_Click() If Text1.Se1Length0 Then Else Combo1.AddItem Text1 End IfEnd Sub程序中横线处应该填写的是( )。 ( A) Combo1.AddItem Text1.Text ( B) Combo
16、1.AddItem Text1.SelStart ( C) Combo1.AddItem Text1.SelText ( D) Combo1.AddItem Text1.SelLength 31 设有如下一段程序: Private Sub Command1_Click() Static a As Variant a Array(“one“, “two“, “three“, “four“, “five“) Print a(3) End Sub 针对上述事件过程,以下叙述中正确的是 ( )。 ( A)变量声明语句有错,应改为 Static a(5)As Variant ( B)变量声明语句有错,应
17、改为 Static a ( C)可以正常运行,在窗体上显示 three ( D)可以正常运行,在窗体上显示 four 32 求 1! 2! 10!的程序如下: Private Function s(x As Integer) f 1 For i 1 To x f f * i Next s f End Function Private Sub Command1_Click() Dim i As Integer Dim y As Long For i 1 To 10 Next Print y End Sub 为实现功能要求,程序的横线处应该填入的内容是 ( )。 ( A) Call s(i) (
18、B) Call s ( C) y y s(i) ( D) y y s 33 窗体上有两个名称分别为 Text1、 Text2的 文本框。 Text1的 KeyUp事件过程如下: Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Dim c As String c UCase(Chr(KeyCode) Text2.Text Chr(Asc(c) 2) End Sub 当向文本框 Text1中输入小写字母 a时,文本框 Text2中显示的是 ( )。 ( A) A ( B) a ( C) C ( D) c 34 设窗体上有一
19、个文本框 Text1和一个命令按钮 Command1,并有以下事件过程: Private Sub Command1_Click() Dim s As String, ch As String s “ For k 1 To Len(Text1) ch Mid(Text1, k, 1) s ch s Next k Text1.Text s End Sub 程序执行时,在文本框中输入 “Basic“,然后单击命令按钮,则 Text1中显示的是( )。 ( A) Basic ( B) cisaB ( C) BASIC ( D) CISAB 35 假定有以下函数过程: Function Fun(S As
20、 String)As String Dim s1 As String For i 1 To Len(S) s1 LCase(Mid(S, i, 1) s1 Next i Fun s1 End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim Str1 As String, Str2 As String Str1 InputBox(“请输入一个字符串 “) Str2 Fun(Str1) Print Str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串 “abcdefg“,则单击 “确定
21、“按钮后在窗体上的输出结果为 ( )。 ( A) ABCDEFG ( B) abcdefg ( C) GFEDCBA ( D) gfedcba 36 为计算 an的值,某人编写了函数 power如下: Private Function power(a As Integer, n As Integer)As Long Dim s As Long p a For k 1 To n p p*a Next k power p End Function 在调试时发现是错误的,例如 Print power(5,4)的输出应该是 625,但实际输出是3125。程序需要修改。下面的修改方案中有 3个是正确的,
22、错误的一个是 ( )。 ( A)把 For k 1 To n 改为 For k 2 To n ( B)把 p p * a 改为 p p n ( C)把 For k 1 To n 改为 For k 1 To n 1 ( D)把 p a 改为 p 1 37 窗体上有名称分别为 Text1、 Text2的文本框,名称为 Command1的命令按钮。运行程序,在 Text1中输入 “FormList“,然后单击命令按钮,执行如下程序: Private Sub Command1_Click() Text2.Text UCase(Mid(Text1.Text, 5, 4) End Sub 在 Text2中
23、显示的是 ( )。 ( A) form ( B) list ( C) FORM ( D) LIST 38 窗体上有 名称为 Command1的命令按钮,名称分别为 List1、 List2的列表框,其中 List1的 MultiSelect属性设置为 1(Simple),并有如下事件过程: Private Sub Command1_Click() For i 0 To List1.ListCount 1 If List1.Selected(i) True Then List2.AddItem Text End If Next End Sub 上述事件过程的功能是将 List1中被选中的列表项添
24、加到 List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是 ( )。 ( A)将 For循环的终值改为 List1.ListCount ( B)将 List1.Selected(i) True 改为 List1.List(i).Selected True ( C)将 List2.AddItem Text 改为 List2.AddItem List1.List(i) ( D)将 List2.AddItem Text 改为 List2.AddItem List1.ListIndex 39 窗体上有一个名称 为 Text1的文本框,一个名称为 Command1的命令按钮。窗体
25、文件的程序如下: Private Type x a As Integer b As Integer End Type Private Sub Command1_Click() Dim y As x y.a InputBox(“) If y.a2 y.a / 2 Then y.b y.a * y.a Else y.b Fix(y.a / 2) End If Text1.Text y.b End Sub 对以上程序,下列叙述中错误的是 ( )。 ( A) x是用户定义的类型 ( B) InputBox函数弹出的对话框中没有提示信息 ( C)若输入的是偶数, y.b的值为该偶数的平方 ( D) Fi
26、x(y.a / 2)把 y.a / 2的小数部分四舍五入,转换为整数返回 40 设工程文件包含两个窗体文件 Form1.frm、 Form2.frm及一个标准模块文件Module1.bas。两个窗体上分别只有一个名称为 Command1的命令按钮。 Form1的代码如下: Public x As Integer Private Sub Form_Load() x 1 y 5 End Sub Private Sub Command1_Click() Form2.Show End Sub Form2的代码如下: Private Sub Command1_Click() Print Form1.x,
27、 y End Sub Module1的代码如下: Public y As Integer 运行以上程序,单击 Form1的命令按钮 Command1,则显示 Form2;再单击 Form2上的命令按钮 Command1,则窗体上显示的是 ( )。 ( A) 1 5 ( B) 0 5 ( C) 0 0 ( D)程序有错 二、基本操作题 41 (1)在名称为 Form1的窗体上添加一个名称为 Com-mand1的命令按钮,标题为“打开文件 ”,再添加一个名称为 CDl的通用对话框。程序运行后,如果单击命令按钮,则弹出打开文件对话框,请按下列要求设置属性和编写代码: 设置适当属性,使对话框的标题为
28、“打开文什 ”; 设置适当属性,使对话框的 “文件类型 ”下拉式组合框中有两项可供选择: “文本文件 ”、 “所有文件 ”(如图所示 ),默认的类型是 “所 有文件 ”; 编写命令按钮的事件过程,使得单击按钮可以弹出 “打开文件 ”对话框。 要求:程序中不得使用变量,事件过程中只能写入一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存为 sjt1 frm。(2)在名称为 Form1的窗体上添加一个名称为 Cormmand1的命令按钮,其标题为“移动本按钮 ”,如图所示。 要求编写适当的事件过程,使得程序运行时,每单击按钮一次,按钮向左移动。 10
29、0。 要求:程序中不得使用变量,事件过程中只能写入一条语句。 注意:存盘时必须存放 在考牛文件夹下,工程文件名保存为sjt2 vbp,窗体义件名保存为 sjt2 frm。三、简单应用题 42 (1)在名称为 Form1的窗体上添加一个名称为 Ll 的标签,标题为 “口令 ”;添加两个文本框,名称分别为 Text1、 Text2,初始内容为空;再添加三个命令按钮,名称分别为 C1、 C2、 C3,标题分别为 “显示几令 ”、 “隐藏口令 ”、 “复制口令 ”。在程序开始运行时,向 Text1中输入的所有字符,都显示为 “*”,单击 “显示口令 ”按钮后,在 Text1中显示所有字符,再单击 “隐
30、藏口令 ”按钮后, Text1中的字符 不变,但显示的都是 “?”,单击 “复制口令 ”后,把 Text1中的实际内容复制到 Text2中,如图所示。 要求: 在属性窗口中,将窗体的标题改为 “口令窗口 ”: 建立适当的事件过程,完成上述功能。每个过程中只允许写一条语句,且不能使用变量。 注意:存盘时,工程文件名保存为 sjt3 vbp,窗体文件名保存为 sit3 frm。(2)在名称为 Form1的窗体上添加一个名称为 P1的图片框,并利用属性窗口把考生文件夹中的网标文件 Open ico放到图片框中;再添加一个通用对话框控件,名称为 CD1,利用属性窗口设置相 应属性,即打开对话框时:标题
31、为 “打开文件 ”,文件类型为 “Word文档 ”,初始文件夹为 C盘根文件夹。再编写适当的事件过程,使得程序在运行时,单击 P1图片框,可以打开上述对话框。程序运行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt4 vbp,窗体文件名保存为 sjt4 frm。程序中不得使用任何变量。四、综合应用题 43 在考生文件夹下有一个工程文件 sjt5 vbp,按照要求完成以下操作:在名称为Form1的窗体上添加两个命令按钮,其名称分别为 C1和 C2,标题分别为 “读入数据 ”和 “计算 ”(如图所示 )。程序运行后,如果单击 “读入数据 ”按钮,则调用题目所提供的
32、ReadData1和 ReadData2过程读入 datain1 txt和 datain2 txt文件中的各 20个整数,分别放入 Atr1和 Art2两个数组中;如果单击 “计算 ”按钮,则把两个数组中对应下标的元素相减,其结果放人第三个数组中 (第 1个数组的第 n个元素减去第 2个数组 的第 n个元素,其结果作为第 3个数组的第 n个元素。这里的 n为 1、220) ,最后计算第 3个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的 WriteData过程将所求得的和存入考生文件夹下的 dataout txt文件中。 注意:考生不得修改窗体文件中已经存在的程序,日必须执行
33、一次,最后将修改后的文件以原来的文什名存盘。国家二级( VB)机试模拟试卷 89答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程 序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为 A。 2 【正确答案】 D 【试题解析】 栈是先进后出的线性表,所以 A错误;队列是先进先出的线性表,所以 B错误;循环队列是线性结构的线性表,所以 C错误。 3 【正确答案】 D 【试题解析】 循环队列的队头指针与队尾指
34、针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也 可能小于队尾指针。 4 【正确答案】 A 【试题解析】 算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A。 5 【正确答案】 A 【试题解析】 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。 6 【正确答案】 D 【试题解析】 除了堆排序算法的比较次数是 O(nlog2n),其他的都是 n(n 1)/2。 7 【正确答案】 A 【试题解析】 对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模 块独立
35、性好。所以选择 A。 8 【正确答案】 B 【试题解析】 因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。 9 【正确答案】 B 【试题解析】 投影运算是指对于关系内的域指定可引入新的运算。本题中 S 是在原有关系 R的内部进行的,是由 R中原有的那些域的列所组成的关系。所以选择B。 10 【正确答案】 C 【试题解析】 从 E R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系, E R图中属性也可以转换成 关系的属性。 11 【正确答案】 D 【试题解析】 无法重复, 运行, 添加标准 EXE 工程, 结束运行。
36、 D选项正确。 12 【正确答案】 B 【试题解析】 IIF函数是条件函数,本题的含义是如果 x0条件成立,即 x为正数,就返回 x,即 x的负数,否则返回 x(它本身 ),两种情况都是返回负数。根据这一点,选项 B符合要求。故 B选项正确。 13 【正确答案】 B 【试题解析】 VB 中变量的命题贵族为: 必须以字母或汉子开头 有字母、汉子、数学或下划线组成 不能使用 VB已经占用的关键词。本 题选项 B 中变量以下划线开头,不合法。故 B 选项错误。 14 【正确答案】 C 【试题解析】 定义数组有 2种格式: 第 1种格式: 数组每一维的只给出下标的上界,即可以使用的下标的最大值。 格式
37、为 Dim|public|private|static(上界, 上界 ) As 类型名 形如: Dim a(5) As Interger , Dim b(4,5)As Integer 这种形式,数组各维的下标的下界只能为 0或 1,而且下标的上界 下界。本题中 C选项下标上界 10(下界 to 上界 ), (下界 to 上界 ) 形如: Dim a( 2 to 5)As Interger Dim a(1 to 3, 2 to 6)As Interger 这种形式,数组各维下标的下界没有限制,只要保证下标的上界 下界就行。故 D选项正确。 以上两种形 式也可以混合使用。故 B 选项也正确。 15
38、 【正确答案】 C 【试题解析】 过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故 A、 D选项正确。 调用过程时,如果过程的参数是数组,则实参传给形参的是地址,这个地址是用数组名表示的一个符号地址,是数组的起始地址,形参和实参用的是同一个地址,在过程中形参的改变会引起实参的改变。故 B 选项正确。 在过程调用时,不只是函数过程能把过程中处理的信息传回 到调用程序中, Sub过程也可以。 Sub过程中形参声明时前面有关键字 ByRef或省略 ByRef(默认 )时,实参和形参之间传递的是地址,
39、Sub过程中形参的变化也会引起实参的变化,这样 Sub过程中处理的信息也可以传回调用程序中。故 C选项说法错误。 16 【正确答案】 C 【试题解析】 在 VB中可以访问的文件有:顺序文件、随机文件和二进制文件。不同文件存取方式不同,但处理的步骤大致一样: 用 Open 语句打开文件,并为文件制定一个文件号。根据文件的的存取方式使用不同的模式打开文件。 本题是 随机文件,读写的是一条一条的记录,所以用 For Random 模式打开,记录的长度为 Person 类型变量 p的长度。 从文件中读出数据进行处理或处理数据后,把数据写入文件。 本题是把变量的数据写入随机文件,所以用 Put语句写入。
40、 文件操作结束,关闭文件。各种文件关闭统一用 Close #文件号 关闭。 综合一下,故选 C。 17 【正确答案】 A 【试题解析】 标准模块中只包含其他窗体模块中公用的一些变量、过程等代码,不包括窗体。故选项 A错误。 标准模块中用 Private声明的过程属于私有过程,只能被它所在的模块中的其他过程调用,不能被工程中其他模块调用,用 Public声明的全局变量属于公用变量,可以被工程中的任何模块引用。标准模块的文件扩展名是 .bas 。 18 【正确答案】 A 【试题解析】 因为 Rnd 函数产生的随机数范围是大于等于 0 而小于 1。要产生30 50(含 30和 50)之间的随机整数,
41、可先产生 0 (50 30),即 0 20之间的随机整数,然后在这个基础上再加上 30。 Rnd*20生成 0 20之间的随机数中不包括 20,所以要用 Int(Rnd*21)可产生0 20之间的随机整数,然后加上 30,综合起来就是 Int(Rnd*21 30),故 A选项正确。 19 【正确答案】 B 【试题解析】 本题中 x定义为整型变量,通过输入对话框输入 395,按 “确定 “按钮后, InputBox 函数把返回值 395赋给变量 x。表达式 395 Mod 10 ,结果是5,395100结果为 3, (395 Mod 100)10 的结果为 9。故 B 选项正确。 20 【正确答
42、案】 A 【试题解析】 要把文本框中的内容写入文本文件中,首先要用 Open 语句的 For Output 模式打开文本文件,并为文件制定一个文件号,然后,用 Print语句将文本写入文本文件,最后关闭文件。 本题中 Click事件过程中第 1、 3条语句正确。 第 2条语句 Print语句的格式是: Print #文件号,要写入的内容 ,原语句错误。 根据格式按选项 A修改正确,故 A选项正确。 21 【正确答案】 D 【试题解析】 文档的 ScrollBars 属性值, 0表示无滚动条, 1表示只有水平滚动条, 2表示只有垂直滚动条, 3表示水平和垂直滚动条都有。故 D选项正确。 22 【
43、正确答案】 C 【试题解析】 参数 KeyCode返回的是所按键的键码,而且大小写字母键码值相同。故选 C。 23 【正确答案】 D 【试题解析】 单选按钮控件的 Value属性值为 True表示被选中, False表示未被选中;复选框控件的 Value属性值为 0表示未选中, 1表示选中, 2表示禁止。本题中是单选按钮和复选框都被选中,故 D选项正确。 24 【正确答案】 A 【试题解析】 B 选项错误原因:窗体有自己的 KeyPress 事件过程; C选项错误原因: KeyPress事件过程中的 KeyAscii 参数返回按键的 ASCII 码值,大小写字母返回值不同;而 KeyDown
44、事件过程中的 KeyCode参数返回的是按键代码,大小写字母返回值相同。故按下的键相同时, keyAscii 和 KeyCode参数不一定返回相同值; D选项错误原因: KeyPress 事件中的 KeyAscii 参数不能省略。 A选项正确。 25 【正确答案】 A 【试题解析】 打开对话框主要用来获取用户指定的文件信息并供程序使用,对话框本身并不提供打开文件功能,这些功能需另外编写代码才能实现,所以在 “打开“对话框中可选中某文件,但不能 打开。故 A选项错误。 26 【正确答案】 B 【试题解析】 要使菜单项的快捷键设置为 Alt字母,就要在菜单项的标题中设置为 &字母。本题把 “Alt
45、 X“设置为 “退出 (X)“菜单项,则菜单项的标题设置为“退出 (&X)“。故选 B。 27 【正确答案】 D 【试题解析】 改变文本框中的内容时就会触发它的 Change事件,故选 D。 28 【正确答案】 B 【试题解析】 A选项按 Del键不能删除图片; C选项中 Pictue属性值不能为空字符串,语法错误; D选项中 Cls方法只能清除图片上 显示的内容,不能清除图片。要将图片框中的图片清除,用 B 选项方法可以。故 B选项正确。 29 【正确答案】 B 【试题解析】 框架的 Name属性是设置框架的名称; Caption 属性设置框架的标题,是在框架的左上角显示的内容;框架控件没有
46、 Text和 Value属性。故 B 选项正确。 30 【正确答案】 C 【试题解析】 根据题意可知,横线处应该是将文本框中选中文本添加到组合框中。文本框 Text属性返回整个文本框中的文本,故 A选项错误; SelStart属性返回选中文本的起始位置,故 B选项错误; SelLength 属性返回选中文本的长度,故D选项错误; SelText属性返回选中的文本,故 C选项正确。 31 【正确答案】 D 【试题解析】 题目中变量 a被定义为 Variant类型, Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。变量a被赋值为字符串数组
47、,数组默认下标从 0开始,因此元素 a(3)的值为 “four“。 32 【正确答案】 C 【试题解析】 题目中过程 s的功能是实现一个数的阶乘,而题目是求 1到 10的阶乘的和,则程序空缺处应 该是过程 s返回值的累加,因此就应该为 y y s(i)。 33 【正确答案】 C 【试题解析】 KeyDown 和 KeyUp事件的 KeyCode参数返回的是 “键 “,即按字母 “A“和 “a“时得到的 KeyCode的值是相同的,都是 &H41。因此程序中对输入“a“时得到的 KeyCode,经 Chr函数转为字符后为 “A“,经 Ucase函数转换仍为“A“,所以变量 c中的字符为 “A“。
48、 Asc(c)将返回变量 c中的第一个字符的ASCII,加 2后,再由 Chr函数转为字符即为 “A“后面的第 2个字符,即 “C“。所以答案应为 选项 C。 34 【正确答案】 B 【试题解析】 Len 函数返回字符串的长度, Mid 函数为字符串中部截取函数格式为: Mid(字符串,起始位置,长度 )。程序中, For循环的终值是 Text1中输入的字符串的长度,即 “Basic“的长度,为 5。循环体中 Mid函数从第一个字符开始依次取出一个字符,然后与上次取出的字符连接,本次取出的字符在前,上次取出的字符在后。最终变量 s中应该是 “cisaB“。 35 【正确答案】 D 【试题解析】
49、 程序中过程 Fun 的 For循环的功能是从参数字符串中依次取出一个字 符经 Lcase函数转为小写字母后存入另一个字符串变量的首部,即将输入的字符串转为小写并倒序排列。函数 Len 用于返回字符串的长度,过程中字符串的长度做为 For循环的终值。 Mid是字符串中部截取函数,用来从指定位置开始截取指定个数的字符。过程中使用 Mid(S, i, 1),通过循环依次取出字符串的字符,然后使本次取出的字符连接到之前取出的字符前面,实现了字符串倒序排列。程序中输入字符串为 “abcdefg“,倒序并转为小写后为 “gfedcba“。 36 【正确答案】 B 【试题解析】 程序中计算 an的算 法有误,由于已经将 a的值赋给了 p,在后边的 For循环中再乘 n次 a显然就多乘了一次 a,因此,要改正此程序或者将 p a改为 p 1,或者将 for k 1 to n 改成 for k 1 to n 1或 for k 2 t