1、二级 VISUAL+BASIC 笔试-343 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于过程叙述不正确的是( )。(分数:2.00)A.过程的传值调用是将实参的具体值传递给形参B.过程的传址调用是将实参在内存的地址传递给形参C.过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的D.无论过程传值调用还是过程传址调用,参数传递都是双向的2.下列程序运行后在立即窗口输出结果是( )。Private Sub Form_Click()x=“a“:y=“b“z=1:u=2Debug. Print x; y, z; uDebug.
2、 Print z; x, y; uEnd Sub(分数:2.00)A.a b 1 21 ab 2B.a b 1 21 a b 2C.a b 1 21 a b 2D.a b 1 21 a b 23.设计程序时,应采纳的原则之一是( )。(分数:2.00)A.程序的结构应有助于读者的理解B.限制 GOTO 语句的使用C.减少或取消注释行D.程序越短越好4.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且
3、各种存储结构影响数据处理的效率5.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项不可见,应使用的语句为( )。(分数:2.00)A.Menultem.Enabled=FalseB.MenuItem.Enabled=TrmeC.Menultem.Visible=TrueD.MenuItem.Visible=Flase6.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。(分数:2.00)A.调用语句B.命令C.口令D.消息7.在随机文件中使用用户自定义数据类型时,要注意它的成员的要求,它的成员不能是( )。(分数:2.00)A.定长字符串和数组B.变长字符串和
4、动态数组C.货币型和日期型D.变长字符串和货币型8.为了在列表框中使用Ctrl和Shift键进行多个列表项的选择,应将列表框的 MultiSelect 属性设置为( )。(分数:2.00)A.0B.2C.FalseD.True9.在窗体上添加一个文本框 Text 1,然后编写如下的 Load 事件过程,则程序运行结果为( )。Private Sub Form_Load0Text1. Text=“Text1. SetFocusFor k = 1 To 5t=t*kNext kText1.Text = tEnd Sub(分数:2.00)A.在文本框中显示 120B.文本框中仍为空C.在文本框中显示
5、 1D.出错10.使用 ReDim Preserve 语句,可以( )。(分数:2.00)A.改变数组最后一维的大小B.改变数组第一维的大小C.改变数组所有维的大小D.改变数组维数和所有维的大小11.组合框控件是将( )组合成一个控件。(分数:2.00)A.列表框控件和文本框控件B.标签控件和列表框控件C.标签控件和文本框控件D.复选框控件和选项按钮控件12.表达式 Right(“Beijing“,4)的值是( )。(分数:2.00)A.BeijB.jingC.eijiD.ijin13.复选框的 Value 属性为 0 时,表示该复选框( )。(分数:2.00)A.未被选中B.被选中C.框内有
6、灰色的勾D.操作有误14.关于 MDI 窗体下列说法正确的是( )。(分数:2.00)A.一个应用程序可以有多个 MDI 窗体B.子窗体可以移到 MDI 窗体以外C.不可以在 MDI 窗体上放置按钮控件D.MDI 窗体的子窗体不可以拥有菜单15.下列程序段的输出结果为( )。A=0Print A+IA=3(分数:2.00)A.1B.-1C.3D.016.若要将一个窗体从内存中清除,应该使用的方法是( )。(分数:2.00)A.ShowB.UnLoadC.LoadD.Hide17.要设定文本框内的文字内容是否允许修改,应该设置的属性是( )。(分数:2.00)A.TextB.LockedC.Pa
7、sswordCharD.Multiline18.通用对话框中打开“颜色对话框”的方法是( )。(分数:2.00)A.ShowOpenB.ShowColorC.ShowSaveD.ShowPrinter19.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟20.下列描述错误的是( )。(分数:2.00)A.继承分为多重继承和单继承B.对象间靠传递消息实现通信C.在外面看不到对象的内部特征是基于对象的
8、“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合21.在窗体上画一个命令按钮 Command1 和一个文本框 Text1,然后编写如下程序: Private Sub Command1_Click()A=InputBox(“请输入日期(131)“)t=“旅游景点:“_Art1 (n)End Sub运行程序后,单击命令按钮,输出结果是( )。(分数:2.00)A.11 3B.3 11C.13 3D.3 13二、填空题(总题数:13,分数:26.00)36.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序
9、。(分数:2.00)填空项 1:_37.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_38.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_39.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_40.数据流图的类型有 1 和事务型。(分数:2.00)填空项 1:_41.DefSng a 定义的变量 a 是_类型的变量。(分数:2.00)填空项 1:_42.有如下程序:DefStr X-ZX=“123“Y=“456“Z=X+YPrint ZEnd运行后,输出结果是_。(分数:2.00)填空项 1:_
10、43.表达式 14/5*2 的值是 1。(分数:2.00)填空项 1:_44.表达式 Len(Str(1.3)Mod 2 的值为 1。(分数:2.00)填空项 1:_45.设 A=2,B=-2,则表达式 A/2+1B+5 or B*(-2)=6 的值是_。(分数:2.00)填空项 1:_46.滚动条的最小值属性是 1,最大值属性是 Max。(分数:2.00)填空项 1:_47.在程序的每个空白处填写一条适当的语句,使程序完成相应的操作。程序实现的功能是:窗体上有文本框 Text1 和若干复选框,其中复选框 Check1 设置文本框 Text1 显示的文本是否加下划线。Check1 的单击事件过
11、程如下:Private Sub Check1_Click()If_ ThenText1.FontUnderline=TreeElseIf_ThenText1.FontUndefiine=FalseEnd IfEnd Sub(分数:2.00)填空项 1:_48.在窗体上画两个组合框,其名称分别为 Combo1、Comb02,然后画两个标签,名称分别为 Label1、 Labe12。要求程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空使程序完整。Private Sub Comb01_Click()Call ShowItem(Combo1,Labe11)E
12、nd SubPrivate Sub Combo2_Click()Call ShowItem(Combo2, Labe12)End SubPublic Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)_.Caption=_.TextEnd Sub(分数:2.00)填空项 1:_二级 VISUAL+BASIC 笔试-343 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于过程叙述不正确的是( )。(分数:2.00)A.过程的传值调用是将实参的具体值传递给形参B.过程的传址调用是将实参
13、在内存的地址传递给形参C.过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的D.无论过程传值调用还是过程传址调用,参数传递都是双向的 解析:解析 过程传值操作是将实参的值传递给子过程,传递是单方方向的,而传地址操作是双方向的,是将实参的地址传递给形参,形参的变化将影响实参的变化。2.下列程序运行后在立即窗口输出结果是( )。Private Sub Form_Click()x=“a“:y=“b“z=1:u=2Debug. Print x; y, z; uDebug. Print z; x, y; uEnd Sub(分数:2.00)A.a b 1 21 ab 2B.a b 1 21 a
14、 b 2 C.a b 1 21 a b 2D.a b 1 21 a b 2解析:解析 用 print 输出多个表达式或字符串时,各表达式用分隔号(逗号、分号、空格)隔开。如果输出的各表达式之间用逗号分隔,则按标准输出格式(以 14 个字符位置为单位把一个输出行分为若干个区段)显示数据项;如果以分号或空格作分隔符,则按紧凑输出格式输出数据。 题中,以“-”表示分区段的 14 个字符的位置,选项 B)符合题童。3.设计程序时,应采纳的原则之一是( )。(分数:2.00)A.程序的结构应有助于读者的理解 B.限制 GOTO 语句的使用C.减少或取消注释行D.程序越短越好解析:解析 程序设计的风格主要
15、强调程序的简单、清晰和可理解性,以便读者理解。程序滥用 GOTO 语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解,不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。4.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 解析:解析 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的
16、存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。5.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项不可见,应使用的语句为( )。(分数:2.00)A.Menultem.Enabled=FalseB.MenuItem.Enabled=TrmeC.Menultem.Visible=TrueD.MenuItem.Visible=Flase 解析:解析 Enabled 属性用来设置一个窗体或控件是否能够对用户产生的事件作出反应,设为 False时,菜单项在程序运行时失效,不响应用户的操作;设为 True 时,菜单项在程序运行有效,能响应用户的操作Visible 属
17、性用来设置窗体或控件是否可见,设为 False 时,控件不可见;设为 Trae 时,控件可见。6.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。(分数:2.00)A.调用语句B.命令C.口令D.消息 解析:解析 在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,它告诉接受者需要做哪些处理,但并不指示接受者应该怎么完成这些处理,接受者独立决定采用什么方式完成所需的处理。7.在随机文件中使用用户自定义数据类型时,要注意它的成员的要求,它的成员不能是( )。(分数:2.00)A.定长字符串和数组B.变长字符串和动态数组 C.货币型和日期型D.变长字符串和货币
18、型解析:解析 用户自定义的类型中,成员可以是任何基本数据类型,也可以是用户定义的类型。但要注意的是:在记录数据类型中的元素可以是变长字符串,也可以是定长字符串,当在随机文件中使用时,必须使用定长字符串:记录类型中不能使用动态数组。8.为了在列表框中使用Ctrl和Shift键进行多个列表项的选择,应将列表框的 MultiSelect 属性设置为( )。(分数:2.00)A.0B.2 C.FalseD.True解析:解析 MultiSelect 属性运行时只读,返回或设置一个值,用于指示是否能够在控件中进行复选以及如何进行复选。默认值为 0,表示不允许复选;值为 1 时,表示简单复选,即鼠标单击或
19、按下空格键,在列表中选中或取消选中项,用箭头移动焦点;值为 2 时,表示扩展复选,即按下Shift键并单击鼠标或按下shift键以及一个箭头键(上箭头、下箭头、左箭头和右箭头),将在以前选中项的基础上扩展选择到当前选中项;按下Ctrl键并单击鼠标,在列表中选中或取消选中项。9.在窗体上添加一个文本框 Text 1,然后编写如下的 Load 事件过程,则程序运行结果为( )。Private Sub Form_Load0Text1. Text=“Text1. SetFocusFor k = 1 To 5t=t*kNext kText1.Text = tEnd Sub(分数:2.00)A.在文本框中
20、显示 120B.文本框中仍为空C.在文本框中显示 1D.出错 解析:解析 本题中“Text1. SetFocus”语句运行时会出现错误。因为焦点只能移到可视的窗体或控件,而在窗体的 Load 事件完成前窗体或窗体上的控件是不可视的,所以编译出错。如果不是在 Form Load 事件过程完成之前首先使用 Show 方法显示窗体的话,是不能使用 SetFocus 方法将然点移至正在自己的Load 事件中加载的窗体的。10.使用 ReDim Preserve 语句,可以( )。(分数:2.00)A.改变数组最后一维的大小 B.改变数组第一维的大小C.改变数组所有维的大小D.改变数组维数和所有维的大小
21、解析:解析 使用 ReDim 语句可以反复地改变数组的元素以及维数的数目;如果使用了 Preserve 关键字,还可以重新定义数组最末维的大小,但不能改变维数的数目。注意:在使用 Preserve 时,只能通过改变上界来改变数组的大小:改变下界则会导致错误。如果将数组改小,则被删除的元素中的数据就会丢失。11.组合框控件是将( )组合成一个控件。(分数:2.00)A.列表框控件和文本框控件 B.标签控件和列表框控件C.标签控件和文本框控件D.复选框控件和选项按钮控件解析:解析 组合框控件结合了文本框控件和列表框控件的功能,既可在控件的文本框部分输入信息,也可在控件的列表框部分选择列表项。12.
22、表达式 Right(“Beijing“,4)的值是( )。(分数:2.00)A.BeijB.jing C.eijiD.ijin解析:解析 Right(string,length)函数是字符串截取函数,功能是返回从字符串 string 右边取出的指定数量“length”个字符。13.复选框的 Value 属性为 0 时,表示该复选框( )。(分数:2.00)A.未被选中 B.被选中C.框内有灰色的勾D.操作有误解析:解析 复选框的 Value 属性用来返回或设置控件的状态,它可取 3 种属性值 x 当取 0 时,表示未选中(默认值);当取 1 时,表示选中;当取 2 时,表示为变灰。运行时只有
23、0 和 1 两种状态。14.关于 MDI 窗体下列说法正确的是( )。(分数:2.00)A.一个应用程序可以有多个 MDI 窗体B.子窗体可以移到 MDI 窗体以外C.不可以在 MDI 窗体上放置按钮控件 D.MDI 窗体的子窗体不可以拥有菜单解析:解析 本题是考查多文档窗体 MDI 窗体的一些基本知识。多文档窗体 MDI 的特点是;一个应用程序只能有一个 MDIForm 窗体,但是可以有多个 MDI 子窗体。MDIForm 窗体只包含 Menu 和 PictureBox 控件以及具有 Align 属性的自定义控件。MDI 于窗体可以有菜单。如果 MDI 子窗体有菜单,那么,当 MDI 于窗体
24、为活动窗体时,子窗体的菜单条自动取代 MDIForm 对象的菜单条。最小化的 MDI 于窗体以图标形式出现在 MDIForm 中。15.下列程序段的输出结果为( )。A=0Print A+IA=3(分数:2.00)A.1 B.-1C.3D.0解析:解析 程序段执行顺序是;A=0;Print A+1;Print 1;A=3,虽然最后一条语句将 3 赋给变量 A,但并没有输出。所以输出结果为第 2 条语句的执行结果 1。16.若要将一个窗体从内存中清除,应该使用的方法是( )。(分数:2.00)A.ShowB.UnLoad C.LoadD.Hide解析:解析 要把窗体从内存中清除出去,应使用 Un
25、load 方法;Load 正好相反,是将窗体载入内存,但并不显示:Show 是装入并显示; Hide 是隐藏但不清除,与 Show 恰恰相反。17.要设定文本框内的文字内容是否允许修改,应该设置的属性是( )。(分数:2.00)A.TextB.Locked C.PasswordCharD.Multiline解析:解析 Locked 属性用来指定文本框是否可以桩编辑;Text 属性用来显示文本框中输入的文本;PasswordChar 属性指定所输入的字符或占位符在 TextBox 控件中是否要显示出来;Multiline 属性指定 TextBox 控件是否能够接受和显示多行文本。18.通用对话框
26、中打开“颜色对话框”的方法是( )。(分数:2.00)A.ShowOpenB.ShowColor C.ShowSaveD.ShowPrinter解析:解析 在通用对话框中打开“颜色对话框”的方法是:使用 ShowColor 方法,或者将通用对话框的 Action 属性设置为 3。19.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句 D.语言中所没有的控制结构,应该采用前后一致的方法来模拟解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法
27、之一,但不是绝对不允许使用 GOTO 语句。其他 3 项为结构化程序设计的原则。20.下列描述错误的是( )。(分数:2.00)A.继承分为多重继承和单继承B.对象间靠传递消息实现通信C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征 D.类是具有共同属性、共同方法的对象的集合解析:解析 对象的封装性是指从外面看只能看到对象的外部特性;而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。21.在窗体上画一个命令按钮 Command1 和一个文本框 Text1,然后编写如下程序: Private Sub Command1_Click()A=InputBox(“请输入
28、日期(131)“)t=“旅游景点:“_Art1 (n)End Sub运行程序后,单击命令按钮,输出结果是( )。(分数:2.00)A.11 3 B.3 11C.13 3D.3 13解析:解析 本题使用 For 循环给数组 Arr1、Art2 的各个元素赋值, Art1 的 5 个元素分别赋值为1、2、3、4、5:循环后 i 的值为 5, Arr2(n)=2*n+i=11,因循环时 n-直没有变化,因此,Arr2(n)=Arr2(3)。在窗体上输出时,Arr2(n)=Ad(3)=11 Arr1(n)=fur1(3)=3。二、填空题(总题数:13,分数:26.00)36.在程序设计阶段应该采取 1
29、 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_ (正确答案:自顶向下)解析:解析 程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡。上述方法概括为:自顶向下,逐步细化。37.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_ (正确答案:功能性)解析:解析 注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,给出程序的整体说明;功能性注释的位置一般嵌在源程序体之中,主要描述其后的语句或程序做什么。38.在面向对象方法中,
30、类的实例称为 1。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 在面向对象的程序设计方法中,类是具有相同的属性或方法的对象的抽象,对象是类的实例。39.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_ (正确答案:19)解析:解析 在任意一棵二叉树中,度数为。的结点(即叶子结点)总比度为 2 的结点多一个,因此该二叉树中叶子结点为 18+1=19。40.数据流图的类型有 1 和事务型。(分数:2.00)填空项 1:_ (正确答案:变换型)解析:解析 典型的数据流类型有两种,变换型和事务型。41.DefSng a 定义的变
31、量 a 是_类型的变量。(分数:2.00)填空项 1:_ (正确答案:单精度)解析:解析 用 DefSng 语句可以定义变量,一般格式:DefSng 数值范围,常用的语句及其定义的数据类型如下:*42.有如下程序:DefStr X-ZX=“123“Y=“456“Z=X+YPrint ZEnd运行后,输出结果是_。(分数:2.00)填空项 1:_ (正确答案:123456)解析:解析 由于“+”前后两个变量都为字符串变量,因此,此时“+”作为连接符将 x 和 Y 两个字符串连接起来,所以 z 的值为“123456“。43.表达式 14/5*2 的值是 1。(分数:2.00)填空项 1:_ (正确
32、答案:5.6)解析:解析 “/”和“*”优先级相同,当运算符优先级相同时,表达式遵循从左向右计算的原则,表达式 14/5*2 运算的过程为:14/5*22.8*25.6。44.表达式 Len(Str(1.3)Mod 2 的值为 1。(分数:2.00)填空项 1:_ (正确答案:0)解析:解析 解本题之窍门有两点:运算的先后顺序,这里应该是 Str 函数Len 函数Mod(取模)计算;Sir 函数和 Leal 函数的功能,前者是将数字转为字符串,注意转换后数字前头会保留一空位表示正负。表达式 Len(Str(1.3)Mod 2 中 1.3 转换后为“_1.3”(“_”表示空格)。Len 函数用来
33、计算字符串的长度,“_1.3”长度为 4(空格、小数点各算一个长度)。45.设 A=2,B=-2,则表达式 A/2+1B+5 or B*(-2)=6 的值是_。(分数:2.00)填空项 1:_ (正确答案:False)解析:解析 表达式的运算顺序是:先进行算术运算,然后进行比较运算,量后进行逻辑运算。表达式 A/2+1B+5 Or B*(-2)=6 的运算过程为;A/2+1B+5 Or B*(-261.0+13 Or 4=6False or FalseFalse。46.滚动条的最小值属性是 1,最大值属性是 Max。(分数:2.00)填空项 1:_ (正确答案:Min)解析:解析 在一般情况下
34、,垂直滚动条的值由上而下递增,量上端代表最小值用 Min 属性表示;量下端代表最大值用 Max 属性表示。水平滚动条的值从左向右递增,最左端代表最小值也是用 Min 属性表示;量右端代表最大值也是用 Max 属性表示。滚动条的值均以整数表示,其取值范围为-32 768-32 767。47.在程序的每个空白处填写一条适当的语句,使程序完成相应的操作。程序实现的功能是:窗体上有文本框 Text1 和若干复选框,其中复选框 Check1 设置文本框 Text1 显示的文本是否加下划线。Check1 的单击事件过程如下:Private Sub Check1_Click()If_ ThenText1.F
35、ontUnderline=TreeElseIf_ThenText1.FontUndefiine=FalseEnd IfEnd Sub(分数:2.00)填空项 1:_ (正确答案:Check1.Value=1 Check1.Value=0)解析:解析 题目要求通过选中复选框 Check1 来设置文本框的文本是否加下划线,因此判断条件需要对复选框是否选中进行判断,因此 If 语句后面应填 “Check1.Value=1”语句,ElaoIf 后面应填“Check1.Value=0”语句。48.在窗体上画两个组合框,其名称分别为 Combo1、Comb02,然后画两个标签,名称分别为 Label1、
36、Labe12。要求程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空使程序完整。Private Sub Comb01_Click()Call ShowItem(Combo1,Labe11)End SubPrivate Sub Combo2_Click()Call ShowItem(Combo2, Labe12)End SubPublic Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)_.Caption=_.TextEnd Sub(分数:2.00)填空项 1:_ (正确答案:tmpLabel tmpCombo)解析:解析 标签控件的 Caption 属性显示标签中的内容,组合框的 Text 属性显示选择或输入的数据项的内容,要把选择的项目显示在标签中,应该是用组合框的 Text 为标签的 Caption 属性赋值。用户定义的 ShowItem 过程中定义了两个控件型参数(tmpCombo 和 tmpLabel),因此,在该过程中使用 tmpCombo和 tmpLabel 来表示组合框和标签控件。