1、二级 VISUAL+BASIC-62 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.数据库管理系统是_。(分数:2.50)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统2.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合3.下面控件中,没有 Caption 属性的是_。(分数:2.50)A.复选框B.单选按钮C.组合框D.框架4.以下变量名中合法的是_。(分数:2.50)A.x2-1B.printC.str_nD.2x5.下列数据结构
2、中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.循环队列B栈C.队列D.二叉树6.下列选项中不属于结构化程序设计原则的是_。(分数:2.50)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:2.50)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.循环队列B.带链队列C.二叉树D.带链栈9.在 E-R 图中,用来表示实体联系的图形是_。(分数:2.50)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R,S 和 T 如下: (分数:2.50)A.选择B.投影C交D
3、并11.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数12.把数学表达式 (分数:2.50)A.(5x+3)/(2y-6)B.x*5+3/2*y-6C.(5*x+3)(2*y-6)D.(x*5+3)/(y*2-6)13.下面有关标准模块的叙述中,错误的是_。(分数:2.50)A.标准模块不完全由代码组成,还可以有窗体B.标准模块中的 Private 过程不能被一程中的其他模块调用C.标准模块的文件扩展名为.basD.标准模块中的全局变量可以被工作中任何模块引用14
4、.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针15.用来设置文字字体是否斜体的属性是_。(分数:2.50)A.FontUnderlineB.FontBoldC.FontSlopeD.FontItalic16.若看到程序中有以下事件过程,则可以肯定的是,当程序运行时_。 Private Sub Click_MouseDown(Button As Integer,Shift As Integer,X As Single,YAs Single) Print “VB
5、 Program“ End Sub(分数:2.50)A.用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程B.用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程C.用鼠标右键单击名称为“MouseDown”的命令按钮时,执行此过程D.用鼠标左键或右键单击名称为“Click”的命令按钮时,执行此过程17.可以产生 30-50(含 30 和 50)之间的随机整数的表达式是_。(分数:2.50)A.Int(Rnd*21+30)B.Int(Rnd*20+30)C.Int(Rnd*50-Rnd*30)D.Int(RND*30+50)18.在程序运行时,下面的叙述中不正确的是
6、_。(分数:2.50)A.用鼠标右键单击窗体中任何无控件部分,会执行窗体的 Form_Load 事件过程B.用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C.只装入而不显示窗体,也会执行窗体的 Form_Load 事件过程D.装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click 事件过程19.窗体上有名称为 Command1 的命令按钮和名称为 Text1 的文本框 Private Sub Command1_Click() Text1.Text=“程序设计“ Text1.SeFocus End Sub Private Sub Text1_GotFocus
7、() Text1.Text=“等级考试“ End Sub 运行以下程序,单击命令按钮后_。(分数:2.50)A.文本框中显示的是“程序设计“,且焦点在文本框中B.文本框中显示的是“等级考试“,且焦点在文本框中C.文本框中显示的是“程序设计“,且焦点在命令按钮上D.文本框中显示的是“等级考试“,且焦点在命令按钮上20.窗体上有名称为 Option1 的单选按钮,且程序中有语句: IfOption1.Value=True Then 下面语句中与该语句不等价的是_。(分数:2.50)A.If Option1.Value ThenB.If Option1=True ThenC.If Value=Tru
8、e ThenD.If Option1 Then21.设窗体上有 1 个水平滚动条,已经通过属性窗口把它的 Max 属性设置为 1,Min 属性设置为 100。下面叙述中正确的是_。(分数:2.50)A.程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就增加B.程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就减少C.由于滚动条的 Max 属性值小于 Min 属性值,程序会出错D.由于滚动条的 Max 属性值小于 Min 属性值,程序运行时滚动条的长度会缩为一点,滚动块无法移动22.有如下过程代码: Sub var_dim() static numa As Integer
9、 Dim numb As Integer numa=numa+2 numb=numb+1 print numa; mub End Sub 连续 3 次调用 var_dim 过程,第 3 次调用时的输出是_。(分数:2.50)A.2 1B.2 3C.6 1D.6 323.在窗体上画 1 个命令按钮,并编写如下事件过程: private Sub Command1_Click() For i=5 To 1 Step-0.8 Print Int(i); Next i End Sub 运行程序,单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.5 4 3 2 1 1B.5 4 3 2 1C.4
10、3 2 1 1D.4 4 3 2 1 124.在窗体上画 1 个命令按钮,并编写如下事件过程: Private Sub Command1_Click() Dim a(3,3) For m=1 To 3 For n=1 To 3 If n=m or n=4-m Then a(m,n)=m+n Else a(m,n)=0 End If Print a(m,n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.2 0 00 4 00 0 6B.2 0 40 4 04 0 6C.2 3 03 4 00 0 6D.2 0 00
11、 4 50 5 625.设有以下函数过程: Function fun(a As Integer,b As Integer) Dim c As Ineger If ab Then c=a:a=b:b=c End IF c=0 Do c=c+a Loop Until c Mod b=0 fun=c End Function 若调用函数 fun 时的实际参数都是自然数,则函数返回的是_。(分数:2.50)A.a、b 的最大公约数B.a、b 的最小公倍数C.a 除以 b 的余数D.a 除以 b 的商的整数部分26.窗体上有 1 个名称为 Text1 的文本框;1 个名称为 Timer1 的计时器控件,
12、其 Interval 属性值为5000,Enabled 属性值是 True。Timer1 的事件过程如下: Private Sub Timer1_Timer() Static flag As Integer If Flag=0 Then Flag=1 Flag=-flag If flag=1 Then Text1.ForeColor=y End Sub 运行程序后单击命令按钮,窗体上显示的是_。(分数:2.50)A.100 100B.100 120C.110 100D.110 12029.设 a、b 都是自然数,为求 a 除以 b 的余数,某人编写了以下函数: Eunction fun(a A
13、s Integer,b As Integer) While ab a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是_。(分数:2.50)A.把 a=a-b 改为 a=b-aB.把 a=a-b 改为 a=a/bC.把 While ab 改为 While abD.把 While ab 改为 While a=b30.下列关于通用对话框 CommonDialog1 的叙述中,错误的是_。(分数:2.50)A.只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开B.使用 CommoDialog1.Sho
14、wColor 方法,可以显示“颜色”对话框C.CancelError 属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告D.在显示“字体”对话框前,必须先设置 CommonDialog1 的 Flags 属性,否则会出错31.在利用菜单编辑设计菜单时,为了把组合键”Alt+X”设置为”退出(X)”菜单项的访问键,可以将该菜单项的标题设置为_。(分数:2.50)A.退出(X mub End Sub 连续 3 次调用 var_dim 过程,第 3 次调用时的输出是_。(分数:2.50)A.2 1B.2 3C.6 1 D.6 3解析:解析 Static 是将变量声明为静态变量,每次调用值
15、会取上次调用后的值。而 numb 是局部变量,每次会重新初始化,所以应选 C 选项。23.在窗体上画 1 个命令按钮,并编写如下事件过程: private Sub Command1_Click() For i=5 To 1 Step-0.8 Print Int(i); Next i End Sub 运行程序,单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.5 4 3 2 1 1 B.5 4 3 2 1C.4 3 2 1 1D.4 4 3 2 1 1解析:解析 step 可以设置 For 循环的步长,所以程序执行 6 次,Int(i)是求不大于自变量 i 的最大整数。24.在窗体上画
16、1 个命令按钮,并编写如下事件过程: Private Sub Command1_Click() Dim a(3,3) For m=1 To 3 For n=1 To 3 If n=m or n=4-m Then a(m,n)=m+n Else a(m,n)=0 End If Print a(m,n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为_。(分数:2.50)A.2 0 00 4 00 0 6B.2 0 40 4 04 0 6 C.2 3 03 4 00 0 6D.2 0 00 4 50 5 6解析:解析 本题考查了嵌套的 For
17、循环,答案为 B 选项。25.设有以下函数过程: Function fun(a As Integer,b As Integer) Dim c As Ineger If ab Then c=a:a=b:b=c End IF c=0 Do c=c+a Loop Until c Mod b=0 fun=c End Function 若调用函数 fun 时的实际参数都是自然数,则函数返回的是_。(分数:2.50)A.a、b 的最大公约数B.a、b 的最小公倍数 C.a 除以 b 的余数D.a 除以 b 的商的整数部分解析:解析 本题考查了 Do Loop 循环,实现的是最小公倍数。本题中 If 语句实
18、现了 a 和 b 交换。26.窗体上有 1 个名称为 Text1 的文本框;1 个名称为 Timer1 的计时器控件,其 Interval 属性值为5000,Enabled 属性值是 True。Timer1 的事件过程如下: Private Sub Timer1_Timer() Static flag As Integer If Flag=0 Then Flag=1 Flag=-flag If flag=1 Then Text1.ForeColor=y End Sub 运行程序后单击命令按钮,窗体上显示的是_。(分数:2.50)A.100 100B.100 120C.110 100D.110
19、120 解析:解析 本题考查的是变量的作用域。在 Call var_pub 中使用的是全局变量 x,所以x=x+100=10+100=110,y=y+100=20+100=120。29.设 a、b 都是自然数,为求 a 除以 b 的余数,某人编写了以下函数: Eunction fun(a As Integer,b As Integer) While ab a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是_。(分数:2.50)A.把 a=a-b 改为 a=b-aB.把 a=a-b 改为 a=a/b C.把 While
20、ab 改为 While abD.把 While ab 改为 While a=b解析:解析 求余运算符为“/”。30.下列关于通用对话框 CommonDialog1 的叙述中,错误的是_。(分数:2.50)A.只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开 B.使用 CommoDialog1.ShowColor 方法,可以显示“颜色”对话框C.CancelError 属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告D.在显示“字体”对话框前,必须先设置 CommonDialog1 的 Flags 属性,否则会出错解析:解析 “打开”对话框单击“打开”按
21、钮能够返回文件路径,但不打开文件,将选中的文件打开需要在程序中另行处理。31.在利用菜单编辑设计菜单时,为了把组合键”Alt+X”设置为”退出(X)”菜单项的访问键,可以将该菜单项的标题设置为_。(分数:2.50)A.退出(X&)B.退出(&X) C.退出(X#)D.退出(#X)解析:解析 组合键的设置是在标题的相应字母前加“&”符。32.在窗体上面 1 个命令按钮和 1 个文本框,其名称为 Command1 和 Text1,再编写如下程序: Dim ss As String Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyA
22、scii)“Then ss=ss+Chr(KeyAscii) End Sub Private Sub Command1_Click() Dim m As String,i As Integer For i=Len(ss)To 1 Step-1 m=m+Mid(ss,i,1) Next Text1.Text=UCase(m) End Sub 程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的就是_。(分数:2.50)A.NUMBER 100B.REBMUNC.REBMUN 100D.001 REBMUN 解析:解析 本题是从后往前依次取 ss 的字符加到 m 后
23、,起到了逆序输出的结果。33.窗体上有一个名称为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click() Dim m As Integer, n As Integer m=InputBox(“输入第一个数“) n=InputBox(“输入第二个数“) Do While mn Do While mn m=m-n Loop Do While nm n=n-m Loop Loop Print m End Sub 该程序的功能是_。(分数:2.50)A.求数值 m 和 n 的最大公约数 B.求数值 m 和 n 的最小公倍数C.求数值 m 和 n 中的较大
24、数D.求数值 m 和 n 中的较小数解析:解析 此题的算法为经典的辗转相减法求最大公约数算法,也可用特殊值法求解。34.下列有关文件叙述小,正确的是_。(分数:2.50)A.以 Output 方式打开一个不存在的文件时,系统将显示出错信息B.以 APPend 方式打开的文件,既可以进行读操作,也可以进行写操作C.在随机文件中,每个记录的长度是固定的 D.无论是顺序文件还是随机文件,其打开的浯句和打开方式都是完全相同的解析:解析 随机文件的记录是定长的。35.窗体如图 1 所示。要求程序运行时,在文本框 Text1 中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框 Li
25、st1 中所有该姓氏的项目。若编写以下程序来实现如此功能: (分数:2.50)A.For k=List1.ListCount-1 To 0 Step-1 B.For k=0 To List1.ListCountC.For k=1 To List1.ListCount-1D.For k=1 To List1.ListCount解析:解析 在执行 RemoveItem 时,会改变该序号 item 之后的列表内容的序号,因此,循环删除应从后向前操作。36.现有以下程序: Private Sub Command1_Click() c1=0 c2=0 For i=1 To 100 If i Mod 3=
26、0 Then c1=c1+1 Else If i Mod 7=0 Then c2=c2+1 End If Next i Print c1+c2 End Sub 此程序运行后输出的是在 1100 范围内_。(分数:2.50)A.同时能被 3 和 7 整除的整数个数B.能被 3 或 7 整除的整数个数(同时被 3 和 7 整除的数只记一次) C.能被 3 整除,而不能被 7 整除的整数个数D.能被 7 整除,而不能被 3 整除的整数个数解析:解析 i 是 1 到 100 的循环,在程序中,对 3 和 7 取模,显然就是 3 和 7 的倍数关系。需要注意的是 If 和 else 语句分别判断 3 和
27、 7 的倍数而同时是 21 倍数的时候会不计,这有别于传统的计数方法。37.设菜单编辑器中各菜单项的属性设置如下表所示: 序号 标题 名称 复选 有效 可见 内缩符号 1 File File 无 2 Open OpenFile 1 3 Save SaveFile 1 4 Exit EndOfAll 1 5 Help ShowHelp 1 针对上述属性设置,以下叙述中错误的是_。(分数:2.50)A.属性设置有错,存在“标题”与“名称”重名现象 B.运行程序,序号为“3”的菜单项不显示C.运行程序,序号为“4”的菜单项不可用D.运行程序,序号为“5”的菜单项前显示“”解析:解析 标题与名称没有直
28、接关系,标题就是一个字符串。38.窗体上有一个名称为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click() x=15 Do While x0 x=x-3 x=IIf(Int(x/5)=x/5,x+2,x) Loop Print x End Sub 程序运行后,单击命令按钮 Command1,输出结果为_。(分数:2.50)A.0B.-1 C.-2D.-3解析:解析 根据算法,第一次循环,x=14,第二次循环,x=11,第三次,x=8,以此类推,x=5,2,-1,当0 时,x 为-1。39.以下关于通用对话框的叙述中,错误的是_。(分数:2.50
29、)A.若没有指定 InitDir 属性值,则起始目录为当前日录B.用一个通刚对话框控件可以建立几种不同的埘话框C.File Title 属性指明了文件对话框中所选择的文件名D.文件对话框用属性 FilterIndex 指定默认过滤器,它是一个从 0 开始的整数 解析:解析 FilterIndex 是从 1 开始。40.窗体的左右两端各有 1 直线,名称分别为 Line1、Line2;名称为 Shape1 的圆靠在左边的 Line1 直线上(见图);另有 1 个名称为 Timer1 的计时器控件,其 Enabled 属性值是 True。要求程序运行后,圆每秒向有移动 100,当圆遇到 Line2
30、 时则停止移动。为实现上述功能,某人把计时器的 Interval 属性设置为1000,并编写了如下程序: (分数:2.50)A.把计时器的 Interval 属性设置为 1B.把 For k=line1.X1 To Line2.X1 Step 100 和 Next k 两行删除 C.把 For k=Line1.X1 To Line2.X1 Step 100 改为 For k=Line2.X1 To Line1.X1 Step 100D.把 If Shape1.Left+Shepe1.WidthLine2.X1 Then 改为 If Shape1.LeftLine2.X1 Then解析:解析 计时器的 Interval 属性为计时器计时间隔,具有自动触发的功能,每一次触发都会调用Timer 事件(实现类似循环的效果),所以不应该再在里面写上该 For 循环。