计算机二级VB笔试1.docx
《计算机二级VB笔试1.docx》由会员分享,可在线阅读,更多相关《计算机二级VB笔试1.docx(21页珍藏版)》请在冰豆网上搜索。
计算机二级VB笔试1
(1)数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
A)数据的存储结构B)计算方法
C)数据映象D)逻辑存储
解析:
数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
(2)串的长度是
A)串中不同字符的个数B)串中不同字母的个数
C)串中所含字符的个数且字符个数大于零D)串中所含字符的个数
解析:
串的长度指的是串中的字符的个数,且其字符个数可以为零。
(3)在计算机中,算法是指
A)加工方法B)解题方案的准确而完整的描述
C)排序方法D)查询方法
解析:
计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:
可行性、确定性、有穷性和拥有足够的情报。
(4)以下不属于对象的基本特点的是
A)分类性B)多态性
C)继承性D)封装性
解析:
对象有如下一些基本特点,即标识惟一性、分类性、多态性、封装性和模块独立性。
(5)开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作
A)软件投机B)软件危机
C)软件工程D)软件产生
解析:
将开发软件所需高成本和产品的低质量之间有着尖锐的矛盾称作软件危机。
(6)下面不属于软件设计原则的是
A)抽象B)模块化
C)自底向上D)信息隐蔽
解析:
软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们是抽象、模块化、信息隐蔽和数据独立性。
自底向上是集成测试中增量测试的一种。
(7)开发大型软件时,产生困难的根本原因是
A)大系统的复杂性B)人员知识不足
C)客观世界千变万化D)时间紧、任务重
解析:
软件的显著特点是规模庞大,复杂度超线性增长,在开发大型软件时,要保证高质量,极端复杂困难,不仅涉及技术问题,更重要的是必须要有严格而科学的管理。
(8)下列SQL语句中,用于修改表结构的是
A)ALTERB)CREATE
C)UPDATED)INSERT
解析:
SQL语句中凡创建都用CREATE,删除都用DROP,改变用ALTER,再跟类型和名字,附加子句。
(9)数据库、数据库系统和数据库管理系统之间的关系是
A)数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统
C)数据库管理系统包括数据库和数据库系统D)3者没有明显的包含关系
解析:
数据库系统(DatabaseSystem,简称DBS)包括数据库(Database,简称DB)和数据库管理系统(DatabaseManagementSystem,简称DBMS)。
(10)关系模型允许定义3类数据约束,下列不属于数据约束的是
A)实体完整性约束B)参照完整性约束
C)域完整性约束D)用户自定义的完整性约束
解析:
关系模型允许定义3类数据约束,它们是实体完整性约束、参照完整性约束及用户自定义的完整性约束。
其中前两种完整性约束由关系数据库系统支持,对于用户自定义的完整性约束,则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。
(11)下列说法错误的是
A)标准模块也称程序模块文件,扩展名是.basB)标准模块由程序代码组成
C)标准模块只用来定义一些通用的过程D)标准模块不附属于任何一个窗体
解析:
标准模块不仅可以用来定义一些通用的过程,还可以用来声明一些全局变量,所以C是不正确的;标准模块也称为程序模块文件,其扩展名是.bas,所以选项A)是正确的;正因为标准模块是程序模块文件,必然是程序代码组成,所以选项B)是正确的;标准模块不属于任何一个固定的窗体,在工程中公用的,所以选项D)是正确的。
(12)在设计阶段,当双击窗体上的某个控件时,打开的窗口是
A)工程资源管理器窗口B)工具箱窗口
C)代码窗口D)布局窗口
解析:
"工程资源管理器"窗口在屏幕的右上角,由3个按钮组成:
分别是"查看代码"、"查看对象"和"切换文件夹"。
系统启动后就显示在屏幕上,所以选项A)不正确;工具栏窗口用于界面设计,其窗口由工具图标组成,通常位于窗体的左侧,显示的是VisualBasic中的内部控件,所以选项B)也不正确;窗体布局窗口允许使用屏幕的小图像来布置应用程序中的各窗体的位置,一般在屏幕右下角,所以选项D)也不正确;双击窗体上的某个控件可以打开其代码窗口,编写事件过程,所以选项C)是正确的。
(13)下列说法错误的是
A)Caption为只读属性,运行时对象的名称不能改变
B)设置Height或Width的数值单位为twip,是1点的1/20
C)Icon属性用来设置窗体最小化时的图标
D)用来激活属性窗口的快捷键是F4键
解析:
Caption不是只读属性,在设计阶段可以在属性窗口中设置,也可以用代码在运行时设置,不同的运行状态可以有不同的Caption属性值,所以选项A)的表述是不正确的;Height和Width的默认的单位是twip,1twip等于1/1440英寸,是1点的1/20,故选项B)是正确的;Icon属性是用来设置窗体最小化图标的,所以选项C)的表述是正确的;用来激活属性窗口的快捷键是F4键,所以选项D)也是正确的。
(14)下列说法不正确的是
A)对象的操作由对象的属性、事件和方法来描述
B)VisualBasic是面向对象的程序设计,VisualBasic中只有窗体和控件两种对象
C)属性是对象的特征,不同的对象有不同的属性
D)对象事件在代码窗口中体现过程
解析:
对象的操作可由对象的属性、事件和方法来描述,所以选项A)正确;在VisualBasic中的对象除了窗体和控件外还有其他的一些对象,如打印机、调试、剪贴板等,所以选项B)说"只有窗体和控件两种对象"是不正确的;属性是对象的特征,不同的对象有不同的属性,所以选项C)的表述是正确的;事件是通过代码来实现的,所以选项D)对象事件在代码窗口中体现过程是正确的。
(15)要使文件列表框中的文件随目录列表框中所选择的当前目录的不同而发生变化,应该
A)在File1中的Change事件中,输入File1.Path=Dir1.Path
B)在Dir1中的Change事件中,输入File1.Path=Dir1.Path
C)在File1中的Change事件中,输入Dir1.Path=File1.Path
D)在Dir1中的Change事件中,输入Dir1.Path=File1.Path
解析:
此题考查的是文件列表框与目录列表框的关联问题。
当用户触发文件的Change事件时,文件的列表随着目录位置的改变而改变,其中目录为源操作数,位于等号右边,文件为目的操作数,位于等号的左边,所以正确答案为B)选项。
(16)下列日期型数据正确的是
A)@January10,1979@B)#January10,1997#
C)"January10,1997"D)&January10,1997&
解析:
用"#"括起来的部分表示日期。
用双引号括起来的部分表示字符串常量。
VisualBasic中用"&"括起来的部分表示八进制长整型数。
(17)下面说法不正确的是
A)变量名的长度不能超过255个字符B)变量名可以包含小数点或者内嵌的类型声明字符
C)变量名不能使用关键字D)变量名的第一个字符必须是字母
解析:
在VisualBasic中,可以用名字来表示内存的位置,以便访问内存中的数据。
有关变量命名的规则如下:
名字只能由字母、数字和下划线组成;
名字的第一个字符必须是英文字母,最后一个字符可是是类型说明符;
名字的有效字符为255个;
不能用VisualBasic的保留字作变量名,但可以把保留字嵌入变量名中;同时变量名也不能是末尾带有类型说明符的保留字,例如变量Print和Print$是非法的,而变量Print_Number是合法的。
(18)变量L的值为-8,则-L^2的值为
A)64B)-64
C)16D)-16
解析:
符号"^"为幂运算符,用来计算乘方和方根,在使用时,如果一个指数是一个表达式,则必须加上括号,否则将按优先级计算,先高后低。
(19)下列程序段的执行结果为
X=2
Y=5
IfX*Y<1ThenY=Y-1ElseY=-1
PrintY-X>0
A)TrueB)False
C)-1D)1
解析:
Print方法具有计算和输出双重功能,对于表达式,它先计算后输出,此题中经过第一步的条件语句后,Y的数值为-1,则Y-X的值为-3,小于0,所以Y-X>0为逻辑假,故输出结果应该为False。
(20)在计时器控件中,Interval属性的作用是
A)决定是否响应用户的操作B)设置计时器事件之间的间隔
C)存储程序所需要的附加数据D)设置计时器顶端和其容器之间的距离
解析:
在计时器控件中,Interval属性用来设置计时器事件之间的间隔,单位是毫秒,取值范围是0~65535,因此最大时间间隔不能超过65秒,如果把Interval属性设置为1000,则表明每秒钟发生一个计时器事件。
所以,本题的正确答案是选项B)
(21)使用语句DimA
(2)AsInteger声明数组A之后,以下说法正确的是
A)A数组中的所有元素都为0
B)A数组中的所有元素值不确定
C)A数组中所有元素值都为Empty
D)执行EraseA后,A数组中所有元素值都不为0
解析:
所谓数组就是能够保存具有数据类型的多个数值的存储空间,当声明一个数值数组后,在没有给它赋值前,数组中的所有元素值为0,所以A)是正确的;Erase语句的作用是释放动态数组所占的内存空间,所以D)选项也不正确。
只有选项A)正确。
(22)有如下事件过程,当同时按下转换键Shift和功能键F5时其最后输出的信息是
ConstShiftKey=1
ConstCtrlKey=2
ConstKey_F5=&H74
ConstKey_F6=&H75
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=Key_F5AndShift=ShiftKeyThen
Print"PressShift+F5"
ElseIfKeyCode=Key_F6AndShift=CtrlKeyThen
Print"PressCtrl+F6"
EndIf
EndSub
A)无任何信息B)PressShift+F5
C)PressCtrl+F6D)程序出错
解析:
上述事件过程是测试两个参数(KeyCode和Shift)是否同时满足给定的条件,如果满足则输出相应的信息;题目中是同时按下转换键Shift和功能键F5,所以满足给定的条件,则输出信息PressShift+F5,故正确的答案是选项B)。
(23)执行下列程序后,鼠标单击窗体,输出结果为。
PrivateSubForm_Click()
Print"Click";
EndSub
PrivateSubForm_MouseDown(ButtonAsInteger,Shift_
AsInteger,XAsSingle,YAsSingle)
Print"Donw"
EndSub
PrivateSubForm_MouseUp(ButtonAsInteger,Shift_
AsInteger,XAsSingle,YAsSingle)
Print"Up"
EndSub
A)DownUpClickB)ClickDownUp
C)DownClickUpD)UpDownClick
解析:
鼠标单击时,依次引发MouseDown、MouseUp、Click事件,即Click事件包含鼠标按下和放开事件。
(24)以下事件过程可以将打开的对话框的标题改为"新时代"的是
A)PrivateSubCommand2_Click()
CommonDialog1.DialogTitle="新时代"
CommonDialog1.ShowOpen
EndSub
B)PrivateSubCommand2_Click()
CommonDialog1.DialogTitle="新时代"
CommonDialog1.ShowFont
EndSub
C)PrivateSubCommand2_Click()
CommonDialog1.DialogTitle="新时代"
CommonDialog1.Show
EndSub
D)PrivateSubCommand2_Click()
CommonDialog1.DialogTitle="新时代"
CommonDialog1.ShowColor
EndSub
解析:
无需多看,一看就可以看出选项A)是正确的;下面来分析一下。
首先,设置标题属性用DialogTitle属性,四个选项都一样,所以这个不是区别;再看方法,选项A)用的是ShowOpen方法,即打开对话框,所以是正确的;选项B)用的是ShowFont方法,是字体设置对话框,不符合本题的意思,不正确;选项C)用的是Show方法,但是对话框没有此方法,所以也不正确;最后选项D)是用的ShowColor方法,是颜色选择对话框,所以也不符合本题的意思。
(25)如果要设计一个多窗体程序时,要设计一个封面窗体(名称(Name)为FormCover,标题(Caption为"多媒体演示"),其内部的各控件及其属性见下表。
控件
名称(Name)
标题(Caption)
图片框
Pic1
命令按钮1
Command1
"演示"
命令按钮2
Command2
"结束"
则设计出的窗体可能是
A)
B)
C)
D)
解析:
在多重窗体程序中,要建立的界面由多个窗体组成,每个窗体的界面设计都跟单个窗体的设计一样,无非是多了一个添加窗体的过程。
首先要添加一个窗体,通过"工程"菜单中的"添加窗体"命令向工程中添加一个窗体,然后向窗体中添加所需要的控件,最后设置各控件的属性;选项B)用的文本框而不是图片框,所以不正确;选项C)命令按钮的标题也没有按照题目要求的设置为"演示"和"结束",也没有用图片框而用的文本框,所以不正确;选项D)用了图像框而没有用图片框,命令按钮的标题也没有按照题目要求的设置为"演示"和"结束",所以不正确。
(26)下列语句中,不能实现循环100次的是
A)N=0
Do
N=N+1
LoopUntilN>=100
B)N=0
Do
N=N+1
LoopWhilen<100
C)N=0
N=N+1
Do
LoopUntilN<100
D)N=0
DoWhilen<100
N=N+1
Loop
解析:
选项C)中循环终止条件为N<100,在第一次循环时该条件就为True,所以只执行一次,不能循环100次。
(27)单击一次命令按钮后,下列程序的执行结果为
PrivateSubCommand1_Click()
DimmAsInteger,IAsInteger,x(10)AsInteger
ForI=0To4:
x(I)=I+1:
NextI
ForI=1To2:
CallPrioc(x):
NextI
ForI=0To3:
Printx(I);:
NextI
EndSub
PrivateSubPrioc(a()AsInteger)
StaticIAsInteger
Do
a(I)=a(I)+a(I+1)
I=I+1
LoopWhileI<2
EndSub
A)3475B)3574
C)1234D)1235
解析:
数组也可以作为函数或过程的参数,使用方法是直接使用数组名加括号也可以直接使用数组名,例如Proc(x)和Proc(x())都正确。
(28)下面程序段的运行结果是
a=1
b=1
Do
a=a+1
b=b+1
LoopUntilb>5
Print"k=";a;Spc(4);"b=";b+a
A)k=7b=14B)k=6b=6
C)k=4b=8D)k=6b=12
解析:
本题中的Do-LoopUntil循环为直到型循环结构,直到条件b>5为止,此时a=6,b=6,所以最后输出的结果是k=6b=12。
所以正确答案是选项D)。
(29)以下能够正确计算n!
的程序是
A)PrivateSubCommand1_Click()
n=5:
x=1
Do
x=x*I
I=I+1
LoopWhileIPrintx
EndSub
B)PrivateSubCommand1_Click()
n=5:
x=1:
I=1
Do
x=x*I
I=I+1
LoopWhileIPrintx
EndSub
C)PrivateSubCommand1_Click()
n=5:
x=1:
I=1
Do
x=x*I
I=I+1
LoopWhileI<=n
Printx
EndSub
D)PrivateSubCommand1_Click()
n=5:
x=1:
I=1
Do
x=x*I
I=I+1
LoopWhileI>n
Printx
EndSub
解析:
n!
=1×2×3×…×(n-1)×n,由于是累乘,因此x和i的初值都必须为1;其次就是循环执行条件的确定,由于使用的是While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是i<=n。
(30)下列程序段,在运行时最后输出的内容是
a=2
c=1
AAA:
c=c+a
Ifc<10Then
Printc
GoToAAA
Else
Print"10以内的奇数显示完毕"
EndIf
A)3B)7
C)9D)10以内的奇数显示完毕
解析:
在本题中使用了If语句与GoTo语句,来控制结构。
当c<10时,输出c,并继续运行;当大于10时,显示"10以内的奇数显示完毕。
"并结束程序。
因为c=c+a,c和a都是正数,总有大于10的时候,所以最后输出的一定是"10以内的奇数显示完毕"。
(31)单击命令按钮时,下列程序的执行结果为
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=2:
b=3:
c=4
PrintP2(c,b,A)
EndSub
PrivateFunctionP1(xAsInteger,yAsInteger,zAsInteger)
P1=2*x+y+3*z
EndFunction
PrivateFunctionP2(xAsInteger,yAsInteger,zAsInteger)
P2=P1(z,x,y)+x
EndFunction
A)21B)19
C)17D)34
解析:
对于多个过程或函数依次调用和处理与简单过程调用处理一样,本题先调用函数P2,而函数P2又调用函数P1,结果返回的顺序是从P1到P2,P2计算后输出到调用的地方。
(32)单击命令按钮时,下列程序的执行结果是
PrivateSubBook(xAsInteger)
x=x*2+1
Ifx<6Then
CallBook(x)
EndIf
x=x*2+1
Printx;
EndSub
PrivateSubCommand2_Click()
Book2
EndSub
A)2347B)1036
C)2244D)2450
解析:
此题在函数调用过程中采用了简单递归的方式,具体流程如下:
主调过程调用Book过程,把实参2传递给Book过程中的形参x,由x=x*2+1语句推出x=5,此时满足Book过程体中判断语句的判断条件,执行CallBook(x)语句,第二次调用Book过程。
由x=x*2+1语句得到x值为11,判断条件11<6为假,故返回此调用过程执行x=x*2+1语句,的x=23并输出,结束此次调用过程。
由于两次调用Book过程,第二次仍返回调用时的断点语句,即执行x=x*2+1,Printx,输出x的值为47,返回到主调过程,结束程序,两次输出为2347,正确答案为选项A)。
(33)有如下程序:
PrivateSubCommand1_Click()
DimkAsInteger,mAsInteger
DimpAsInteger
k=4:
m=1
p=PC(k,m):
Printp;
p=PC(k,m):
Printp
EndSub
PrivateFunctionPC(aAsInteger,bAsInteger)
StaticmAsInteger,iAsInteger
m=0:
i=2
i=i+m+1
m=i+a+b
PC=m
EndFunction
程序运行后,输出的结果为
A)46B)66
C)88D)1012
解析:
在Sub过程中,程序段先定义了3个Integer型变量k,m,p,并给k赋给初值4,m的初值为1,然后调用事件过程PC,并将它的值赋给p;在事件过程PC中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在PC中,将m,I定义为静态变量,所以第一次调用后的值仍然保留,但是m,I分别都有赋值语句,将它们的值变为0,2,所以返回值不变。
(34)有如下程序:
PrivateSubCommand1_Clic