admin 管理员组文章数量: 887021
2023年12月21日发(作者:伦勃朗光用手机怎么拍)
计算机等级考试二级VISUAL BASIC机试6
(总分100,考试时间90分钟)
一、选择题
1. VB中有这样一类文件:该文件不属于任何一个窗体,而且仅包含程序代码,这类文件的扩展名是( )。
A) . vbp B) . bas C) . vbw D) . frm
2. 下列关于栈叙述正确的是( )。
A) 栈顶元素最先能被删除 B) 栈顶元素最后才能被删除
C) 栈底元素永远不能被删除 D) 栈底元素最先被删除
3. 软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A) 学生成绩管理系统 B) C语言编译程序
C) UNIX操作系统 D) 数据库管理系统
4. 向文本框中输入字符时,下面能够被触发的事件是( )。
A) GotFocus B) KeyPress C) Click D) MouseDown
5. 要删除列表框中最后一个列表项,正确的语句是( )。
A) List1. RemoveItem ListCount B) List1. RemoveItem List1. ListCount
C) List1. RemoveItem ListCount - 1 D) List1. RemoveItem List1. ListCount
- 1
6. 满足下列条件之一的年份是闰年:
1)年份能被4整除但不能被100整除
2)年份能被400整除
若y代表年份,下面判断闰年的正确表达式是( )。
A) y Mod 4 And y Mod 100 Or y Mod 400
B) y Mod 4 =0 Or y Mod 100 < >0 And y Mod 400 =0
C) y Mod 100 < >0 And(y Mod 4 =0 Or y Mod 400 =0)
D) y Mod 4 =0 And y Mod 100 < >0 Or y Mod 400 =0
7. 能够产生1到50之间(含1和50)随机整数的表达式是( )。
A) Int(Rnd*51) B) Int(Rnd(50)+1) C) Int(Rnd*50) D) Int(Rnd*50+1)
8. 以下关于键盘事件的叙述中,错误的是( )。
A) 按下键盘按键既能触发KeyPress事件,也能触发KeyDown事件
B) KeyDown、KeyUp事件过程中,大、小写字母被视作相同的字符
C) KeyDown、KeyUp事件能够识别Shift、Alt、Ctrl等键
D) KeyCode是KeyPress事件的参数
9. 结构化程序所要求的基本结构不包括( )。
A) 顺序结构 B) GOTO跳转
C) 选择(分支)结构 D) 重复(循环)结构
10. 关于KeyPress事件,以下叙述中正确的是( )。
A) 在控件数组的控件上按键盘键,不能触发KeyPress事件
B) 按下键盘上任一个键时,都能触发KeyPress事件
C) 按字母键时,拥有焦点的控件的KeyPress事件会被触发
D) 窗体没有KeyPress事件
11. 要求如果x被7除余2,则输出x的值,下列语句中不能实现此功能的语句是( )。
A) If x mod 7 = 2 Then Print x B) If x - (x7) * 7 = 2 Then Print x
C) If x - (x/7) * 7 = 2 Then Print x D) If x - Int(x/7) * 7 = 2 Then Print x
12. 设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框:
Private Sub Command1_Click()
CD1. DialogTitle = "打开文件"
CD1. InitDir = "C: "
CD1. Filter = "所有文件| *. * |Word文档| *. doc |文本文件| *. txt"
CD1. FileName = " "
CD1. Action = 1
If CD1. FiteName = " " Then
Print"未打开文件"
Else
Print"要打开文件" & CD1. FileName
End If
End Sub
但实际显示的对话框中列出了C: 下的所有文件和文件夹,“文件类型”一栏中显示的是“所有文件”。下面的修改方案中正确的是( )。
A) 把CD1. Action=1改为CD1. Action=2
B) 把 "CD1. Filter=" 后面字符串中的 "所有文件" 改为 "文本文件"
C) 在语句CD1. Action=1的前面添加:CD1. FilterIndex=3
D) 把CD1. FileName=" " 改为CD1. FileName="文本文件
13. 窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。
为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:
Private Sub Timer1_Timer()
For k = Line1. X1 To Line2. X1 Step 100
If Shape1. Left + Shape1. Width < Line2. X1 Then
Shape1. Left = Shape1. Left + 100
End If
Next k
End Sub
运行程序时发现圆立即移动到了右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是( )。
A) 把计时器的Interval属性设置为1
B) 把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 100
D) 把If Shape1. Left+Shape1. Width<Line2. X1 Then改为If Shape1. Left<Line2. X1
Then
14. 如果在窗体模块中所有程序代码的前面有语句:Dim x,则x是( )。
A) 全局变量 B) 局部变量
C) 静态变量 D) 窗体级变量
15. 设a、b都是自然数,为求a除以b的余数,某人编写了以下函数:
Function fun(a As Integer, b As Integer)
While a>b
a=a-b
Wend
fun=a
End Function
在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是( )。
A) 把a=a-b改为a=b-a B) 把a=a-b改为a=ab
C) 把While a>b改为While a<b D) 把While a>b改为While a>=b
16. 在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,再编写如下程序:
Dim ss As String
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Chr(KeyAseii) < > Then ss = ss + Chr(KeyAseii)
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”,并单击命令按钮,则文本框中显示的是( )。
A) NUMBER 100 B) REBMUN C) REBMUN 100 D) 001 REBMUN
17. 有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是( )。
A) 自然连接 B) 并 C) 交 D) 差
18. 设工程中有2个窗体:Form1、Form2,Form1为启动窗体。Form2中有菜单,其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为“Teacher”,所有菜单都可见;否则看不到“成绩录入”菜单项。为此,某人在Form1窗体文件中编写如下程序: 菜单结构
标题 名称 级别
成绩管理 mark 1
成绩查询 query 2
成绩录入 input 2
Private Sub Text11_KeyPress(KeyAscii As Integer)
If KeyAseii = 13 Then
If Text1. Text = "Teacher" Then
Form2. input. Visible = True
Else
Form2. input. Visible = False
End If
End If
Form1. Hide
Form2. Show
End Sub
程序运行时发现刚输入口令时就隐藏了Form1,显示了Form2,程序需要修改。下面修改方案中正确的是( )。
A) 把Form1中Text1文本框及相关程序放到Form2窗体中
B) 把Form1. Hide、Form2. Show两行移到2个End If之间
C) 把If KeyAscii=13 Then改为If KeyAscii="Teacher" Then
D) 把2个Form2. input. Visible中的“Form2. ”删去
19. 以下关于窗体的叙述中错误的是( )。
A) 窗体的Hide方法将窗体隐藏并卸载
B) 窗体的Show方法可以将窗体装入内存并显示该窗体
C) 若工程中包含多个窗体,则可指定一个为启动窗体
D) 窗体的Load事件在加载窗体时发生
20. 窗体上有一个名称为VScroll1的滚动条,当用鼠标拖动滚动条中的滚动块时,触发的事件是( )。
A) Click B) KeyDown C) DragDrop D) Scroll
21. 下面程序计算并输出的是( )。
Private Sub Command1_Click()
a=10
s=0
Do
s=s+a*a*a
a=a-1
Loop Until a < = 0
Print s
End Sub
A) 133+23+33+ … +103的值
B) 10!+ … +3!+2!+1!的值
C) (1+2+3+…+10)3的值
D) 10个103的和
22. 窗体如图1所示。要求程序运行时,在文本框Text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现此功
能:
Private Sub Command1_Click()
Dim n%, k%
n = Len(Text1. Text)
For k = 0 To List1. ListCount - 1
If Left (List1. List (k), n) = Text1. Text Then
List1. RemoveItem k
End If
Next k
End Sub
在调试时发现,如输入“陈”,可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除了“刘邦”、“刘备”2项,结果如图2所示。这说明程序不能适应所有情况,需要修改。正确的修改方案是把For k=0 To List1.Listcount-1改为( )。
A) For k = List1. ListCount - 1 To 0 Step - 1 B) For k = 0 To List1. ListCount
C) For k = 1 To List1. ListCount - 1 D) For k = 1 To List1. ListCount
23. 在菜单编辑器中建立如下图所示的菜单,并为了每个菜单项编写了鼠标单击事件过程。
关于此菜单,以下叙述中错误的是( )。
A) 针对此菜单进行操作,单击“斜体”菜单项时,将执行它的鼠标单击事件过程
B) 针对此菜单进行操作,单击“下划线”菜单项时,“√”被去掉
C) 针对此菜单进行操作,单击“退出”菜单项时,不能执行对应的单击事件过程
D) 针对此菜单进行操作,单击“编辑”菜单项时,打开下拉菜单,但不执行相应的单击事件过程
24. 若要把窗体上命令按钮Command1的状态设置为不可用,应该执行的命令是( )。
A) Command1. Enabled = False B) Command1. Visible = False
C) Command1. Cancel = False D) Command1. Default = False
25. 表达式Sgn(0.25)的值是( )。
A) -1 B) 0 C) 1 D) 0.5
26. 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
A) 3 B) 4 C) 6 D) 7
27. 计算下面分段函数的正确语句是( )。
A) y=IIf(x>0, x+1, IIf(x<0, x-1, 0))
B) y=IIf(x=0, 0, IIf(x>0, x-1, x+1))
C) y=IIf(x>0, x+1, IIf(x<0, 0, x-1))
D) y=IIf(x=0, 0, x-1, x+1)
28. 下列叙述中正确的是( )。
A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D) 以上说法都不正确
29. 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
A) -369 B) 369
C) 0.369 D) 整数集合1,2,3,4,5
30. 为计算1+2+22+23+24+…+210的值,并把结果显示在文本框Text1中,若编写如下事件过程:
Private Sub Command1 Click()
Dim a&, s&, k&
s=1
a=2
For k = 2 To 10
a=a*2
s=s+a
Next k
Text1. Text = s
End Sub
执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是( )。
A) 把s=1改为s=0
B) 把For k = 2 To 10改为For k = 1 To 10
C) 交换语句s=s+a和a=a*2的顺序
D) 把For k = 2 To 10改为For k = 1 To 10、交换语句s=s+a和a=a*2的顺序
31. 窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:
Private Sub Command1_Click()
Dim n
If Text1. Text < > "123456" Then
n=n+1
Print "口令输入错误" & n & "次"
End If
End Sub
希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是( )。
A) 在Dim n语句的下面添加一句:n=0
B) 把Print "口令输入错误" &n& "次" 改为Print "口令输入错误"+n+ "次"
C) 把Print "口令输入错误" &n& "次" 改为Print "口令输入错误"& Str(n)& "次"
D) 把Dim n改为Static n
32. 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。
A) 1:1联系 B) 1:m联系 C) m:1联系 D) m:n联系
33. 以下关于通用对话框的叙述中,错误的是( )。
A) 在程序运行状态下,通用对话框控件是不显示的
B) 通用对话框控件是Visual Basic的标准控件
C) 设计时,通用对话框控件的大小是固定的,不能改变
D) 在同一个程序中,一个通用对话框控件可以作为打开、保存等多种对话框
34. 负责数据库中查询操作的数据库语言是( )。
A) 数据定义语言 B) 数据管理语言
C) 数据操纵语言 D) 数据控制语言
35. 下面描述中错误的是( )。
A) 系统总体结构图支持软件系统的详细设计
B) 软件设计是将软件需求转换为软件表示的过程
C) 数据结构与数据库设计是软件设计的任务之一
D) PAD图是软件详细设计的表示工具
36. 设工程中有Form1、Form2两个窗体,要求单击Form2上的Command1命令按钮,Form2就可以从屏幕上消失,下面的事件过程中不能实现此功能的是( )。
A) Private Sub Command1_Click()
Form2. Hide
End Sub
B) Private Sub Command1_Click()
Unload Me
End Sub
C) Private Sub Command1_Click()
Form2. Unload
End Sub
D) Private Sub Command1_Click()
Me. Hide
End Sub
37. 窗体上有一个名称为Text1的文本框;一个名称为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 = &HFF& '&HFF& 为红色
Else
Text1. ForeColor = &HC000& '&HC000& 为绿色
End If
End Sub
以下叙述中正确的是( )。
A) 每次执行此事件过程时,flag的初始值均为0
B) flag的值只可能取0或1
C) 程序执行后,文本框中的文字每5秒改变一次颜色
D) 程序有逻辑错误,Else分支总也不能被执行
38. 以下关于事件、事件驱动的叙述中,错误的是( )。
A) 事件是可以由窗体或控件识别的操作
B) 事件可以由用户的动作触发
C) 一个操作动作只能触发一个事件
D) 事件可以由系统的某个状态的变化而触发
39. 如下关于变体类型变量的叙述中,错误的是( )。
A) 变体类型数组中只能存放同类型数据
B) 使用Array初始化的数组变量,必须是Variant类型
C) 没有声明而直接使用的变量其默认类型均是Variant
D) 在同一程序中,变体类型的变量可以被多次赋以不同类型的数据
40. 标准模块中有如下程序代码:
Public x As Integer, y As Integer
Sub var_pub()
x=10 : y=20
End Sub
Private Sub Command1_Click()
Dim x As Integer
Call vat_pub
x = x + 100
y = y + 100
Print x ; y
End Sub
运行程序后单击命令按钮,窗体上显示的是( )。
A) 100 100 B) 100 120 C) 110 100 D) 110 120
二、基本操作题
1. 在名称为Form1的窗体上添加三个单选按钮,其名称分别为Option1、Option2和Option3(如图1所示),然后通过属性窗口设置窗体和单选按钮的属性,实现如下功能:
①窗体标题为“设置单选按钮属性”;
②三个单选按钮的标题分别为“按钮1”、“按钮2”和“按钮3”;
③初始状态为,第一个单选按钮为“选中”;
④程序运行后,第二个单选按钮“不可用”;
⑤程序运行后,第三个单选按钮不可见。
程序的运行情况如图2所示。
要求:不编写任何代码。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1. vbp,窗体文件名为sjt1. frm。
2. 在名称为Form1的窗体上画一个垂直滚动条和一个命令按钮,其名称分别为VScroll1和Command1,编写适当的事件过程。程序运行后,如果单击命令按钮,则按如下要求设置垂直滚动条的属性:
Max=窗体高度
Min=0
LargeChange=50
SmallChange=10
如果移动垂直滚动条的滚动框,则在窗体上显示滚动框的刻度值。
程序的运行情况如图所示。
要求:不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt2. vbp,窗体文件名保存为sjt2. frm。
三、简单应用题
1. 在考生文件夹下有一个工程文件sjt3. vbp,相应的窗体文件为sjt3. fim。其功能是随机产生20个0~1000的整数,放入一个数组中,然后输出这20个整数中小于500的所有整数之和。程序运行后,单击命令按钮(名称为Command1,标题为“输出小于500的整数之和”),即可求出这些整数的和,并显示在窗体上(如图所示)。这个程序不完整,请把它补充完整,并能正确运行。
要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
2. 在考生文件夹下有一个工程文件sjt4. vbp,相应的窗体文件为sjt4. frm在窗体上有一个文本框和一个命令按钮。当程序运行后,单击命令按钮,即可计算出0~100范围内所有偶数的平方和,并显示在文本框中。在窗体的代码窗口中,已给出了部分程序,其中计算偶数平方和的操作在通用过程Fun中实现,请编写该过程的代码。
要求:请勿改动程序中的任何内容,只在Function Fun()和End Function之间填入你编写的若干语句。最后将修改后的文件按原文件名存盘。
四、综合应用题
1. 在考生文件夹下有一个工程文件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列的矩阵形式在窗体上显示出来,并输出矩阵右上-左下对角线上的数据,如图所示。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。
要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。
版权声明:本文标题:计算机等级考试二级VISUALBASIC机试6_真题-无答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703159003h440371.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论