1、二级 VISUAL+BASIC 笔试-288 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用2.线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,井按关键码的检索频率排好序3.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)
2、A.对象B.数据结构C.数据流D.目标4.在窗体上有一个命令按钮 Command1,编写下列程序:Private Sub Command1_Click()Print pp1(3,7)End SubPublic Function pp1(x As Single,n As Integer)As SingleIf n=0 Thenpp1=1ElseIf n Mod 2=1 Thenpp1=x*x+nElsepp1=x*x-nEnd IfEnd IfEnd Function程序运行后,单击该命令按钮,屏幕上显示的是( )。(分数:2.00)A.2B.1C.0D.165.对话框在关闭之前,不能继续执行应
3、用程序的其他部分,这种对话框属于( )。(分数:2.00)A.输入对话框B.输出对话框C.模式(模态)对话框D.无模式对话框6.设组合框 Combol 中有 3 个项目,则下列能删除最后一项的语句是( )。(分数:2.00)A.Combo1.RemoveItem TextB.Combo1.RemoveItem2C.Combvo1.RemoveItem3D.Combo1.RemoveItemCombo1.Listcount7.下列关于图片框控件的语句中不正确的是( )。(分数:2.00)A.Picture1.Picture=Picture2.PictureB.Picture1.Picture=L
4、oadPicture(“C:/vb60/Arw04Up.ico“)C.Picture1.Print Tab(20);CurrentX,CurrentYD.Picture1.Stretch=True8.要使文本框获得输入焦点,则应采用文本框控件的( )方法。(分数:2.00)A.GotFocusB.LostFocusC.KeyPressD.SetFocus9.Function 过程与 Sub 过程的最主要区别是( )。(分数:2.00)A.Function 过程一定要有形参,而 Sub 过程可以没有形参B.Function 过程的终端语句是 End Function,而 Sub 过程的终端语句是
5、 End SubC.Function 过程是用于计算函数值的,而 Sub 过程是用于改变属性值的D.Function 过程有返回函数值,而 Sub 过程没有返回值10.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段11.假定有下拉两个过程:Private Sub PPP(a As Single,b As Single)a=a+bPrint a,bb=a+bPrint a,bEnd SubPrivate Sub Form_Activate()x=18Call PPP(x),(x)Print xEnd
6、 Sub则下列说法中不正确的是( )。(分数:2.00)A.形参是 a 和 b,两个实参(x)和(x)允许重名B.形参是 a 和 b,实参(x)表示传值调用C.形参是 a 和 b,实参(x)表示是非传址调用D.形参是 a 和 b,两个实参(x)和(x)不允许重名12.在文本框中输入密码时,要求在文本框中只显示(*)号,则应当设置此文本框的( )属性。(分数:2.00)A.TextB.CaptionC.PasswordD.PasswordChar13.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审C.总
7、结D.都不正确14.通过文本框的( )属性可以获得当前插入点所在的位置。(分数:2.00)A.PositionB.SelStartC.SelLengthD.SelText15.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序和逻辑顺序相同16.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允昨使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法米模拟17.设已打开
8、5 个文件,文件号为 1、2、3、4、5。要关闭所有文件,则下列语句正确的是( )。(分数:2.00)A.Close#1,2,3,4,5B.Close#1,#2,#3,#4,#5C.Closeg#1-#5D.Close#1;#2,#3;#4;#518.为了使列表框中的项目分为多列显示,需要设置的属性为( )。(分数:2.00)A.ColumnsB.StyleC.ListD.Multi,Select19.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报20.下列关于多重窗体程序的叙述中,错误的是( )。(分数:2.00)A.用 Hi
9、de 方法不但可以隐藏窗体,而且能清除内存中的窗体B.在多重窗体程序中,各窗体的菜单是彼此独立的C.在多重窗体程序中,可以根据需要指定启动窗体D.对于多重窗体程序,需要单独保存每个窗体21.如果在 C 盘当前文件夹下已经存在名称为 Sdat.dat 的顺序文件,那么执行语句Open“c:/Sdat.dat“For Append As#1 之后,将( )。(分数:2.00)A.删除文件中的原有内容B.保留文件中原有内容,并在文件尾添加新内容C.保留文件中原有内容,并在文件头添加新内容D.以上均不对22.下列语句用于打开一个顺序文件 Open“C:/MyFile.txt“For OutPut,但该
10、语句的一个重要错误是没有( )。(分数:2.00)A.指定打开方式B.指定文件号C.指定打开文件名D.指定文件类型23.设置复选框或单选按钮的标题对齐方式的属性是( )。(分数:2.00)A.A7lighB.StyleC.AlignmentD.Sorted24.在 C 盘当前文件夹下有一个已建立好的顺序文件 Alph.txt,文件内容为只含有字母的一个字符串(有双引号界定符)。单击窗体,打开 Alph.txt 文件,读取字符串并显示在文本框 Text1 中,然后调用StrSort 过程将此字符串按 ASCII 码的顺序重新排列并显示在文本框 Text2 中,最后将重新排列的字符串存入 AlpO
11、.txt 文件中(无双引号界定符)。请选择横线处合适的语句( )。Private Sub Form_Load()Dim StrIn As String,StrOut As StringsOpen“C:/Alph.txt“For Input As #1_CloseText1.Text=StrIn_Text2.Text=StrOutOpen“C:/AlpO.txt“For Output As#2_CloseEnd SubPrivate Function StrSort(s As String)As StringDim s Arr() As String *1,i As Integer,j As I
12、nteger,n As IntegerDim t As String *1n=Len(s)ReDim sArr(n)For i=1 To ns Arr(i)=Mid(s,i,1)Next iFor i=1 To n-1For j=i+1 To nIf sArr(i)sArr(j) Thent=sArr(i):sArr(j):sArr(j):sArr(j)=tEnd IfNext j,iFor i=1 To nStrSort=StrSort xEnd Sub(分数:2.00)填空项 1:_44.下列程序的输出结果是_。Sub Prin()Dim B As StringA=1B=A MinEnd
13、Sub(分数:2.00)填空项 1:_47.下列事件过程的功能是:建立一个名为 Datal 的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1,2,3,90。请在空白处填上合适的代码,将程序补充完整。Private Type AngKA3 IntegerSinx As SingleCosx As SingleEnd Type_定义 Ang 类型的变量 KscPrivate Sub Form Click()Dim Y As SingleOpen“C:/Data1.txt“For Random As #1 Len=10Put #1,1,KscY=3.14159/180For i=
14、1 To 90Ksc.K=i_=Sin(i*Y)给变量 Ksc 的正弦函数值赋值Ksc.Cosx=Cos(i*Y)Next iClose #1End Sub(分数:4.00)填空项 1:_48.在窗体上建立一个单选按钮组 Option1 和一个图片框 Picture1,如图所示。当选择不同的单选按钮时,图片框中填充不同的图案,请填写程序的空白处,使程序完整。(分数:4.00)填空项 1:_二级 VISUAL+BASIC 笔试-288 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00
15、)A.自顶向下B.逐步求精C.模块化D.可复用 解析:解析 结构化程序设计的主要原则概括为自顶向下,逐步求精,限制使用 GOTO 语句。2.线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序 B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,井按关键码的检索频率排好序解析:解析 对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。3.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.0
16、0)A.对象B.数据结构C.数据流 D.目标解析:解析 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。4.在窗体上有一个命令按钮 Command1,编写下列程序:Private Sub Command1_Click()Print pp1(3,7)End SubPublic Function pp1(x As Single,n As Integer)As SingleIf n=0 Thenpp1=1ElseIf n Mod 2=1 Thenpp1=x*x+nElsepp1=x*x-nEnd IfEnd
17、 IfEnd Function程序运行后,单击该命令按钮,屏幕上显示的是( )。(分数:2.00)A.2B.1C.0D.16 解析:解析 本题比较简单,只要根据程序的执行条件和顺序就可以运算出该程序的最后输出结果。程序运算过程是:If n=0 Thenelse if n Mod 2=1 Then pp1=x*x+n=16。5.对话框在关闭之前,不能继续执行应用程序的其他部分,这种对话框属于( )。(分数:2.00)A.输入对话框B.输出对话框C.模式(模态)对话框 D.无模式对话框解析:解析 无模式窗体显示时,随后遇到的代码都要执行;模式窗体显示时,则随后的代码直到该窗体被隐藏或卸载时才自瞅行
18、。窗体的模式通过设置 Show 方法的参数实现。6.设组合框 Combol 中有 3 个项目,则下列能删除最后一项的语句是( )。(分数:2.00)A.Combo1.RemoveItem TextB.Combo1.RemoveItem2 C.Combvo1.RemoveItem3D.Combo1.RemoveItemCombo1.Listcount解析:解析 RemoveItem 方法用于从组合框中删除一项,其参数为该项所在的位置,索引从 0 开始,要删除题中的最后一项,可以用 Combo1.RemoveItem 2 或 Combo1.RemoveItem Combo1.Listcount-1
19、。7.下列关于图片框控件的语句中不正确的是( )。(分数:2.00)A.Picture1.Picture=Picture2.PictureB.Picture1.Picture=LoadPicture(“C:/vb60/Arw04Up.ico“)C.Picture1.Print Tab(20);CurrentX,CurrentYD.Picture1.Stretch=True 解析:解析 选项 A)中的语句是将图片框 2 的图片显示在图片框 1 中;选项 B)中的语句是在运行时载入图片;选项 C)是使用图片框控件的 Print 方法在图片框中输出文本;图片框控件没有 Stretch 属性。8.要使
20、文本框获得输入焦点,则应采用文本框控件的( )方法。(分数:2.00)A.GotFocusB.LostFocusC.KeyPressD.SetFocus 解析:解析 GotFocus 是当对象获得焦点时触发的事件;LostFocus 事件是在对象失去焦点时触发的事件;SetFocus 方法是将焦点移至指定的控件或窗体;KeyPress 事件是当用户按下和松开一个键时触发的事件。9.Function 过程与 Sub 过程的最主要区别是( )。(分数:2.00)A.Function 过程一定要有形参,而 Sub 过程可以没有形参B.Function 过程的终端语句是 End Function,而
21、Sub 过程的终端语句是 End SubC.Function 过程是用于计算函数值的,而 Sub 过程是用于改变属性值的D.Function 过程有返回函数值,而 Sub 过程没有返回值 解析:解析 无论是 Sub 过程还是 Function 过程的形式参数可以有或无,可以是一个或多个,因此选项A)是错误的;而且两者都可以通过传址参数来改变实参的值,所以选项 C)也是错误的;两者最本质的区别是,Function 过程有返回值,而 Sub 过程没有返回值。10.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物
22、理设计阶段解析:解析 数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将 E-R 图转换为关系模式。11.假定有下拉两个过程:Private Sub PPP(a As Single,b As Single)a=a+bPrint a,bb=a+bPrint a,bEnd SubPrivate Sub Form_Activate()x=18Call PPP(x),(x)Print xEnd Sub则下列说法中不正确的是( )。(分数:2.00)A.形参是 a 和 b,两个实参(x)和(x)允许重名B.形参是 a 和 b,实参(x)表示传值调用C.形参是 a 和
23、 b,实参(x)表示是非传址调用D.形参是 a 和 b,两个实参(x)和(x)不允许重名 解析:解析 过程调用时,实参的变量名用括号括起来,表示传值调用。实参传递时,参数允许重名,只要与形参在类型和个数上一一对应就可以了,因此选项 D)错误。12.在文本框中输入密码时,要求在文本框中只显示(*)号,则应当设置此文本框的( )属性。(分数:2.00)A.TextB.CaptionC.PasswordD.PasswordChar 解析:解析 Text 属性用来显示文本框中输入的文本,文本框没有 Caption 属性和 Password 属性;PasswordChar 属性中输入的字符或占位符可以替
24、代在文本框中输入的字符显示出来,从而达到隐藏实际输入字符的功能,该属性一般用于密码设置。13.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审 C.总结D.都不正确解析:解析 需求分析是软件定义时期的最后一个阶段。可概括为 4 个方面:需求获取;需求分析;编写需求规格说明书;需求评审。14.通过文本框的( )属性可以获得当前插入点所在的位置。(分数:2.00)A.PositionB.SelStart C.SelLengthD.SelText解析:解析 SelStart 属性返回或设置所选择的文本的起始点
25、,如果没有文本被选中,则指出插入点的位置;SelLength 属性返回或设置所选择的字符数;SelText 属性返回或设置包含当前所选择文本的字符串,如果没有字符被选中,则指出插入点的位置。文本框没有 Position 属性。15.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序和逻辑顺序相同解析:解析 在链表中因为除了存放数据元素之外,还要存放指针,所以链表花费的存储空间要比顺序表还要多,在插入和删除数据元素时,只需要移动相应的记录指针即可,在链表中,数据的物理结构与逻辑结构不一定相同,因为是靠指针
26、来实现对数据的指定的,所以不能进行随机存取。16.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允昨使用 GOTO 语句 D.语言中所没有的控制结构,应该采用前后一致的方法米模拟解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO 语句。其他 3 项为结构化程序设计的原则。17.设已打开 5 个文件,文件号为 1、2、3、4、5。要关闭所有文件,则下列语句正确的是( )。(分数:2.00)A.Close#1,2,3,4,5B.
27、Close#1,#2,#3,#4,#5 C.Closeg#1-#5D.Close#1;#2,#3;#4;#5解析:解析 文件的读写操作结束后,应将文件关闭,可以使用 Close 语句来实现。其格式为:Close#文件号,#文件号其中,“文件号”是可选的。如果指定了文件号,则关闭指定的文件,若省略文件号,则将关闭 Open 语句打开的所有活动文件。18.为了使列表框中的项目分为多列显示,需要设置的属性为( )。(分数:2.00)A.Columns B.StyleC.ListD.Multi,Select解析:解析 Columns 属性返回或设置一个值,以决定控件是水平还是垂直滚动以及如何显示列中的
28、项目。Columns 属性值为 0 时,控件为垂直滚动;Columns 属性等于 1 时,则列表框呈多行多列显示;Columns 属性值大于 1 时,控件为水平滚动,Columns 属性值的数量决定在控件中的可见宽度内显示列的数量。Columns 属性用来确定列表框的列数。19.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列 4 个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的:有穷性,一个算法必须在有限的时间内做完;拥有足够的情
29、报。20.下列关于多重窗体程序的叙述中,错误的是( )。(分数:2.00)A.用 Hide 方法不但可以隐藏窗体,而且能清除内存中的窗体 B.在多重窗体程序中,各窗体的菜单是彼此独立的C.在多重窗体程序中,可以根据需要指定启动窗体D.对于多重窗体程序,需要单独保存每个窗体解析:解析 Hide 方法只是使窗体隐藏,但仍在内存中,因此选项 A)错误。21.如果在 C 盘当前文件夹下已经存在名称为 Sdat.dat 的顺序文件,那么执行语句Open“c:/Sdat.dat“For Append As#1 之后,将( )。(分数:2.00)A.删除文件中的原有内容B.保留文件中原有内容,并在文件尾添加
30、新内容 C.保留文件中原有内容,并在文件头添加新内容D.以上均不对解析:22.下列语句用于打开一个顺序文件 Open“C:/MyFile.txt“For OutPut,但该语句的一个重要错误是没有( )。(分数:2.00)A.指定打开方式B.指定文件号 C.指定打开文件名D.指定文件类型解析:解析 Visual Basic 使用 Open 语句打开文件的格式为:Open 文件路径及文件名For 方式Access 存取类型锁定As#文件号Len=记录长度。其中,“文件路径及文件名”和“As 文件号”不能省略。23.设置复选框或单选按钮的标题对齐方式的属性是( )。(分数:2.00)A.A7lig
31、hB.StyleC.Alignment D.Sorted解析:解析 Alignment 属性用于设置控件中文本的对齐方式,文本左对齐,控件右对齐。默认值为0(vbLeftJustify),单选按钮或复选框在左边;值为 1(vbRightJustify)时,单选按钮或复选框在右边。24.在 C 盘当前文件夹下有一个已建立好的顺序文件 Alph.txt,文件内容为只含有字母的一个字符串(有双引号界定符)。单击窗体,打开 Alph.txt 文件,读取字符串并显示在文本框 Text1 中,然后调用StrSort 过程将此字符串按 ASCII 码的顺序重新排列并显示在文本框 Text2 中,最后将重新排
32、列的字符串存入 AlpO.txt 文件中(无双引号界定符)。请选择横线处合适的语句( )。Private Sub Form_Load()Dim StrIn As String,StrOut As StringsOpen“C:/Alph.txt“For Input As #1_CloseText1.Text=StrIn_Text2.Text=StrOutOpen“C:/AlpO.txt“For Output As#2_CloseEnd SubPrivate Function StrSort(s As String)As StringDim s Arr() As String *1,i As In
33、teger,j As Integer,n As IntegerDim t As String *1n=Len(s)ReDim sArr(n)For i=1 To ns Arr(i)=Mid(s,i,1)Next iFor i=1 To n-1For j=i+1 To nIf sArr(i)sArr(j) Thent=sArr(i):sArr(j):sArr(j):sArr(j)=tEnd IfNext j,iFor i=1 To nStrSort=StrSort xEnd Sub(分数:2.00)填空项 1:_ (正确答案:Mid(s,i,1))解析:解析 分析题目和程序段可知,空白处的作用是
34、取出字符串 s 中的第 i 个字符,这里可以使用Mid 函数来取出第 i 个字符,然后对比该字符是否是字符 a,如果是,则变量 x 加 1,如果不是则跳过 if后面的语句继续循环,最后输出 x。44.下列程序的输出结果是_。Sub Prin()Dim B As StringA=1B=A MinEnd Sub(分数:2.00)填空项 1:_ (正确答案:Min=arrl(i))解析:解析 题目要求输出数组中的最小值,分析程序可知,本程序求数组最小值的算法是:假设最小的值是第一个数组元素,并把它存在 Min 变量中,然后从数组的第二个元素开始逐个与 Min 变量对比,如果有比 Min 更小的数,则
35、赋值给 Min,这样对比到数组最后一个元素时,就能找到最小的元素,且它存储在 Min 变量中,因此最后只要输出 Min 变量值即可。47.下列事件过程的功能是:建立一个名为 Datal 的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1,2,3,90。请在空白处填上合适的代码,将程序补充完整。Private Type AngKA3 IntegerSinx As SingleCosx As SingleEnd Type_定义 Ang 类型的变量 KscPrivate Sub Form Click()Dim Y As SingleOpen“C:/Data1.txt“For Ran
36、dom As #1 Len=10Put #1,1,KscY=3.14159/180For i=1 To 90Ksc.K=i_=Sin(i*Y)给变量 Ksc 的正弦函数值赋值Ksc.Cosx=Cos(i*Y)Next iClose #1End Sub(分数:4.00)填空项 1:_ (正确答案:Dim Ksc As Ang Ksc.Sinx)解析:解析 声明用户定义类型的变量格式为:Dim 变量名 as 用户定义类型名;定义了记录类型后,给该类型变量赋值时用“变量名.元素=要赋的值”的格式进行赋值。48.在窗体上建立一个单选按钮组 Option1 和一个图片框 Picture1,如图所示。当选
37、择不同的单选按钮时,图片框中填充不同的图案,请填写程序的空白处,使程序完整。(分数:4.00)填空项 1:_ (正确答案:Index As Integer Index)解析:解析 控件数组中的元素同享一个事件过程,过程有一个下标参数 Index,用来区别数组中的不同控件,题目中单选按钮是控件数组,因此,它的 Click 事件过程带有参数 Index 的定义(Index As Integer);要求根据选择不同的单选按钮,来设置图片框的填充图案,图片框中的图案样式可以通过修改FillStyle 属性值来实现,FillStyle 的取值范围为 07,题中用了 7 个单选按钮来表示每种图片框绘图的样式,因此第 2 个空应填写 Index 参数。