计算机二级VB笔试第一套Word文档下载推荐.docx
《计算机二级VB笔试第一套Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机二级VB笔试第一套Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
A)随机选取测试数据B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序
测试的目的是发现软件中的错误。
经验表明,程序中存在错误的概率与该程序中已发现的错误数成正比。
这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。
(6)算法的时间复杂度是指
A)执行算法程序所需要的时间B)算法程序的长度
C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数
算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;
算法的空间复杂度一般是指执行这个算法所需要的内存空间。
(7)软件生命周期中所花费用最多的阶段是
A)详细设计B)软件编码
C)软件测试D)软件维护
软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。
本题中,详细设计、软件编码和软件测试都属于软件开发阶段;
维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为
A)CB)Basic
C)DDLD)DML
选项A)、B)显然不合题意。
数据定义语言(DataDefinitionLanguage,简称DDL)负责数据的模式定义与数据的物理存取构建;
数据操纵语言(DataManipulationLanguage,简称DML)负责数据的操纵,包括查询及增、删、改等操作。
(10)下列有关数据库的描述,正确的是
A)数据处理是将信息转化为数据的过程
B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
C)关系中的每一列称为元组,一个元组就是一个字段
D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
数据处理是指将数据转换成信息的过程,所以选项A)叙述错误;
数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,所以选项B)叙述错误;
关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,所以选项C)叙述错误。
(11)关于VisualBasic"
方法"
的概念错误的是
A)方法是对象的一部分B)方法是预先定义好的操作
C)方法是对事件的响应D)方法用于完成某些特定的功能
对象是属性、方法和事件的集成,所以选项A)说法正确;
例如Print方法是用来输出字符串、变量和表达式的值,也就是完成输出的这一功能,所以选项D)的说法正确;
在执行方法时,不必考虑实现输出的具体步骤,方法的步骤是系统预先规定好的,所以选项B)说法正确。
(12)下列说法有错误的是
A)默认情况下,属性Visible的值为False
B)如果设置控件的Visible属性为False,则运行时控件会隐藏
C)Visible的值可设为True或者False
D)设置Visible属性同设置Enabled属性的功能是相同的,都是使控件处于失效状态
Visible是用来设置对象的可见性的,有两种值:
True和False,所以选项C)表述正确;
默认情况下Visible的值中是True,所以选项A)没有错误;
如果将对象的Visible值设为False,窗体和控件在设计阶段仍可见,只有运行时才隐藏,所以选项B)也是正确的;
Enabled的功能是使控件有效还是无效,默认值为True,处于有效状态,运行时可用,如果设为False,则处于禁止状态,运行时不可用,但可见,所以选项D)错误。
(13)下列各控件不包含滚动条的控件是
A)ListBoxB)ComboBox
C)TextBoxD)LabelBox
滚动条的用处是滚动数据或文本,以便快速找到所需的内容。
如果一个控件存放有大量的数据或文本,这个控件一般会带有滚动条。
ListBox,TextBox和ComboBox可以存放大量的数据或文本,本身带有滚动条,而LabelBox仅是显示"
标签"
信息,一般标签不需要大块文本,所有它不包含滚动条。
(14)如果在程序中要将c定义为静态变量,且为整型数,则应使用的语句是
A)RedimaAsIntegerB)StaticaAsInteger
C)PublicaAsIntegerD)DimaAsInteger
在VisualBasic中,定义变量的关键字为Dim、Static、Redim、Public或Private,它们在使用上是不同的,Dim用于标准模块、窗体模块或过程中定义变量或者数组;
Static用于过程中定义静态变量或数组;
Public用于在标准模块中定义全局变量或数组;
Redim主要用于定义数组。
(15)声明一个变量为局部变量应该用
A)GlobalB)Private
C)StaticD)Public
根据变量的定义位置和所使用的变量定义语句的不同,VisualBasic中的变量可以分为局部变量、模块变量和全局变量。
模块级变量在模块部分用Private或Dim语句声明;
全局变量必须用Public或Global语句声明;
局部变量在过程内用Dim或Static语句声明。
(16)执行x$=InputBox("
请输入x的值"
)时,在弹出的对话框中输入123,在列表框List1选中1个列表项(数据为456),使有的值使123456的语句是
A)y=x$+List1.List(0)B)y=x$+List1.List
(1)
C)y=Val(x$)+Val(List1.List(0))D)y=Val(x$)&
Val(List1.List
(1))
选项A)中,x$和List1.List(0)都是字符类型,用"
+"
运算符表示将这两个字符串连接起来,结果正好是123456;
选项B)中,List1.List
(1)不是列表框控件的第一个列表项;
选项C)中,Val函数将字符串转换成数值,这两个数值相加的表达式的运算结果为579;
选项D)同选项B)。
(17)以下各项中,VisualBasic不能接收的图形文件是
A).ico文件B).jpg文件
C).psd文件D).bmp文件
在VisualBasic中,可以接受不同的图形文件,见下表。
VisualBasic支持的图形文件。
从上表可知,.psd文件不是VisualBasic所支持的图形文件。
(18)下面的属性中,用于自动调整图像框中图形内容的大小的是
A)PictureB)CurentY
C)CurrentXD)Stretch
本题的目的在于考查学生对图形控件的属性设置。
Picture属性用于窗体、图片框和图像框,它可以通过属性窗口设置,用来把图形放到这些对象中,因此选项A)是不正确的;
CurrentX和CurrentY用来设置下一个输出的水平坐标和垂直坐标,因此选项B)和C)都不正确;
Stretch属性用于图像框,用于自动调整图像框中图形内容的大小,既可通过属性窗口设置,也可以通过程序代码设置,该属性的取值为True或False,当其值为False时,将自动放大或缩小图像框中的图形以与图像框的大小相适应,因此选项D)是正确的。
(19)下面有关注释语句的格式,错误的是
A)Rem注释内容
B)′注释内容
C)a=3:
b=2′对a、b赋值
D)PrivateSubCommand1_MouseDown(buttonAsInteger,shiftAsInteger,_
Rem鼠标按下事件的命令调用过程XAsSingle,YAsSingle)
解析:
程序中添加注释语句是为了提高程序的可读性,一般格式为:
Rem注释内容或′注视内容;
注释语句是非执行语句,仅对程序的有关内容起注释作用,它不被解释和编译,故选项A)和选项B)没有错误;
任何字符都可以在注释行中作为注释内容,注释语句通常放在过程、模块的开头作为标题用,也可放在执行语句(单行或者复合语句行)的后面,但不可以放在续行符的后面,所以选项C)没有错误;
所以本题的正确答案是选项D)。
(20)只有将组合框的Style属性设置为何值时,才能触发DblClick事件?
A)0B)1
C)2D)3
组合框的事件依赖于其Style属性,只有Style属性设置为1时,才能接收DblClick事件,因此只有B)选项正确。
(21)以下属于VisualBasic合法的数组元素是
A)x8B)x[8]
C)s(0)D)v[8]
本题是对数组基本知识的考查,在VisualBasic中,数组元素一般形式为x(整数),括号中的整数是一个确定值,而且数组名x后的圆括号不能省去,也不能由其他的括号代替,所以本题的正确答案是选项C)。
(22)编写如下两个事件过程:
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
PrintChr(KeyCode)
EndSub
PrivateSubForm_KeyPress(KeyAsciiAsInteger)
PrintChr(KeyAscii)
在一般情况下(即不按住Shift键和锁定大写键时)运行程序,如果按"
A"
键,则程序输出的结果是
A)AaB)aA
C)AAD)aa
此题考查了KeyPress事件和KeyDown事件,下面我们具体说明一下两个事件。
当按键盘上的某个按钮,将发生KeyPress事件。
该事件可用于窗体、复选框、组合框、命令按钮、列表框,图片框、文本框、滚动条及文件有关的控件。
用户自己可以定义KeyPress事件过程,一般格式为:
KeyPress事件是用来识别按键的ASCII码。
KeyDown事件返回的是键盘的直接状态,返回的是键;
而KeyPress事件返回的是"
字符"
的ASCII码。
所以要输出字符还得用Chr函数。
(23)要使菜单项MenuOne在程序运行时失效,使用的语句是
A)MenuOne.Visible=TrueB)MenuOne.Visible=False
C)MenuOne.Enabled=TrueD)MenuOne.Enabled=False
菜单控件的主要属性有:
Caption、Name、Index、Enabled、Visible等,其中Enabled和Visible属性值为逻辑值,Visible属性用于表示菜单项是否可见,Enabled属性用于表示菜单项是否可用。
当Enabled属性值为False时,表示菜单项当前不可用,属性值为True时,表示菜单项可用。
(24)在窗体上建立通用对话框需要添加的控件是
A)Data控件B)From控件
C)CommonDialog控件D)VBComboBox控件
通用对话框是一种ActiveX控件,它随同VisualBasic提供给程序设计人员。
在一般情况下,启动VisualBasic后,在工具箱中没有通用对话框控件。
为了把通用对话框添加到工具箱中,可以在"
部件"
对话框的"
控件"
选项卡的控件列表框中选择"
MicrosoftCommonDialogControl6.0"
。
(25)在VisualBasic中,要将一个窗体加载到内存进行预处理但不显示,应使用的语句是
A)LoadB)Show
C)HideD)Unload
此题是考查有关Load语句、Unload语句、Show方法和Hide方法的,在此简单介绍一下这些语句和方法:
Load语句
格式:
Load窗体名称
Load语句把一个窗体装入内存,执行Load语句后,可以引用窗体中的控件及各种属性,但此时窗体没有显示出来,"
窗体名称"
是窗体的Name属性;
Unload语句
Unload窗体名称
该语句与Load语句的功能相反,它清除内存中指定的窗体;
Show方法
[窗体名称].Show[模式]
Show方法用来显示一个窗体。
如果省略"
,则显示当前窗体。
参数"
模式"
用来确定窗体的状态,可以取两种值,即0和1(不是False和True)。
当"
值为1(或常量vbModal)时,表示窗体是"
模态型"
窗体,在这种情况下,鼠标只在此窗体内起作用,不能到其他窗口内操作,只有关闭该窗口才能对其他窗口进行操作;
值为0(或省略参数"
值)时,表示窗体为"
非模态型"
窗体,不用关闭该窗体就可以对其他窗体进行操作;
Hide方法
[窗体名称].Hide
Hide方法使窗体隐藏,即不在屏幕上显示,但仍在内存中,因此,它与Unload语句的作用不同。
(26)运行下列程序段后,显示的结果为
J1=23
J2=32
IfJ1<
J2ThenPrintJ2ElsePrintJ1
A)23B)32
C)55D)2332
题中是条件语句IfJ1<
J2ThenPrintJ2ElsePrintJ1,即J1<
J2时输出J2,否则输出J1,即输出两者的最大者。
显然应该是32,正确答案是选项B)。
(27)下列语句正确的是
A)IfA≠BThenPrint"
A不等于B"
B)IfA<
>
BThenPrintf"
C)IfA<
BThenPrint"
D)IfA≠BPrint"
题中语句都属于条件语句中"
If条件Then语句"
的类型,从选项中,可以看出条件语句是A与B的比较语句,其值就是此条件语句的值,也就是说,只有当其值为真时,执行Then语句。
选项A)和D)中的"
≠"
符号并非比较运算符,所以不正确;
选项B)中的Printf并非VisualBasic中的输出方法,所以不正确,只有选项C)是正确的。
(28)下面语句正确的是
A)Ifx<
3yAndx>
yTheny=x^3B)Ifx<
yTheny=3x
C)Ifx<
3y:
x>
yTheny=x^3D)Ifx<
yTheny=x**3
此题考查是条件语句的结构。
条件语句可以分为三种类型,如下:
IfThen结构
IfThenElse结构
SelectCase结构
而IfThen结构有两种格式:
If条件Then语句
If条件Then
语句块
EndIf
(29)计算z的值,当x大于y时,z=x;
否则z=y。
下列语句错误的是
A)Ifx>
=yThenz=x:
z=yB)Ifx>
=yThenz=xElsez=y
C)z=y:
Ifx>
=yThenz=xD)Ifx<
=yThenz=yElsez=x
选项A)中的语句行有两条语句,执行If语句后,执行z=y语句,所以不管x是否大于y,最终z的值都等于y。
(30)下列程序段执行结果为
x=5
y=-6
IfNotx>
0Thenx=y-3Elsey=x+3
Printx-y;
y-x
A)-33B)5-9
C)3-3D)-65
程序开始时分别执行x,y赋值5,-6。
If语句Notx>
0相当于x<
=0,现在x的值为5,比0大,所以条件值为False,执行Else语句y=x+3,此时y为8,执行Print方法,即输出x-y和y-x的值,x-y=-3,y-x=3,所以最后输出结果应该如选项A)所示。
(31)不能脱离控件(包括客体)而独立存在的过程是
A)事件过程B)通用过程
C)Sub过程D)函数过程
事件过程由VisualBasic创建,事件过程是当用户对一个对象发出一个动作时所产生的事件,不能脱离控件而独立存在;
通用过程时通用的,不与任何特定事件相联系,它完成特定的任务,只能由别的过程调用;
Sub过程包括事件过程和通用过程,称之为子过程。
也就是说,有些Sub过程与对象相关联,有些Sub过程与对象没有联系;
函数过程类似于内部函数,由用户定义的,完成一些特殊函数关系的计算,并且要返回函数值的过程,显然函数过程不必与控件发生联系。
(32)Sub过程与Function过程最根本的区别是
A)Sub过程可以用Call语句直接使用过程名调用,而Function过程不可以
B)Function过程可以有形参,Sub过程不可以
C)Sub过程不能返回值,而Function过程能返回值
D)两种过程参数的传递方式不同
在VisualBasic中有两类过程,一类是系统提供的内部函数和事件过程;
另一类是用户根据自己的需要定义的,供事件过程的多次调用,而第二类过程中,我们现在涉及最多的是子过程。
它们的共同点都是完成某种特定功能的一组程序代码;
不同的是函数是带有返回值的特殊过程,所以函数过程定义时有返回值的类型说明。
(33)单击命令按钮时,下列程序的执行结果为
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=12:
y=32
CallProc(x,y)
Printx;
y
PublicSubProc(nAsInteger,ByValmAsInteger)
n=nMod10
m=mMod10
A)1232B)232
C)23D)123
此题是函数过程的调用。
在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在VisualBasic中,实参与形参的结合有两种方式:
即传址与传值。
这两种方法的特点如下:
传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。
传值的结合过程时:
当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。
而题中被调过程Proc中有两个形参,其中第一个形参n为传址方式,第二个形参m为传值方式。
主调过程分别把实参x、y传递给Proc,所以当过程调用结束后,实参x的值应随着被调过程变化而变化,而实参y值在主调函数中始终不变,所以输出y的值仍为32;
在被调过程中"
n=nMod10"
被调用时,相当于"
x=xMod10"
,所有x的值最终为2,最后输出结果如选项B)所示。
(34)单击命令按钮时,下列程序的执行结果是
DimaAsInteger,bAsInteger,cAsInteger
a=3
b=4
c=5
PrintSecProc(c,b,A)
FunctionFirProc(xAsInteger,yAsInteger,zAsInteger)
FirProc=2x+y+3z
EndFunction
FunctionSecProc(xAsInteger,yAsInteger,zAsInteger)
SecProc=FirProc(z,x,y)+x
A)20B)22
C)28D)30
此题程序代码中用了两层调用,我们对这样的问题要多加小心,不能掉以轻心,千万不要把实参和相对应的形参弄混淆。
主调过程Command1_Click输出的是SecProc(c,b,a)的返回值,调用过程SecProc时,主调过程分别把实参c、b、a地址传给形参x、y、z,此时在过程SecProc中,SecProc=FirProc(a,c,b)+c。
由此看出,程序段执行此语句时,将调用过程FirProc。
把实参a、c、b的地址分别传给形参x、y、z,此时在过程FirProc中,FirProc=2*x+y+3*z,所以FirProc(a,c,b)=6+4+15=25,SecProc(a,c,b)=25+3=28,所以选项C)是正确的。
(35)下列程序的执行结果为
DimFirStrAsString
FirSt="
abcdef"
PrintPat(FirStr)
PrivateFunctionPat(xStrAsString)AsString
DimtempStrAsString,strLenAsInteger
tem