1、国家二级( VB)机试模拟试卷 113及答案与解析 一、选择题 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 以下关于过程及过程参数的描述中,错误的是 ( )。 (
5、 A)调用过程时可以用控件名称作为实际参数 ( 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 Le
7、n(p) 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 下面程序运行时,若输入
8、395,则输出结果是 ( )。 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
9、Sub 调试时发现没有达到目的,为实现上述目的,应做的修改是 ( )。 ( 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 事件过程如下: Privat
10、e Sub 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)因为窗体不接受焦点,所以窗体不存在自己的 Ke
12、yPress事件过程 ( 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
15、.Value “框架 “ 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) C
16、ombo1.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
20、 As 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 在 Tex
23、t2中显示的是 ( )。 ( 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
26、) Fix(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 Form
27、1.x, 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的窗体上画两个标签 (名称分别为 Label1和 Label2,标题分别为 “姓名 ”和 “年龄 ”)、两个文本框 (名称分别为 Text1和 Text2,初始内容均为空 )和一个命令按钮 (名称为 Command1,标题为
28、 “显示 ”)。然后编写命令按钮的 Click事件过程。程序运行后,在两个文本框中分别输入姓名和年龄,然后单击 “显示 ”按钮,则在窗体上显示两个文本框中的内容,如图所示。要求 程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存为 sit1 frm。(2)在名称为Form1的窗体上画一个图片框,其名称为 Picture1,一个水平滚动条,名称为HScroll1,一个命令按钮,名称为 Command1,标题为 “设置属性 ”,通过属性窗口在图片框中装入一个图形 (文件名为 pic1 jpg,位丁考生目录下 ),图片框的高度与图形的高度
29、相同,图片框的宽度任意 (如图 1所示 )。编写适当的事件过程,程序运行后,如果单击命令按钮,则设置水平滚动条 的属性如下: Min 100 Max 1500 LargeChange 100 SmallChange 10 之后就可以通过移动滚动条上的滚动块来放大或缩小图片框。程序运行后的窗体如图 2所示。要求程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。三、简单应用题 42 (1)在考生文件夹下有一个工程文件 sjt3 vbp。 程序的功能是: 1)程序运行时,文件列表框显示当前文件夹中的所有扩展名为 jpg的文件
30、。 2)双击文件列表框中 某个图片文件名时,能在图像框中显示出该张图片,并将该图片文件的信息 (包括路径及文件名 )显示到标签中。 3)“下一张 ”命令按钮的功能:选中并显示卜次选中文件的下一个图片文件 (如果文件列表框中没有被选中的图片文件或上次选中的是最后一个文件名,则从第 1个图片文件开始 )。 在当前程序所在文件夹中,已经提供了所需要的图片文件,运行时窗体如图所示。 在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把 ?改为正确的内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最 后将程序按原文件名存盘。 (2)在考生文件夹下
31、有一个工程文件 sjt4 vbp。程序的功能是:程序运行时,文本框中显示一篇英文短文,单击 “查找 ”按钮时可输入查找内容,如图 1所示。若未找到查找内容,查找结束;若找到查找内容,被找到的内容在文本框中以反相显示 (即呈选中状态 ),每找到一次都给出提示,并在左下角文本框中显示累计的次数,如图 2所示,若单击提示对话框的 “是 ”按钮,则继续向后查找;若单击 “否 ”按钮,则终止查找。在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把 ?改为正 确的内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 四、综合
32、应用题 43 在考生文件夹下有一个工程文件 sjt5 vbp,相应的窗体文件为 sjt5 frm,此外还有一个名为 datain txt的文本文件,其内容如下: 32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37程序运行后单击窗体,将把文件datain txt中的数据输入二维数组 Mat中,按 5行 5列的矩阵形式显示在窗体上,然后交换矩阵第二列和第四列的数据,将交换后的矩阵显示在窗体上,如图所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序
33、中的注释符,把程序中的 ?改为正确的内容 (可以是多行 ),使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 国家二级( VB)机试模拟试卷 113答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为 A。 2 【正确答案】 D 【试题解析】 栈是先进后出的线性表,所以 A错误;队列是先进先出的线性表,所以 B错误;循环队列
34、是线性结构的线性表,所以 C错误。 3 【正确答案】 D 【试题解析】 循环队列的队头指针与队尾指针都不是固定的,随着入队 与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。 4 【正确答案】 A 【试题解析】 算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A。 5 【正确答案】 A 【试题解析】 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。 6 【正确答案】 D 【试题解析】 除了堆排序算法的比较次数是 O(nlog2n),其他的都是 n(n 1)/2。 7 【正
35、确答案】 A 【试题解析】 对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择 A。 8 【正确答案】 B 【试题解析】 因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。 9 【正确答案】 B 【试题解析】 投影运算是指对于关系内的域指定可引入新的运算。本题中 S 是在原有关系 R的内部进行的,是由 R中原有的那些域的列所组成的关系。所以选择B。 10 【正确答案】 C 【试题解析】 从 E R图 到关系模式的转换是比较直接的,实体与联系都可以表示成关系, E R图中属性也可以转换成关系的属性。
36、 11 【正确答案】 D 【试题解析】 无法重复, 运行, 添加标准 EXE 工程, 结束运行。 D选项正确。 12 【正确答案】 B 【试题解析】 IIF函数是条件函数,本题的含义是如果 x0条件成立,即 x为正数,就返回 x,即 x的负数,否则返回 x(它本身 ),两种情况都是返回负数。根据这一点,选项 B符合要求。故 B选项正确。 13 【正确答案】 B 【试题解析】 VB 中变量的命题贵族为: 必 须以字母或汉子开头 有字母、汉子、数学或下划线组成 不能使用 VB已经占用的关键词。本题选项 B 中变量以下划线开头,不合法。故 B 选项错误。 14 【正确答案】 C 【试题解析】 定义数
37、组有 2种格式: 第 1种格式: 数组每一维的只给出下标的上界,即可以使用的下标的最大值。 格式为 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 这种形式,数组各维下 标的下界没有限制,只要保
38、证下标的上界 下界就行。故 D选项正确。 以上两种形式也可以混合使用。故 B 选项也正确。 15 【正确答案】 C 【试题解析】 过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故 A、 D选项正确。 调用过程时,如果过程的参数是数组,则实参传给形参的是地址,这个地址是用数组名表示的一个符号地址,是数组的起始地址,形参和实参用的是同一个地址,在过程中形参的改变会引起实参 的改变。故 B 选项正确。 在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中, Sub过程也可以。 Sub过程中
39、形参声明时前面有关键字 ByRef或省略 ByRef(默认 )时,实参和形参之间传递的是地址, Sub过程中形参的变化也会引起实参的变化,这样 Sub过程中处理的信息也可以传回调用程序中。故 C选项说法错误。 16 【正确答案】 C 【试题解析】 在 VB中可以访问的文件有:顺序文件、随机文件和二进制文件。不同文件存取方式不同,但处理的步骤大致一样: 用 Open 语句打开文件, 并为文件制定一个文件号。根据文件的的存取方式使用不同的模式打开文件。 本题是随机文件,读写的是一条一条的记录,所以用 For Random 模式打开,记录的长度为 Person 类型变量 p的长度。 从文件中读出数据
40、进行处理或处理数据后,把数据写入文件。 本题是把变量的数据写入随机文件,所以用 Put语句写入。 文件操作结束,关闭文件。各种文件关闭统一用 Close #文件号 关闭。 综合一下,故选 C。 17 【正确答案】 A 【试题解析】 标准模块中只包含其他窗 体模块中公用的一些变量、过程等代码,不包括窗体。故选项 A错误。 标准模块中用 Private声明的过程属于私有过程,只能被它所在的模块中的其他过程调用,不能被工程中其他模块调用,用 Public声明的全局变量属于公用变量,可以被工程中的任何模块引用。标准模块的文件扩展名是 .bas 。 18 【正确答案】 A 【试题解析】 因为 Rnd 函
41、数产生的随机数范围是大于等于 0 而小于 1。要产生30 50(含 30和 50)之间的随机整数,可先产生 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,395
42、100结果为 3, (395 Mod 100)10 的结果为 9。故 B 选项正确。 20 【正确答案】 A 【试题解析】 要把文本框中的内容写入文本文件中,首先要用 Open 语句的 For Output 模式打开文本文件,并为文件制定一个文件号,然后,用 Print语句将文本写入文本文件,最后关闭文件。 本题中 Click事件过程中第 1、 3条语句正确。 第 2条语句 Print语句的格式是: Print #文件号,要写入的内容 ,原语句错误。 根据格式按选项 A修改正确,故 A选项正确。 21 【正确答案】 D 【试题解析】 文档的 ScrollBars 属性值, 0表示无滚动条, 1
43、表示只有 水平滚动条, 2表示只有垂直滚动条, 3表示水平和垂直滚动条都有。故 D选项正确。 22 【正确答案】 C 【试题解析】 参数 KeyCode返回的是所按键的键码,而且大小写字母键码值相同。故选 C。 23 【正确答案】 D 【试题解析】 单选按钮控件的 Value属性值为 True表示被选中, False表示未被选中;复选框控件的 Value属性值为 0表示未选中, 1表示选中, 2表示禁止。本题中是单选按钮和复选框都被选中,故 D选项正确。 24 【正确答案】 A 【试题解析】 B 选项错误原因:窗体 有自己的 KeyPress 事件过程; C选项错误原因: KeyPress事件
44、过程中的 KeyAscii 参数返回按键的 ASCII 码值,大小写字母返回值不同;而 KeyDown 事件过程中的 KeyCode参数返回的是按键代码,大小写字母返回值相同。故按下的键相同时, keyAscii 和 KeyCode参数不一定返回相同值; D选项错误原因: KeyPress 事件中的 KeyAscii 参数不能省略。 A选项正确。 25 【正确答案】 A 【试题解析】 打开对话框主要用来获取用户指定的文件信息并供程序使用,对话框本身并不提供打开 文件功能,这些功能需另外编写代码才能实现,所以在 “打开“对话框中可选中某文件,但不能打开。故 A选项错误。 26 【正确答案】 B
45、【试题解析】 要使菜单项的快捷键设置为 Alt字母,就要在菜单项的标题中设置为 &字母。本题把 “Alt X“设置为 “退出 (X)“菜单项,则菜单项的标题设置为“退出 (&X)“。故选 B。 27 【正确答案】 D 【试题解析】 改变文本框中的内容时就会触发它的 Change事件,故选 D。 28 【正确答案】 B 【试题解析】 A选项按 Del键不能删除图片; C选项中 Pictue属性值不能为空字符串,语法错误; D选项中 Cls方法只能清除图片上显示的内容,不能清除图片。要将图片框中的图片清除,用 B 选项方法可以。故 B选项正确。 29 【正确答案】 B 【试题解析】 框架的 Nam
46、e属性是设置框架的名称; Caption 属性设置框架的标题,是在框架的左上角显示的内容;框架控件没有 Text和 Value属性。故 B 选项正确。 30 【正确答案】 C 【试题解析】 根据题意可知,横线处应该是将文本框中选中文本添加到组合框中。文本框 Text属性返回整个文本框中的 文本,故 A选项错误; SelStart属性返回选中文本的起始位置,故 B选项错误; SelLength 属性返回选中文本的长度,故D选项错误; SelText属性返回选中的文本,故 C选项正确。 31 【正确答案】 D 【试题解析】 题目中变量 a被定义为 Variant类型, Variant 是一种特殊的
47、数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。变量a被赋值为字符串数组,数组默认下标从 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,
48、经 Chr函数转为字符后为 “A“,经 Ucase函数转换仍为“A“,所以变量 c中的字符为 “A“。 Asc(c)将返回变量 c中的第一个字符的ASCII,加 2后,再由 Chr函数转为字符即为 “A“后面的第 2个字符,即 “C“。所以答案应为选项 C。 34 【正确答案】 B 【试题解析】 Len 函数返回字符串的长度, Mid 函数为字符串中部截取函数格式为: Mid(字符串,起始位置,长度 )。程序中, For循环的终值是 Text1中输入的字符串的长度,即 “Basic“的长度,为 5。循环体中 Mid函数从第一个字符开始依次取出一个字符,然后与上次取出的字符连接,本次取出的字符在
49、前,上次取出的字符在后。最终变量 s中应该是 “cisaB“。 35 【正确答案】 D 【试题解析】 程序中过程 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 t