1、二级 VISUAL+BASIC-54 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:40,分数:100.00)1.在下列选项中,那个不是一个算法一般应该具有的基本特征_。 A.无穷性 B.可行性 C.确定性 D.有穷性(分数:2.50)A.B.C.D.2.下列关于栈的叙述中正确的是_。 A.在栈中只能插入数据,不能删除数据 B.在栈中只能删除数据,不能插入数据 C.栈是先进后出(FILO)的线性表 D.栈是先进先出(FIFO)的线性表(分数:2.50)A.B.C.D.3.设有下列二叉树:(分数:2.50)A.B.C.D.4.下面描述中,符合结构化程序
2、设计风格的是_。 A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B.模块只有一个入口,可以有多个出口 C.注重提高程序的执行效率 D.不使用 goto 语句(分数:2.50)A.B.C.D.5.软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。 A.概要设计 B.软件设计 C.可行性研究和计划制定 D.需求分析(分数:2.50)A.B.C.D.6.数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。 A.加工 B.控制流 C.数据存储 D.数据流(分数:2.50)A.B.C.D.7.下列叙述中正确的是_。 A.数据库不
3、需要操作系统的支持 B.数据库不需要操作系统的支持 C.数据库是存储在计算机存储设备中的、结构化的相关数据的集合 D.数据库系统中,数据的物理结构必须与逻辑结构一致(分数:2.50)A.B.C.D.8.关系表中的每一横行称为一个_。 A.字段 B.元组 C.行 D.码(分数:2.50)A.B.C.D.9.关系数据库管理系统能实现的专门关系运算包括_。 A.选择、投影、连接 B.排序、查找、统计 C.关联、更新、排序 D.显示、打印、制表(分数:2.50)A.B.C.D.10.数据库概念设计的过程中,以下各项中不属于视图设计设计次序的是_。 A.自顶向下 B.由整体到个体 C.由内向外 D.由底
4、向上(分数:2.50)A.B.C.D.11.Visual Basic 集成环境由若干窗口组成,其中不能隐藏(关闭)的窗口是_。 A.主窗口 B.属性窗口 C.立即窗口 D.窗体窗口(分数:2.50)A.B.C.D.12.为了声明一个长度为 128 个字符的定长字符串变量 StrD,以下语句中正确的是_。 A.Dim StrD As String B.Dim StrD As String(128) C.Dim StrD As String128 D.Dim StrD As String*128(分数:2.50)A.B.C.D.13.为了用键盘打开菜单和执行菜单命令,第一步应按的键是_。 A.功能
5、键 F10 或 Alt B.Shift+功能键 F4 C.Ctrl 或功能键 F8 D.Ctrl+Alt(分数:2.50)A.B.C.D.14.如果在 Visual Basic 集成环境中没有打开属性窗口,下列可以打开属性窗口的操作是_。 A.用鼠标双击窗体的任何部位 B.执行“工程”菜单中的“属性窗口”命令 C.按 Ctrl+F4 键 D.按 F4 键(分数:2.50)A.B.C.D.15.假定已在窗体上画了多个控件,其中有一个被选中,为了在属性窗口中设置窗体的属性,预先应执行的操作是_。 A.单击窗体上没有控件的地方 B.单击任意一个控件 C.双击任意一个控件 D.单击属性窗口的标题栏(分
6、数:2.50)A.B.C.D.16.下列操作中不能向工程添加窗体的是_。 A.执行“工程”菜单中的“添加窗体”命令 B.单击工具栏上的“添加窗体”按钮 C.右击窗体,在弹出的菜单中选择“添加窗体”命令 D.右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令(分数:2.50)A.B.C.D.17.设 a=2,b=3,c=4,d=5,表达式 Not a=c Or 4*c=b2 And ba+c 的值是_。 A.-1 B.1 C.True D.False(分数:2.50)A.B.C.D. 解析:解析 计算表达式的值,先计算算术运算符,再计算关系运算符,然后计算
7、逻辑运算符(优先级从高到低为 Not And Or),最后结果为 Fasle。故 D 选项正确。18.鼠标拖放控件要触发两个事件,这两个事件是_。 A.DragOver 事件和 DragDrop 事件 B.Drag 事件和 DragDrop 事件 C.MouseDown 事件和 KeyDown 事件 D.MouseUp 事件和 KeyUp 事件(分数:2.50)A. B.C.D.解析:解析 当鼠标拖动控件到目标对象上,不松开鼠标时,触发目标对象的 DragOver 事件;松开鼠标时,就会触发目标对象的 DragDrop 事件。故选 A。19.在窗体上画一个通用对话框,程序运行中用 ShowOp
8、en 方法显示“打开”对话框时,希望在该对话框的“文件类型”栏中只显示扩展名为 DOC 的文件,则在设计阶段应把通用对话框的 Filter 属性设置为_。 A.“(*.DOC)*.DOC“ B.“(*.DOC)|(.DOC)“ C.“(*.DOC)|*.DOC“ D.“(*.DOC)|*.DOC“(分数:2.50)A.B.C.D. 解析:解析 文件对话框中的 Filter 属性是用来指定文件列表框中显示的文件类型。属性 Filter 称为过滤器,需要设置多个过滤器时可用“管道符|”将各项隔开。管道符前面是说明,后面是类型。本题只显示扩展名为 DOC 的文件,所以 Filter 属性值设置为“(
9、*.DOC)|*. DOC“。故选 D。20.以下叙述中错误的是_。 A.Print #语句和 Write #语句都可以向文件中写入数据 B.用 Print #语句和 Write #语句所建立的顺序文件格式总是一样的 C.如果用 Print #语句把数据输出到文件,则各数据项之间没有逗号分隔,字符串也不加双引号 D.如果用 Write #语句把数据输出到文件,则各数据项之间自动插入逗号,并且把字符串加上双引号(分数:2.50)A.B. C.D.解析:解析 用 Print #语句和 Write #语句都可以向文件写入数据,但输出到文件的数据的格式不同。故 B 选项错误。21.如果把命令按钮的 C
10、ancel 属性设置为 True,则程序运行后_。 A.按 Esc 键与单击该命令按钮的作用相同 B.按回车键与单击该命令按钮的作用相同 C.按 Esc 键将停止程序的运行 D.按回车键将中断程序的运行(分数:2.50)A. B.C.D.解析:解析 当一个命令按钮的 Cancel 属性被设置为 True 时,按 Esc 键与单击该命令按钮的作用相同。在一个窗体中,只能有一个命令按钮的 Cancel 属性被设置为 True。22.为了使命令按钮的 Picture、DownPicture 或 DisabledPicture 属性生效,必须把它的 Style 属性设置为_。 A.0 B.1 C.Tr
11、ue D.False(分数:2.50)A.B. C.D.解析:解析 为了使命令按钮的 Picture、DownPicture 或 DisablePicture 属性生效,必须把 Style 属性设置为 1(图形格式),否则设置的图片无效。23.列表框中被选中的数据项的位置可以通过一个属性获得,这个属性是_。 A.List B.ListIndex C.Text D.ListCount(分数:2.50)A.B. C.D.解析:解析 列表框控件的 ListIndex 属性值是已选中的表项的位置。表项位置由索引值指定,第一项的索引值为 0,第二项为 1,以此类推。如果没有任何项被选中,ListInde
12、x 的值将设置为-1。24.为了使一个复选框被禁用(灰色显示),应把它的 Value 属性设置为_。 A.0 B.1 C.2 D.False(分数:2.50)A.B.C. D.解析:解析 复选框的 Value 属性可以设置为 0、1 或 2。0 表示没有选择该复选框,1 表示选中该复选框,2 表示该复选框被禁用(灰色显示)。25.为了使文本框显示滚动条,除要设置 ScrollBars 外,还必须设置的属性是_。 A.AutoSize B.Alignment C.Multiline D.MaxLength(分数:2.50)A.B.C. D.解析:解析 为了使文本框显示滚动条,要将 ScrollB
13、ars 的值设置为非 0 的 1、2 或 3,还要设置Multiline 属性为 True。26.在窗体上画一个通用对话框,其名称为 CommonDialog1,则下列与 CommonDialog1.ShowOpen 方法等效的语句是_。 A.CommonDialog1.Action=1 B.CommonDialog1.Action=2 C.CommonDialog1.Action=3 D.CommonDialog1.Action=4(分数:2.50)A. B.C.D.解析:解析 通用对话框的属性 Action=1 与 ShowOpen 方法等效,而 Action=2 则与 ShowSave
14、等效。27.如果改变驱动器列表框的 Drive 属性,则将触发的事件是_。 A.Change B.Scroll C.KeyDown D.KeyUp(分数:2.50)A. B.C.D.解析:解析 如果改变驱动器列表框的 Driv 属性,则将触发 Change 事件。28.为了调整图像框的大小以与其中的图形相适应,必须把它的 Stretch 属性设置为_。 A.True B.False C.1 D.2(分数:2.50)A.B. C.D.解析:解析 图像框的 Strethc 属性值为 False 时,将自动放大或缩小图像框中的图形以与图像框的大小相适应。29.在窗体上添加“控件”的正确的操作方式是_
15、。 A.先单击工具箱中的控件图标,再单击窗体上适当位置 B.先单击工具箱中的控件图标,再双击窗体上适当位置 C.直接双击工具箱中的控件图标,该控件将出现在窗体上 D.直接将工具箱中的控件图标拖动到窗体上适当位置(分数:2.50)A.B.C. D.解析:解析 在窗体上添加控件有两种方法,一种是直接双击工具箱中的控件图标,该控件就会出现在窗体上,另一种是先单击工具箱中的控件图标,然后在窗体上拖动,该控件就出现在窗体上鼠标拖过的位置。30.窗体上有一个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click()Dim arr_x(5,5)As Inte
16、gerFor i=1 To 3For j=2 To 4arr_x(i,j)=i*jNext jNext iPrint arr_x(2,1); arr_x(3,2); arr_x(4,3)End Sub运行程序,并单击命令按钮,窗体上显示的内容为_。 A.0 6 0 B.2 6 0 C.0 6 12 D.2 6 12(分数:2.50)A. B.C.D.解析:解析 程序定义了一个二维数组,然后利用 For 循环对其中部分元素赋值,没有得到赋值的元素值为 0。赋值元素的第 1 维范围是 13,第 2 维范围是 24。因此在输出语句中,arr_x(2,1)第 2 维不在赋值范围所以此元素值=0,arr
17、_x(3,2)两维都在赋值范围内所以此元素值为 3。31.有如下程序:Private Sub Form_Click()Dim i As Integer,n As IntegerFor i=1 To 20i=i+4n=n+iIf i10 Then Exit ForNextPrint nEnd Sub程序运行后,单击窗体,则输出结果是_。 A.14 B.15 C.29 D.30(分数:2.50)A.B.C.D. 解析:解析 程序中 For 循环中的 If 语句判断循环变量 i 值如果大于 10 则退出循环。各次循环变量值变化如下: i=1 时,i=i+4=1+4=5,n=n+i=0+5=5,此时
18、i=5,i10 不成立,i 加 1 转入下次循环。 i=6时,i=i+4=6+4=10,n=n+i=5+10=15,此时,i=10,i10 不成立,i 加 1 转入下次循环。 i=11 时,i=i+4=11+4=15,n=n+i=15+15=30,此时,i=15,i10 成立,退出循环。此时 n=30。32.窗体上有 1 个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click()Dim num As Integer,x As Integernum=Val(InputBox(“请输入一个正整数“)Select Case numCase Is10
19、0x=x+numCase Is90x=numCase Elsex=x*numEnd SelectPrint x;End Sub运行程序,并在三次单击命令按钮时,分别输入正整数 100、90 和 60,则窗体上显示的内容为_。 A.0 0 0 B.0 0 60 C.0 90 0 D.100 0 60(分数:2.50)A.B. C.D.解析:解析 按钮事件中变量 x 为过程局部变量,第 1 次输入 100 时,Select 语句执行 Case Else 分支x=x*num=0*100=0。第二次输入 90 时,Select 语句执行 Case Else 分支 x=x*num=0*90=0。第三次输
20、入 60时 Select 语句执行 Case Is90 分支 x=num=60。因此窗体上显示为 0 0 6033.窗体上有 1 个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click()m=-3.6If Sgn(m)Thenn=Int(m)Elsen=Abs(m)End IfPrint nEnd Sub运行程序,并单击命令按钮,窗体上显示的内容为_。 A.-4 B.-3 C.3 D.3.6(分数:2.50)A. B.C.D.解析:解析 Sgn 函数返回参数的符号,参数为负数时返回-1,为 0 时,返回 0,为正数时返回 1。所以Sgn(-3
21、.6)返回-1。Visual Basic 中把任何非 0 值都认为是真,以 0 表示假,因此 if 语句中将执行n=Int(m)语句。Int 函数返回不大于参数的最大整数,Int(-3.6)要返回小于-3.6 的整数即是-4,因此n=-4。34.设有如下程序:Private Sub Form_Click()num=InputBox(“请输入一个实数“)p=InStr(num,“.“)If p0 ThenPrint Mid(num,p+1)ElsePrint “END“End IfEnd Sub运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END“;否则_。 A.用字
22、符方式输出该实数 B.输出该实数的整数部分 C.输出该实数的小数部分 D.去掉实数中的小数点,保留所有数码输出(分数:2.50)A.B.C. D.解析:解析 InStr 函数查找小数点在输入的实数中的位置,如果找不到将返回 0。Mid 函数一般有 3 个参数,从第 2 个参数指定的位置开始,在第 1 个参数字符串中截取第 3 个参数指定长度的字符,第 3 个参数可以省略,这时就一直截取到字符串尾部。因此程序的意思就是如果输入的是实数(p0 即说明找到了小数点,是实数)就输入该实数的小数部分,否则输出“END“。因此选项 C 正确。35.在窗体上画一个文本框,名称为 Text1,然后编写如下程序
23、:Private Sub Form_Load()ShowText1.Text=“Text1.SetFocusEnd SubPrivate Sub Form_Click()Dim a As String,s As Stringa=Text1.Texts=“For k=1 To Len(a)s=UCase(Mid(a,k,1)+sNext kText1.Text=sEnd Sub程序运行后,在文本框中输入一个字符串,然后单击窗体,则文本框中的内容_。 A.与原字符串相同 B.与原字符串中字符顺序相同,但所有字母均转换为大写 C.为原字符串的逆序字符串,且所有字母转换为大写 D.为原字符串的逆序字符
24、串(分数:2.50)A.B.C. D.解析:解析 程序中 Mid 函数从输入字符串左边开始逐一取一个字符转换为大写,并连接到上次取出的字符的前面,因此文本框中显示的将是原输入字符串转换为大写的并倒序排列的字符串。所以 C 正确。36.有以下通用过程:Function fun(N As Integer)s=0For k=1 To Ns=s+k*(k+1)Next kfun=sEnd Function该过程的功能是_。 A.计算 N! B.计算 1+2+3+N C.计算 12233NN D.计算 12+23+34+N(N+1)(分数:2.50)A.B.C.D. 解析:解析 由程序可知 s=1*(1
25、+1)+2*(2+1)+3*(3+1)+4*(4+1)+N*(N+1),因此选项 D 正确。37.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()a$=InputBox(“请输入一个二进制数“)n=Len(a$)For i=1 To nDec=Dec*2+ (a$,i,1)Next iPrint DecEnd Sub程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定”按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在“ “处填入的内容是_。 A.Left B.Right C.Val
26、D.Mid(分数:2.50)A.B.C.D. 解析:解析 将二进制数转换为十进制数需要将二进制数的每一位取出来进行运算,从一个数值字符串中截取一位数字字符要使用 Mid 函数,因此在程序空缺处该填入 Mid。38.设有如下事件过程:Private Sub Form_Click()Sum=0For k=1 To 3If k=1 Thenx=1ElseIf k=2 Thenx=2ElseIf k=3 Thenx=3Elsex=4End IfSum=Sum+xNext kPrint SumEnd Sub程序运行后,单击窗体,输出结果是_。 A.9 B.6 C.3 D.10(分数:2.50)A.B.
27、C.D.解析:解析 程序执行过程如下: k=1,k=1 成立,执行 x=1,sum=sum+x=1 k=2,k=2 成立,执行x=2,sum=sum+x=1+2=3 k=3,k=3 成立,执行 x=3,sum=sum+x=3+3=6,循环结束。因此最后输出 Sum 的值为 6。39.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程:Private Sub Command1_Click()Dim arr(10)For i=6 To 10arr(i)=i-5Next iLabel1.Caption=arr(0)+arr(arr(10)/arr
28、(6)End Sub运行程序,单击命令按钮,则在标签中显示的是_。 A.0 B.1 C.2 D.3(分数:2.50)A. B.C.D.解析:解析 程序为使用 For 语句为数组中部分元素赋值,没显示赋值的数组元素的值默认为 0,因此arr(0)=0,arr(10)=10-5=5,arr(6)=6-5=1,arr(arr(10)/arr(6)即,arr(5/1)=arr(5)=0,arr(0)+arr(5)=0+0=0。因此标签中显示为 0。40.在窗体上画一个名称为 Text1 的文本框,并编写如下程序:Option Base 1Private Sub Form_Click()Dim arrD
29、im Start As Integer, Finish As IntegerDim Sum As Integerarr=Array(12,4,8,16)Start=LBound(arr)Finish=UBound(arr)Sum=0For i=Start To FinishSum=Sum+arr(i)Next ic=Sum / FinishText1.Text=cEnd Sub运行程序,单击窗体,则在文本框中显示的是_。 A.40 B.10 C.12 D.16(分数:2.50)A.B. C.D.解析:解析 程序中将变量 arr 初始化为有 4 个元素的数组,使用 Lbound 和 Ubound 函数分别获取数组下标的上下限,然后将数组中的元素值相加,用整除运算求它们的平均值。算式可写为(12+4+8+16)/4=(40)/4=10。所以答案为 B