二级VISUAL+BASIC笔试423.docx
- 文档编号:8541328
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:21
- 大小:26.83KB
二级VISUAL+BASIC笔试423.docx
《二级VISUAL+BASIC笔试423.docx》由会员分享,可在线阅读,更多相关《二级VISUAL+BASIC笔试423.docx(21页珍藏版)》请在冰豆网上搜索。
二级VISUAL+BASIC笔试423
二级VISUALBASIC笔试-423
(总分:
100.00,做题时间:
90分钟)
一、选择题(总题数:
35,分数:
70.00)
1.下列选项中不符合良好程序设计风格的是()
A.源程序要文档化B.数据说明的次序要规范化
C.避免滥用goto语句D.模块设计要保证高耦合、高内聚
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]对于软件设计中的模块设计要保证高内聚和低耦合,源程序要有文档说明,同时对程序中数据的说明要规范化。
goto语句破坏程序的结构,要尽量避免使用。
2.下列叙述中正确的是()
A.软件测试应该由程序开发者来完成B.程序经凋试后一般不需要再测试
C.软件维护只包括对程序代码的维护D.以上三种说法都不对
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]程序调试就是来诊断和改正程序中的错误,由程序开发者完成。
软件测试是为了发现错误而执行程序的过程,它由专门的测试人员完成。
软件维护是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程,是软件生存周期中非常重要的一个阶段。
3.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()
A.冒泡排序n/2B.冒泡排序为n
C.快速排序为nD.快速排序为n(n-1)/2
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]本题主要考查对排序算法的理解。
冒泡排序法首先将第一个记录的关键字与第二个记录的关键字进行比较,若逆序则交换,然后比较第二个与第三个,以此类推,直至第n-1个与第n个记录的关键字进行比较。
第一趟冒泡排序使最大的关键字元素放到最后。
以此类推,进行第2~n次冒泡排序。
如果在排序过程中不存在逆序,则排序结束。
在最坏情况下,冒泡排序中,若初始序列为“逆序”序列,需要比较n(n-1)/2次。
快速排序是对冒泡排序的一种改进。
它的基本思想是:
通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,最终达到整个记录有序。
对于快速排序,若初始记录序列按关键字有序或基本有序时,快速排序退化冒泡排序,最坏情况下比较次数为n(n-1)/2。
4.为了使模块尽可能独立,要求()
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]耦合是指模块之间的关联程度,而内聚是指模块内部各部分的聚合程度。
模块之间的关联程度越小,模块内部的聚合程度越高,就越容易维护。
在程序设计中应追求高内聚低耦合。
5.在软件设计中,不属于过程设计工具的是()
A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]PDL是过程设计语言(ProcedureDesignLanguage)的简写,也称程序描述语言,用于描述模块算法设计和处理细节的语言;N—S图是编程过程中常用的一种分析工具,提出了最初分析问题方法;PAD是问题分析图(ProblemA-nalysisDiagram)的简写,它用二维树型结构的图表示程序的控制流,将这种图转换为程序代码比较容易;DFD(数据流图)是描述数据处理过程的工具。
6.设有如下三个关系表:
下列操作中正确的是()
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]关系代数中的集合运算有并、差、交和笛卡儿积4种。
根据本题关系T中的元组可知,它是由关系R和关系S进行笛卡儿积运算得到的。
7.将E-R图转换到关系模式时,实体与联系都可以表示成()
A.属性B.关系C.键D.域
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]关系数据库逻辑设计的主要工作是将E-R图转换成指定RDBMS中的关系模式。
从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
实体集也可以转换成关系。
8.设有两个串p和q,求q在p中首次出现位置的运算称为()
A.连接B.模式匹配C.求子串D.求串长
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]字串的定位操作通常称为串的模式匹配,是各种串处理系统中最重要的操作之一。
9.实体是信息世界中广泛使用的一个术语,它用于表示()
A.有生命的事物B.无生命的事物
C.实际存在的事物D.一切事物
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]实体是客观存在且可以相互区别的事物。
实体可以是具体的对象,如一个人,也可以是抽象的事件,如拔河比赛等。
因此,实体既可以是有生命的事物,也可以是无生命的事物,但它必须是客观存在且可以相互区别的。
10.数据库系统的核心是()
A.数据模型B.数据库管理系统
C.数据库D.数据库管理员
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]数据库系统由数据库、数据库管理系统、数据库应用系统、数据库管理员和用户构成。
所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合,数据库管理系统是位于用户与操作系统之间的一层数据管理软件,是数据库系统的核心组成部分,可以管理数据,并提供用户操作的接口。
11.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是()
A.单选按钮B.图片框
C.通用对话框D.文本框
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]通用对话框需要用户自己手动添加才能加到工具箱中。
12.有关程序代码窗口的说法错误的是()
A.在窗口的垂直滚动条的上面,有一个“拆分栏”,利用它可以把窗口分为两个部分,每个窗口显示代码的一部分
B.双击控件设计窗体即可打开程序代码窗口
C.在程序代码的左下角有两个按钮,可以选择全模块查看或者是过程查看
D.默认情况下,窗体的事件是Load
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]本题考查VisualBasic编程环境的使用。
双击程序代码的窗口的垂直滚动条上面的“拆分栏”可以将代码窗口分成两部分,但两个窗口显示的代码是一样的。
其他3个选项说法均正确。
13.以下叙述中正确的是()
A.窗体的Name属性指定窗体的名称,用来标识一个窗体
B.窗体的Name属性的值是显示在窗体标题栏中的文本
C.可以在运行期间改变对象的Name属性的值
D.对象的Name属性值可以为空
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]窗体的Name属性指定窗体的名称,用来标识一个窗体,不能为空,也不能在运行期间改变其值。
窗体的Caption属性的值是显示在窗体标题栏中的文本。
14.下列符号常量的声明中,不合法的是()
A.ConstaAsSingle=1.1B.Consta="OK"
C.ConstaAsDouble=Sin
(1)D.ConstaAsInteger="12/
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]VisualBasic中常量分为两种:
文字常量和符号常量。
一般格式为:
Const常量名=表达式[,常量名=表达式]…
选项C不符合语法规定。
15.下列说法错误的是()
A.方法是对象的一部分B.在调用方法时,对象名是不可缺少的
C.方法是一种特殊的过程和函数D.方法的调用格式和对象属性的使用格式相同
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题考查方法的定义与特点。
在调用方法时,对象名称可以省略,如调用Print方法的格式为:
[对象名称.]Print[表达式表][,|;]。
16.执行以下程序段后,变量c$的值为()
a$="VisualBasicPrograming"
b$="Quick"
c$=b$&UCase(Mid$(a$,7,6))&Right$(a$,11)
A.VisualBASICProgramingB.QuickBasicPrograming
C.QUICKBasicProgramingD.QuickBASICPrograming
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]本题考查VisualBasic中字符串处理函数。
Right(字符串,n):
取字符串右部的n个字符;Mid(字符串,p,n):
从位置p开始取字符串的n个字符;UCase(字符串):
把小写字母转换为大写字母;明白上述函数的功能后,不难得出本题的结果为选项D。
17.以下关于MsgBox的叙述中,错误的是()
A.MsgBox函数返回一个整数
B.通过MsgBox函数可以设置信息框中图标和按钮的类型
C.MsgBox语句没有返回值
D.MsgBox函数的第二个参数是一个整数,该参数只能确定对话框中显示的按钮数量
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]MsgBox函数的格式为:
MsgBox(msg[,type][,title][,helpfile,context])。
该函数有5个参数,除第二个参数外,其余参数都是可选的。
msg是一个字符串,该字符串的内容将在由MsgBox函数产生的对话框内显示。
type是一个整数值或符号常量,用来控制在对话框内显示的按钮、图标的种类及数量。
该参数的值由4类数值相加产生,这4类数值或符号常量,分别表示按钮的类型、显示图标的种类、活动按钮的位置及强制返回。
title是一个字符串,用来显示对话框的标题。
helpfile,context:
helpfile是一个字符串变量或字符串表达式,用来表示帮助文件的名字;context是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。
MsgBox函数也可以写成语句形式,即MsgBoxMsg$[,type%][,title$][,helpfile,context]。
各参数的含义及作用与MsgBox函数相同,由于MsgBox语句没有返回值,因而常用于较简单的信息显示。
18.假定窗体上有一个标签,名为Label1,为了使该标签透明并且没有边框,则正确的属性设置为()
A.Label1.BackStyle=0
Label1.BorderStyle=0
B.Label1.BackStyle=1
Label1.BorderStyle=1
C.Label1.BackStyle=True
Label1.BorderStyle=True
D.Label1.BackStyle=False
Label1.BorderStyle=False
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]BackStyle属性用来设置背景是否透明。
0—Transparent透明。
1—Opaque不透明。
BorderStyle属性用来设置窗体的格式,它有6个可选值:
0—none无(没有边框或与边框相关的元素)。
1—fixedsingle固定单边框。
可以包含控制菜单框、标题栏、“最大化”按钮和“最小化”按钮。
只有使用最大化和最小化按钮才能改变大小。
2—sizable(默认值)可调整的边框。
可以使用设置值1列出的任何可选边框元素重新改变尺寸。
3—fixeddialog固定对话框。
可以包含控制菜单框和标题栏,不能包含最大化和最小化按钮,不能改变尺寸。
4—fixedtoolwindow固定工具窗口。
不能改变尺寸。
显示关闭按钮并用缩小的字体显示标题栏。
窗体在windows的任务条中不显示。
5—sizabletoolwindow可变尺寸工具窗口。
可变大小。
显示关闭按钮并用缩小的字体显示标题栏。
窗体在Windows的任务条中不显示。
综上可知,选项A正确。
19.设在菜单编辑器中定义了一个菜单项,名为Menu1。
为了在运行时隐藏该菜单项,应使用的语句是()
A.Menu1.Enabled=TrueB.Menu1.Enabled=False
C.Menu1.Visible=TrueD.Menu1.Visible=False
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]VisualBasic中要隐藏一个控件,需要设置该控件的Visible属性为False,注意要和Enabled区分开来。
20.在窗体上画一个名称为Label1的标签,然后编写如下事件过程:
PrivateSubForm_Click()
Dimarr(10,10)AsInteger
DimiAsInteger,jAsInteger
Fori=2To4
Forj=2To4
arr(i,j)=j*j
Nextj
Nexti
Label1.Caption=Str(arr(2,2)+arr(3,3))
EndSub
程序运行后,单击窗体,在标签中显示的内容是()
A.12B.13C.14D.15
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]程序的二重循环中将数组arr(10,10)的a(2,2)到a(4,4)之间的元素赋值。
根据题意arr(2,2)、arr(3,3)的值分别为2*2=4,3*3=9,故arr(2,2)+arr(3,3)=13。
函数Str将13转换为字符串输出到Label1.Caption中。
21.为了使命令按钮(名称为Command1)右移200,应使用的语句是()
A.Command1.Move-200B.Command1.Move200
C.Command1.Left=Command1.Left+200D.Command1.Left=Command1.Left-200
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]本题考查VisualBasic控件的Left属性。
为了使Command1右移200,只需将其Left属性值加上200。
选项A、B为错误用法,Command没有Move属性。
22.下列各种形式的循环中,输出“*”的个数最少的循环是()
A.a=5:
b=8
Do
Print"*"
a=a+1
LoopWhilea<b
B.a=5:
b=8
Do
Print"*"
a=a+1
LoopUntila<b
C.a=5:
b=8
DoUntila-b
Print"*"
b=b+1
Loop
D.a=5:
b=8
DoUntila>b
Print"*"
a=a+1
Loop
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]选项A、B先打印*,然后判断条件是否符合条件,而选项C、D先判断后打印,显然选项A、B要多打印*,排除。
重点比较Untila-b和Untila>b两个条件,选项C不打印*,故选项C符合条件。
23.要将名为MyForm的窗体显示出来,正确的使用方法是()
A.MyForm.ShowB.Show.MyForm
C.MyFormLoadD.MyFormShow
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]显示窗体的方法为Show,调用的语法为:
对象,方法名。
因此,选项A正确。
24.在窗体上画一个命令按钮,然后编写如下事件过程:
PrivateSubCommand1Click()
x=0
DoUntilx=-1
a=InputBox("请输入A的值")
a=Val(a)
b=lnputBox("请输人B的值")
b=Val(b)
x=InputBox("请输入x的值")
x=Val(x)
a=a+b+x
Loop
Printa
EndSub
程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为()
A.2B.3C.14D.15
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]程序设置-1为输入终止符,当运行后输入-1终止输入,进行处理。
对于本题,当输入5、4、3、2、1、-1时,循环对a、b、x进行赋值,5、4、3分别赋给a、b、x,实质上无用,然后进行下次循环,2赋给a,1赋给b,到-1终止,x=-1,a的值为2+1-1=2,选项A正确。
25.以下能够触发文本框Change事件的操作是()
A.文本框失去焦点B.文本框获得焦点
C.设置文本框的焦点D.改变文本框的内容
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]本题考查几个常用的文本框的属性和方法:
Text属性设置控件中显示的文本内容;MaxLength属性设置文本框中输入的字符串长度是否有限制;Change事件,当文本框的内容被修改时触发。
SetFocus方法将焦点移动到指定的对象。
26.设已经在“菜单编辑器”中设计了窗体的快捷菜单,其顶级菜单为Bs,取消其“可见”属性,运行时,在以下事件过程中,可以使快捷菜单响应鼠标右键的是()
A.PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2ThenPopupMenuBs,2
EndSub
B.PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
PopupMenuBs
EndSub
C.PrivateSubForm—MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
PopupMenuBs,0
EndSub
D.PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
If(Button=vbLeftButton)0r(Button=vbRightButton)ThenPopupMenuBs
EndSub
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]PopupMenu方法用来显示弹出式菜单,其格式为:
[对象.]PopupMenu菜单名[,Flags][,X,Y,][Bold-Command]。
其中,[,Flags][,X,Y,]用来设置菜单的显示位置。
为了显示菜单,通常把PopupMenu方法放到MouseDown事件中,按照惯例,一般通过单击鼠标右键显示菜单,这可以用Button参数来实现,鼠标右键的参数为2,因此选项A正确。
27.以下程序段的输出结果为()
Dima(10),p(3)
k=5
Fori=0To10
a(i)=i
Nexti
Fori=0To2
p(i)=a(i+(i+1))
Nexti
Fori=0To2
k=k+p(i)+2
Nexti
Printk
A.20B.21C.56D.32
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]本题首先对a(i)赋值为i,然后利用a(i)对p赋值,p(0)=a
(1)=1,p
(1)=a(3)=3,p
(2)=a(5)=5,最后k=13+5+2=20。
28.以下可以作为VisualBasic变量名的是()
A.A#AB.counstAC.3AD.?
AA
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题考查VisualBasic中标识符的命名规则。
标识符命名规则主要有以下几点:
(1)不能以系统关键词命名,排除选项A。
(2)标识符由字母、数字和下画线组成,且必须以字母开头,不能以数字开头,排除选项C、D。
(3)不能在标识符中出现“。
”、空格、!
、@、#、$、%、&等字符。
(4)标识符长度不得超过255个字符。
(5)标识符在有效范围内必须唯一。
29.下列程序的执行结果为()
PrivateSubCommand1_Click()
DimPAsInteger,qAsInteger
p=12:
q=20
CallValue(P,q)
PrintP;q
EndSub
PrivateSubValue(ByValmAsInteger,ByValnAsInteger)
m=m*2:
n=n-5
Printm;n
EndSub
A.2012
2015
B.1220
1225
C.2415
1220
D.2412
1215
(分数:
2.00)
A.
B.
C. √
D.
解析:
[解析]在VisualBasic中,参数默认是按地址传递的,也就是使过程按照变量的内存地址去访问实际变量的内容。
这样,将变量传递给函数时,通过函数可永远改变该变量的值。
如果想改变传递方式,可以在变量定义前加关键字By-Ref或ByVal。
ByRef为默认值,按地址传递,ByVal按照值传递,函数调用后不改变变量值。
本题中函数为值传递参数,因此在函数中参数值发生变化,但调用结束后参数的值不会改变。
30.在菜单编辑器中建立一个名称为Menu0的菜单项,将其“可见”属性设置为False,并建立其若干子菜单,然后编写如下过程:
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=1Then
PopupMenuMenu0
EndIf
EndSub
则以下叙述中错误的是()
A.该过程的作用是弹出一个菜单
B.单击鼠标右键时弹出菜单
C.Menu0是在菜单编辑器中定义的弹出菜单的名称
D.参数X、Y指明鼠标当前位置的坐标
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]本题考查对菜单的操作。
PopupMenu方法用来显示弹出式菜单,其格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 VISUAL BASIC 笔试 423