1、国家二级(VB)机试-试卷 14 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定2.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDC
2、BA54321C.ABCDE12345D.54321EDCBA3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是( )。(分数:2.00)A.10B.8C.6D.44.下列排序方法中,最坏情况下比较次数最少的是( )。(分数:2.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序5.软件设计中划分模块的一个准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装B.自顶向下C.模块化D.逐步求精7.下列关于栈的叙述正确的是( )。(分数:2.00)A.
3、栈按“先进先出“组织数据B.栈按“先进后出“组织数据C.只能在栈底插入数据D.不能删除数据8.在数据库设计中,将 ER 图转换成关系数据模型的过程属于( )。(分数:2.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段9.在数据管理技术发展的三个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同10.有三个关系 R、S 和 T 如下: 由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。(分数:2.00)A.笛卡尔积B.交C.并D.自然连接11.下列叙述中正确的是( )。(分数:2.00)A.
4、MsgBox 语句的返回值是一个整数B.执行 MsgBox 语句并出现信息框后,不用关闭信息框即可执行其他操作C.MsgBox 语句的第一个参数不能省略D.如果省略 MsgBox 语句的第三个参数(Title),则信息框的标题为空12.语句 Dim a(3 To 4,3 To 6)As Integer 定义的数组的元素个数是( )。(分数:2.00)A.18B.28C.21D.3213.设窗体文件中有下面的事件过程:Private Sub Command1_Click() Dim s a%100 Print aEnd Sub 其中变量 a 和 s 的数据类型分别是( )。(分数:2.00)A.
5、整型,整型B.变体型,变体型C.整型,变体型D.变体型,整型14.下面不能在信息框中输出“VB“的是( )。(分数:2.00)A.MsgBox “VB“B.xMsgBox(“VB“)C.MsgBox(“VB“)D.Call MsgBox “VB“15.现有语句: yIIf(x0, x Mod 3, 0)设 x10,则 y 的值是( )。(分数:2.00)A.0B.1C.3D.语句有错16.窗体上有一个菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。下列说法错误的是( )。 (分数:2.00)A.在设计“粘贴“菜单项时,在菜单编辑器窗口中设置了“有效“属性(
6、有“)B.菜单中的横线是在该菜单项的标题输入框中输入了一个“-“(减号)字符C.在设计“选中“菜单项时,在菜单编辑器窗口中设置了“复选“属性(有“)D.在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见“前面的“17.假定有以下循环结构:Do Until 条件表达式 循环体 Loop 则以下正确的描述是( )。(分数:2.00)A.如果“条件表达式“的值是 0,则一次循环体也不执行B.如果“条件表达式“的值不为 0,则至少执行一次循环体C.不论“条件表达式“的值是否为“真“,至少要执行一次循环体D.如果“条件表达式“的值恒为 0,则无限次执行循环体18.执行语句 Dim X, Y A
7、s Integer 后( )。(分数:2.00)A.X 和 Y 均被定义为整型变量B.X 和 Y 均被定义为变体类型变量C.X 被定义为整型变量,Y 被定义为变体类型变量D.X 被定义为变体类型变量,Y 被定义为整型变量19.在程序运行时,下面的叙述中正确的是( )。(分数:2.00)A.用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load 事件过程B.用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C.只装入而不显示窗体,也会执行窗体的 Form_Load 事件过程D.装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click 事件过程20.下列
8、有关文件的叙述中,正确的是( )。(分数:2.00)A.以 Output 方式打开一个不存在的文件时,系统将显示出错信息B.以 Append 方式打开的文件,既可以进行读操作,也可以进行写操作C.在随机文件中,每个记录的长度是固定的D.无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的21.VB 中有 3 个键盘事件:KeyPress、KeyDown、KeyUp,若光标在 Text1 文本框中,则每输入一个字母( )。(分数:2.00)A.这 3 个事件都会触发B.只触发 KeyPress 事件C.只触发 KeyDown、KeyUp 事件D.不触发其中任何一个事件22.设窗体的名
9、称为 Form1,标题为 Win,则窗体的 MouseDown 事件过程的过程名是( )。(分数:2.00)A.Form1_MouseDownB.Win_MouseDownC.Form_MouseDownD.MouseDown_Form123.窗体上有一个名称为 HScroll1 的滚动条,程序运行后,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是( )。(分数:2.00)A.Private Sub HScroll1_Change() Print HScroll1.Value End SubB.Private Sub HScroll1_Ch
10、ange() Print HScroll1.SmallChange End SubC.Private Sub HScroll1_Scroll() Print HScroll1.Value End SubD.Private Sub HScroll1_Scroll() Print HScroll1.SmallChange End Sub24.若已把一个命令按钮的 Default 属性设置为 True,则下面可导致按钮的 Click 事件过程被调用的操作是( )。(分数:2.00)A.用鼠标右键单击此按钮B.按键盘上的 Esc 键C.按键盘上的回车键D.用鼠标右键双击此按钮25.假定通过复制、粘贴操
11、作建立了一个命令按钮数组 Command1,以下说法中错误的是( )。(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.若未做修改,数组中每个命令按钮的大小都一样C.数组中各个命令按钮使用同一个 Click 事件过程D.数组中每个命令按钮的 Index 属性值都相同26.以下关于菜单的叙述中,错误的是( )。(分数:2.00)A.当窗体为活动窗体时,用 CtrlE 键可以打开菜单编辑器B.把菜单项的 Enabled 属性设置为 False,则可删除该菜单项C.弹出式菜单在菜单编辑器中设计D.程序运行时,利用控件数组可以实现菜单项的增加或减少27.下面哪个
12、属性肯定不是框架控件的属性( )。(分数: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.Index 的值用来区分哪个单选按钮被选中D.Index 表示数组中单选按钮的数量29.要想使列表框
13、只允许单选列表项,应设置的属性为( )。(分数:2.00)A.StyleB.SelectedC.MultiSelectD.Enabled30.在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click() Dim i As Integer, n As Integer For i0 To 50 ii3 nn1 If i10 Then Exit For Next Text1.TextStr(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是( )。(分数:2.00)A.2B.3C
14、.4D.531.窗体上有一个名称为 Text1 的文本框,一个名称为 CD1 的通用对话框,一个标题为“打开文件“的命令按钮,如图所示。 (分数:2.00)A.程序没有错误,可以正确完成打开文件、读取文件中内容的操作B.执行 Open 命令时出错,因为没有指定文件的路径C.Open 语句是错误的,应把语句中的 For Input 改为 For OutputD.Line Input 命令格式错32.窗体上有一个如右图所示的图形控件,控件中显示了如图所示的文字,可以判断这个图形控件( )。(分数:2.00)A.是图像框(Image)B.是图片框(PictureBox)C.是形状控件D.不是上述 3
15、 种控件中的一种33.窗体上有一个由两个文本框组成的控件数组,名称为 Text1,并有如下事件过程:Private Sub Text1_Change(Index As Integer) Select Case Index Case 0 Text1(1).FontSizeText1(0).FontSize * 2 Text1(1).TextText1(0).Text Case 1 Text1(0).FontSizeText1(1).FontSize / 2 Text1(0).TextText1(1).Text Case Else MsgBox “执行 Else 分支“ End SelectEnd
16、 Sub 关于上述程序,以下叙述中错误的是( )。(分数:2.00)A.Index 用于标识数组元素B.本程序中 Case Else 分支的语句永远不会被执行C.向任何一个文本框输入字符,都会在另一个文本框中显示该字符D.下标为 0 的文本框中显示的字符尺寸将越来越小34.设有如下程序:Option Base 1Dim a(3, 4)As Integer, b(4, 3)As IntegerPrivate Sub Command1_Click() 循环 1 For i1 To 3 For j1 To 4 b(j, i)a(i, j) Next j Next i 循环 2 xb(1, 1) Fo
17、r i1 To 4 For j1 To 3 Print b(i, j); If xA.窗体模块中,不能使用 Dim 声明 a、b 数组B.循环 1 可以正常运行C.循环 2 中循环变量 i、j 的终值不对,所以不能正常运行D.程序可以正常运行,x 中保存的是数组 b 中所有元素中最小的数35.某人编写了如下程序,用来求 10 个整数(整数从键盘输入)中的最大值:Private Sub Command1_Click() Dim a(10)As Integer, max As Integer For k1 To 10 a(k)InputBox(“输入一个整数“) Next k max0 For k
18、1 To 10 If a(k)max Then maxa(k) End If Next k Print maxEnd Sub 运行程序时发现,当输入 10 个正数时,可以得到正确结果,但输入 10 个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是( )。(分数:2.00)A.把 If a(k)max Then 改为 If a(k)B.把 maxa(k)改为 a(k)maxC.把第 2 个循环语句 For k1 To 10 改为 For k2 To 10D.把 max0 改为 maxa(10)36.已知在 4 行 3 列的全局数组 score(4,3)中存放了 4 个学生
19、 3 门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下:Option Base 1Private Sub Command1_Click() Dim sum As Integer sum0 For i1 To 4 For j1 To 3 sumsumscore(i, j) Next j Print “第“ & i & “个学生的总分是:“; sum Next iEnd Sub 运行此程序时发现,除第 1 个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是( )。(分数:2.00)A.把外层循环语句 For i1 To 4 改为 For i1
20、 To 3 内层循环语句 For j1 To 3 改为 For j1 To 4B.把 sum0 移到 For i1 To 4 和 For j1 To 3 之间C.把 sumsumscore(i, j)改为 sumsumscore(j, i)D.把 sumsumscore(i, j)改为 sumscore(i, j)37.某人编写了下面的程序:Private Sub Command1_Click() Dim a As Integer, b As Integer aInputBox(“请输入整数“) bInputBox(“请输入整数“) pro a pro b Call pro(ab) End S
21、ub Private Sub pro(n As Integer) While(n0) Print n Mod 10; nn/10 Wend Print End Sub 此程序功能是:输入 2 个正整数,反序输出这 2 个数的每一位数字,再反序输出这 2 个数之和的每一位数字。例如:若输入 123 和 234,则应该输出: 3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2 行(即 2 个数的反序),而未输出第 3 行(即 2 个数之和的反序),程序需要修改。下面的修改方案中正确的是( )。(分数:2.00)A.把过程 pro 的形式参数 n As Integer 改为 ByVal
22、n As IntegerB.把 Call pro(ab)改为 pro abC.把 nn/10 改为 nn / 10D.在 pro b 语句之后增加语句 c%ab ,再把 Call pro(ab)改为 pro c38.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()c1234c1Trim(Str(c)For i1 To 4 Print NextEnd Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容:1121231234 则在横线处应填入的内容为( )。(分数:2.00)A.Right(c1, i)B.L
23、eft(c1, i)C.Mid(c1, i, 1)D.Mid(c1, i, i)39.命令按钮 Command1 的单击事件过程如下:Private Sub Command1_Click() Dim a(10, 10)As Integer x0 For i1 To 3 For j1 To 3 a(i, j)i * 2 Mod j If xA.1B.2C.3D.440.设有如下 Command1 的单击事件过程及 fun 过程:Private Sub Command1_Click() Dim x As Integer xVal(InputBox(“请输入一个整数“) fun(x)End SubP
24、rivate Sub fun(x As Integer) If x Mod 20 Then fun(x / 2) Print x;End Sub 执行上述程序,输入 6,结果是( )。(分数:2.00)A.3 6B.6 3C.6D.程序死循环二、基本操作题(总题数:1,分数:2.00)41.(1)在名称为 Form1 的窗体上添加一个名称为 L1 的标签,标签上标题为“请输入密码”,添加一个名称为 Text1 的义本框,其宽、高分别为 2000 和 300,设置适当的属性,使得在输入密码时,文本框中显示为“*”字符,此外再把窗体的标题设置为“密码窗口”,以上这些设置都必须在属性窗口中进行,程序
25、运行时的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjtlvbp,窗体文件名保存为 sit1frm。 (2)在名称为 Form1 的窗体上添加一个名称为 P1 的图片框,请编写适当的事件过程,使得程序在运行时,每单击一次图片框。就在图片框中输出“单击图片框”,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”,运行时的窗体如图所示。要求在程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjl2vbp,窗体文件名保存为 Bjt2frm。 (分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.(1
26、)在考生文件央下有一个工程文件 sjt3vbp(相应的窗体义件名为 sjt3frm),在窗体上添加一个名称为 List1 的列表框和一个名称为 Text1 的文本框,如图 1 所示。编写窗体的 MouseDown 事件过程。程序运行后,如果用鼠标单击窗体,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果用鼠标右键单击窗体,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图 2 所示。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的汴释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。(
27、2)在考牛文件夹下有一个工程文件 sjt4vbp(相应的窗体文件名为 sjt4frm),其功能是通过调用过程 FindMin 求数组的最小值。程序运行后,在 4 个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图所示)。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。(分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.在考生文件夹卜有一个工程义件 sjt5vbp。程序运行时,单击“显示数据”按钮,则将考生文件夹下 in5dat 文件的内容读入一维数组
28、 a 中,并按下标顺序将数组 a 各元素的值显示在 List1 列表框中;单击“移动”按钮,则将数组 a 中的最大值移动到数组的最前面,其他数据的排列顺序不变,并将移动后的结果显示在 Ifist2 列表框中。单击“保存”按钮,则保存移动后的结果。 要求:“显示数据”和“保存”按钮的 Click 事件过程已经给出,请编写“移动”按钮的 Cliek 事件过程实现上述功能。程序窗体界面如图所示。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前必须单击“移动”按钮,并单击“保存”按钮保存结果,否则无成绩。最后程序按原文件名存盘。 (分数:2.00)_国家二级(VB)机试-试卷 1
29、4 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定 解析:解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以 A 错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以 B 与 C 错误。2.一个栈的初始状态为空
30、。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDCBA54321 C.ABCDE12345D.54321EDCBA解析:解析:栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择 B。3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是( )。(分数:2.00)A.10B.8C.6 D.4解析:解析:根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0 的叶子节点总是比度为 2 的节点多一个,所以本题中是 516 个。4.下列排序方法中,最坏情况下比较次数最少的是(
31、 )。(分数:2.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序 解析:解析:冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较 n(n1)/2 次,而堆排序在最坏情况下需要比较的次数是 nlog2n。5.软件设计中划分模块的一个准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。6.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装 B.自顶向下C.模块化D.逐步求精解析:
32、解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,所以选择 A。7.下列关于栈的叙述正确的是( )。(分数:2.00)A.栈按“先进先出“组织数据B.栈按“先进后出“组织数据 C.只能在栈底插入数据D.不能删除数据解析:解析:栈是按“先进后出“的原则组织数据的,数据的插入和删除都在栈顶进行操作。8.在数据库设计中,将 ER 图转换成关系数据模型的过程属于( )。(分数:2.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段 D.物理设计阶段解析:解析:ER 图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于辑设计阶段。9.在
33、数据管理技术发展的三个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段 D.三个阶段相同解析:解析:数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择 C。10.有三个关系 R、S 和 T 如下: 由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。(分数:2.00)A.笛卡尔积B.交C.并D.自然连接 解析:解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性
34、组,并且在结果中把重复的属性列去掉,所以根据 T 关系中的有序组可知 R 与 S 进行的是自然连接操作。11.下列叙述中正确的是( )。(分数:2.00)A.MsgBox 语句的返回值是一个整数B.执行 MsgBox 语句并出现信息框后,不用关闭信息框即可执行其他操作C.MsgBox 语句的第一个参数不能省略 D.如果省略 MsgBox 语句的第三个参数(Title),则信息框的标题为空解析:解析:Msgbox 语句的功能:显示消息提示框,在对话框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。它有 2 种形式: MsgBox 函数格式: 变量MsgBox(,样式,标题),注意
35、 MsgBox 函数带括号,有返回值。 MsgBox 语句格式: MsgBox(,样式,标题),有无括号都可以,无返回值。故 A 选项错误。 其中: 第 1 个参数:提示内容是必需的,不能省略。故 C 选项正确。 第 2 个参数:可选。整型表达式,缺省值 0,指定信息框中按钮数目、类型、图标类型、缺省按钮等。 第 3 个参数:可选,如果省略,则标题栏并不为空默认显示它所属的工程名。故 D 选项错误。 执行MsgBox 语句时出现信息框后,必须关闭信息框才可执行其他操作。故 B 选项错误。12.语句 Dim a(3 To 4,3 To 6)As Integer 定义的数组的元素个数是( )。(分
36、数: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 列),因此数组元素个数是 8432,故选 D。13.设窗体文件中有下面的事件过程:Private Sub Command1_Click() Dim s a%100 Print aEnd Sub 其中变量 a 和 s 的数据类型分别是( )。(分数:2.00)A.整型,整型B.变体型,变体型C.整型,变体型 D.变体型,整型解析:解析:变量 s 定义时没有指明数据类型,默认为 Variant 变体
37、型。变量 a 是用整型的类型符号%声明,并同时赋值 100,所以变量 a 的数据类型为整型。故 C 选项正确。14.下面不能在信息框中输出“VB“的是( )。(分数:2.00)A.MsgBox “VB“B.xMsgBox(“VB“)C.MsgBox(“VB“)D.Call MsgBox “VB“ 解析:解析:Msgbox 的功能:显示消息提示框,在对话框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。 MsgBox 函数格式:变量MsgBox(,样式,标题),注意 MsgBox 函数带括号,有返回值; MsgBox 语句格式:MsgBox(,样式,标题),有无括号都可以,无返回
38、值。 选项D 中用 Call 语句调用 MsgBox 函数,要符合 Call 语句的语法规则:Call 函数名(实参表),缺少括号,应该为 Call MsgBox(“VB“),语法才正确。故 D 选项不能输出“VB“,会出错。15.现有语句: yIIf(x0, x Mod 3, 0)设 x10,则 y 的值是( )。(分数:2.00)A.0B.1 C.3D.语句有错解析:解析:IIF 是条件函数,它的语法格式是: IIf(,),本题中,x10 时,条件表达式 x0 的值为 True,执行 x Mod 3 即 10 Mod 3 结果为 1。故选 B。16.窗体上有一个菜单编辑器设计的菜单。运行程
39、序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。下列说法错误的是( )。 (分数:2.00)A.在设计“粘贴“菜单项时,在菜单编辑器窗口中设置了“有效“属性(有“) B.菜单中的横线是在该菜单项的标题输入框中输入了一个“-“(减号)字符C.在设计“选中“菜单项时,在菜单编辑器窗口中设置了“复选“属性(有“)D.在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见“前面的“解析:解析:快捷菜单中的“粘贴“菜单项为无效时,在菜单编辑器窗口中“有效“属性应该是不选中状态,没有“,故 A 选项错误。17.假定有以下循环结构:Do Until 条件表达式 循环体 Loop 则以下正确的
40、描述是( )。(分数:2.00)A.如果“条件表达式“的值是 0,则一次循环体也不执行B.如果“条件表达式“的值不为 0,则至少执行一次循环体C.不论“条件表达式“的值是否为“真“,至少要执行一次循环体D.如果“条件表达式“的值恒为 0,则无限次执行循环体 解析:解析:本题的 Do Until Loop 循环结构是先判断,再执行的结构。 Do Until 循环语句执行的过程是,先判断条件表达式的值,如果条件表达式的值为 0 或 False 时,即条件不成立时,则执行循环体,否则当条件表达式的值为非 0 或 True 时,即成立,则退出 DOLoop 循环。 本题中,选项 A 条件表达式的值是
41、0,说明条件不成立,执行循环体。故 A 错误。 选项 B 条件表达式的值不为 0,说明条件成立,退出循环。故 B 错误。 选项 C 中 Do UntilLoop 语句中条件表达式的值为“假“时,才至少执行一次循环体,故 C 错误。 选项 D 中条件表达式的值恒为 0,说明表达式总是不成立,所以可无限执行循环体,故 D 选项正确。18.执行语句 Dim X, Y As Integer 后( )。(分数:2.00)A.X 和 Y 均被定义为整型变量B.X 和 Y 均被定义为变体类型变量C.X 被定义为整型变量,Y 被定义为变体类型变量D.X 被定义为变体类型变量,Y 被定义为整型变量 解析:解析:
42、声明变量时可以同时声明多个变量,但要分别说明每个变量的数据类型。如果定义变量时不说明数据类型,默认是 Variant 变体类型变量。 本题中用 Dim 同时定义了两个变量 X、Y,变量 X 没说明数据类型,所以是 Variant 型变量,Y 是整型变量。故选 D 选项正确。19.在程序运行时,下面的叙述中正确的是( )。(分数:2.00)A.用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load 事件过程B.用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C.只装入而不显示窗体,也会执行窗体的 Form_Load 事件过程 D.装入窗体后,每次显示该窗体时,
43、都会执行窗体的 Form_Click 事件过程解析:解析:如果窗体是活动的,那么在窗体上按下鼠标右键(尚未松手抬起),即会触发Form_MouseDown 事件,松手抬起后,要先触发 Form_MouseUp 事件,然后再触发 Form_Click 事件。如果窗体原先是非活动的,还会触发 Form_GotFocus 事件,并且它最先发生。Form_Load 事件是窗体显示之前,加载时触发,单击窗体时不触发。故 A 选项错误。 用鼠标左键单击窗体标题栏时,不会执行 Form_Click事件过程。故 B 选项错误。 装入窗体后,每次显示该窗体时或窗体成为活动窗体时,都会执行From_Active
44、窗体的激活事件。故 D 选项错误。20.下列有关文件的叙述中,正确的是( )。(分数:2.00)A.以 Output 方式打开一个不存在的文件时,系统将显示出错信息B.以 Append 方式打开的文件,既可以进行读操作,也可以进行写操作C.在随机文件中,每个记录的长度是固定的 D.无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的解析:解析:A 选项错误原因:当以 Output 方式打开一个不存在的顺序文件时,Open 语句会首先创建该文件,然后再打开它,系统不会出错。 B 选项错误原因:以 Append 方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进
45、行读操作。 D 选项错误原因:VB 中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。 C 选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故 C 选项正确。21.VB 中有 3 个键盘事件:KeyPress、KeyDown、KeyUp,若光标在 Text1 文本框中,则每输入一个字母( )。(分数:2.00)A.这 3 个事件都会触发 B.只触发 KeyPress 事件C.只触发 KeyDown、KeyUp 事件D.不触发其中任何一个事件解析:解析:当用户按下某键时触发 KeyDown 和 KeyPress 事件,放开
46、某键时触发 KeyUp 事件。故每输入一个字符,这 3 个事件都会触发。故 A 选项正确。22.设窗体的名称为 Form1,标题为 Win,则窗体的 MouseDown 事件过程的过程名是( )。(分数:2.00)A.Form1_MouseDownB.Win_MouseDownC.Form_MouseDown D.MouseDown_Form1解析:解析:事件过程名格式是:控件名_事件过程名。Form1 是窗体控件的名称,Win 是窗体的标题,所以窗体的 MouseDown 事件过程名是:Form1_MouseDown,故选 A。23.窗体上有一个名称为 HScroll1 的滚动条,程序运行后
47、,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是( )。(分数:2.00)A.Private Sub HScroll1_Change() Print HScroll1.Value End Sub B.Private Sub HScroll1_Change() Print HScroll1.SmallChange End SubC.Private Sub HScroll1_Scroll() Print HScroll1.Value End SubD.Private Sub HScroll1_Scroll() Print HScroll1.Sm
48、allChange End Sub解析:解析:根据题意可知,用户的操作是单击滚动条两端的箭头,故触发的是滚动条的 Change 事件;在窗体上显示的是滚动框的位置,即滚动条的当前刻度值,Value 属性值可返回这个值,综合一下,故 A选项正确。24.若已把一个命令按钮的 Default 属性设置为 True,则下面可导致按钮的 Click 事件过程被调用的操作是( )。(分数:2.00)A.用鼠标右键单击此按钮B.按键盘上的 Esc 键C.按键盘上的回车键 D.用鼠标右键双击此按钮解析:解析:当命令按钮的 Default 属性值为 True 时,程序运行,按回车键和单击该命令按钮一样都会触发按钮的 Click 事件;当命令按钮的 Cancel 属性值为 True 时,程序运行,按 Esc 键和单击该命令按钮都会触发按钮的 Click 事件。故选 C。25.假定通过复制、粘贴操作建立了一个命令按钮数组