1、计算机二级(VB)9 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:25,分数:1750.00)1.下列程序的运行结果为( )。 Dim a(-1 To 6) For i=LBound(a,1)To UBound(a,1) a(i) = i Next i Print a (LBound(a,1);a(UBound(a,1) (分数:70.00)A.选择查询B.删除查询C.更新查询D.追加查询2.可以在常量的后面加上类型说明符以显示常量的类型,可以表示整型常量的是( )。(分数:70.00)A.B.#C.!D.$3.有如下事件
2、过程: Private Sub Command1_Click( ) Dim m AS Integer,n AS Integer m=2:n=1 Print “m=“;m;“n=“;n Call TOD(m,n) Print “m=“;m;“n=“;n End Sub Sub TOD(x,y) x=x2 y=y3 End Sub 程序运行后,输出的结果为( )。 (分数:70.00)A.Swing 胜过 AWT 的主要优势在于 MVC 体系结构的普遍使用B.MVC 用户界面存在 3 个通讯对象:模型、视图和控件C.MVC 其思想是把数据的内容本身和显示方式分离开来D.以上说法都正确4.设菜单中有
3、一个菜单项为“Open”。若要为该菜单命令设置访问键,即按下 Alt 及字母 O 时,能够执行“Open”命令,则在菜单编辑器中设置“Open”命令的方式是( )。 (分数:70.00)_5.下列有关子菜单的说法中,错误的是( )。(分数:70.00)A.除了 Click 事件之外,菜单项不可以响应其他事件B.菜单项的索引号必须从 1 开始C.每个菜单项都是一个控件,与其他控件一样也有其属性和事件D.菜单的索引号可以不连续6.有如下程序: Private Sub Commandl_Click() Dim a As Single Dim b As Single a=2:b=4 Call CS(a
4、,b) End Sub Sub CS(x As Single,y As Single) t=X x=t/y y=t Mod y End Sub 程序运行后,单击命令按钮,a 和 b 的值分别为( )。 (分数:70.00)A.Dim pict3,4As IntegerB.Dim pict(3,4)As IntegerC.Dim pict34As IntegerD.Dim pict(3:4)As Integer7.下面程序段执行结果为( )。 x=Iht(Rnd()+4) Select Case x Case 5 Print“excellent“ Case 4 Print“good“ Case
5、3 Print“paSS“ Case Else Print “fail“ End Select (分数:70.00)A.excellentB.goodC.passD.fail8.在窗体上画一个名称为 Text1 的文本框,一个名称为 Command1 的命令按钮,然后编写如下事件过程和通用过程: Private Sub Command1_Click() n = Val(Text1.Text) If n/2 = n/2 Then f = f1(n) Else f = f2(n) End If Print f; n End Sub Public Function f1(ByRef x) x=x*x
6、 f1=x+x End Function Public Function f2(ByVal x) x=x*x f2=x+x+x End Function 程序运行后,在文本框中输入 6,然后单击命令按钮,窗体上显示的是( )。 (分数:70.00)_9.表达式 5 Mod 3+3/5*2 的值是( )。 (分数:70.00)_10.关于货币型数据的说明,正确的是( )。(分数:70.00)A.货币型数据有时可以表示成整型数据B.货币型数据与浮点型数据完全一样C.货币型数据是由数字和小数点组成的字符串D.货币型数据是小数点位置固定的实型数11.有如下事件过程: Sub ABD(x,y,z) z=
7、X +y End Sub Private Sub Command1 _ Click( ) a=30:b=40 Call ABD(a,b,c) Print c End Sub 运行上面的程序,单击命令按钮,输出结果为( )。 (分数:70.00)A.70B.70.0C.7,0E+1D.显示错误信息12.在默认情况下,InputBox 函数返回值的类型为( )。(分数:70.00)A.逻辑类型B.字符串型C.数值型D.日期型13.在窗体上画一个命令按钮,然后编写如下程序 Private Sub Command4 Click() Dim a As Integer,b As Integer a=1 b
8、=2 Print N(a,b) End Sub Function N(x As Integer,y As Integer)As Integer N=IIf(xy,x,y) End Function 程序运行后,单击命令按钮,输出结果为( )。 (分数:70.00)A.lB.2C.5D.814.下面程序段执行结果为( )。 x=Int(Rnd()+3) Select Case x Case 5 Print “excellent“ Case 4 Print “good“ Case 3 Print“pass“ Case Else Print“fail“ End Select (分数:70.00)A.
9、virtual void vf(int)B.void vf(int)=0C.virtual void vf(=0)D.virtual void yf(int) 15.根据变量的作用域,可以将变量分为 3 类,分别为( )。(分数:70.00)A.局部变量、模块变量和全局变量B.局部变量、模块变量和标准变量C.局部变量、模块变量和窗体变量D.局部变量、标准变量和全局变量16.以下 Case 语句中错误的是( )。 (分数:70.00)_17.可以实现从键盘输入一个作为双精度变量 a 的值的语句是( )。(分数:70.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.
10、函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义18.单击一次命令按钮后,下列程序的执行结果是( )。 Private Sub Command1_Click() s=P(1) +P(2) +P(3) +P(4) Print s End Sub Public Function P(N As Integer) Static Sum For i=1 To N Sum=Sum+i Next i P=Sum End Function (分数:70.00)A.1 1 * #B.1 1 * #C.1 1 * # 1 1 * # 1 2 * #D.1 1 * # 1 1 * # 1 2
11、 * #19.表达式 32 Mod l4/23 的值是( )。(分数:70.00)A.1B.0C.2D.320.下列程序段的执行结果为( )。 I=4 x=5 Do I=I+1 x=x+2 Loop Until I=7 Print“I=“;I Print“X=“;x (分数:70.00)A.1B.2C.3D.421.假定有下表所列的菜单结构: (分数:70.00)A.Private Sub bigicon_Click() bigicon.Checked = False End SubB.Private Sub bigicon_Click() Me.appear.bigicon.Checked
12、= True End SubC.Private Sub bigicon_Click() bigicon.Checked = True End SubD.Private Sub bigicon_Click() appear.bigicon.Checked = True End Sub22.下列程序的功能是调用字体对话框来设置文本框字体,单击按钮弹出对话框后,按 Cancel 键退出对话框,则( )。 Private Sub Command1_Click( ) CommonDialoglCancelError=True CommonDialoglFlags=cdlCFEffects Or cdlD
13、FBotb CommonDialoglAction=4 CommonDialoglShowFont Text1.Font.Name=CommonDialoglFontName Text1FontSize=CommonDialoglFontSize Text1FontBold=CommonDialog1FontBold Text1FontItalic=CommonDialog1FontItalic Text1FontUnderline=CommonDialog1FontUnderline Text1FontStrikethru=CommonDialog1FontStrikethru Text1F
14、oreColor=CommonDialog1Color End Sub (分数:70.00)A.FindNextB.FindRecordC.GoToRecordD.Requery23.设在窗体上有个文本框,然后编写如下的事件过程: Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) Const Alt=4 Const Key_F2= s End Sub (分数:3.00)填空项 1:_填空项 1:_填空项 1:_44.浮点数由 3 部分组成,即符号、 1 和尾数。(分数:3.00)填空项 1:_45.Visual Bas
15、ic 对象可以分为两类,分别为 1 和 2。(分数:3.00)填空项 1:_46.数据结构分为逻辑结构与存储结构,线性链表属于 1。(分数:-1.00)填空项 1:_47.软件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_48.软件危机出现于 60 年代末,为了解决软件危机,人们提出了 1 的原理来设计软件这就是软件工程诞生的基础。 (分数:-1.00)填空项 1:_49.在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 1。(分数:-1.00)填空项 1:_50.软件工程的出现是由于 1。(分数:-1.00)填
16、空项 1:_计算机二级(VB)9 答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:25,分数:1750.00)1.下列程序的运行结果为( )。 Dim a(-1 To 6) For i=LBound(a,1)To UBound(a,1) a(i) = i Next i Print a (LBound(a,1);a(UBound(a,1) (分数:70.00)A.选择查询 B.删除查询C.更新查询D.追加查询解析:本题应该把 swap( )函数改成这样:swap(int * P,int * q)int t ; t= * p; *
17、p=*q;*q=t;执行程序时,先将 a 的地址传递给指针变量 p,b 的地址传递给指针变量 q,然后将*p(a 的值)的值传递给t,将*q(b 的值)传递给 * p,将 t 的值传递给 * q,从而将 a 值和 b 值互换。2.可以在常量的后面加上类型说明符以显示常量的类型,可以表示整型常量的是( )。(分数:70.00)A. B.#C.!D.$解析:下面是常量类型及其类型说明符: 整型 长整型 n End Sub Public Function f1(ByRef x) x=x*x f1=x+x End Function Public Function f2(ByVal x) x=x*x f
18、2=x+x+x End Function 程序运行后,在文本框中输入 6,然后单击命令按钮,窗体上显示的是( )。 (分数:70.00)_解析:9.表达式 5 Mod 3+3/5*2 的值是( )。 (分数:70.00)_解析:10.关于货币型数据的说明,正确的是( )。(分数:70.00)A.货币型数据有时可以表示成整型数据B.货币型数据与浮点型数据完全一样C.货币型数据是由数字和小数点组成的字符串D.货币型数据是小数点位置固定的实型数 解析:货币型数据是 Visual Basic 特有的一种数据结构,是专门用来表示货币数量的数据类型。货币型数据不能表示成整型数据 的形式,这是使用“货币”数
19、据的实际需要决定的。货币型数据是数值的,经常要进行各种运算,不能是字符串。货币型数据与浮点型数据都 是带有小数点的数,但货币型数据小数点后的有效数位固定为 4 位。11.有如下事件过程: Sub ABD(x,y,z) z=X +y End Sub Private Sub Command1 _ Click( ) a=30:b=40 Call ABD(a,b,c) Print c End Sub 运行上面的程序,单击命令按钮,输出结果为( )。 (分数:70.00)A.70 B.70.0C.7,0E+1D.显示错误信息解析:在此题中,定义了一个求和函数,有三个形参,第三个形参的值是前两个形参的和,
20、语句z=x+y就是实现的这个功能;在主调过程中,定义了两个变量并赋给初值 a=30:b=40,然后用Call 关键字调用函数过程 Call ABD (a,b,c),然后输出 c的值,输出结果 70。12.在默认情况下,InputBox 函数返回值的类型为( )。(分数:70.00)A.逻辑类型B.字符串型 C.数值型D.日期型解析:在默认的情况下,InputBox 的返回值是一个字符串,而不是变体类型。 如果没有事先声明返回值的类型,或声明为变体类型,则当把函数的返回值赋给这个变 量时,Visual Bosic 将是把它作为字符中来处理。曰此当需要用 InpulBox 函数输入数据, 并且需要
21、输入的数值参加运算时,必须在进行运算前用Val 函数(或其他函数)把它转换 为相应类型的数值,否则有可能会得到不正确的结果。如果正确地声明了返回值为变体 类型,则可不必进行类型转换。MsgBox 函数和 Visual Basic 中内部函数。 13.在窗体上画一个命令按钮,然后编写如下程序 Private Sub Command4 Click() Dim a As Integer,b As Integer a=1 b=2 Print N(a,b) End Sub Function N(x As Integer,y As Integer)As Integer N=IIf(xy,x,y) End
22、Function 程序运行后,单击命令按钮,输出结果为( )。 (分数:70.00)A.lB.2 C.5D.8解析:事件过程 N 的作用是输出两个数中最大的,它调用了 IIF 函数,条件部分是(xy),如果满足,那么 N 的值即为 x 的值,否则为 y 的值。在 Sub 过程中,定义了两个变量 a,b,并赋给它们初值 1,2,并调用 Print 函数,输出 N(a,b)的值,因为 xy,所以输出 y=2。14.下面程序段执行结果为( )。 x=Int(Rnd()+3) Select Case x Case 5 Print “excellent“ Case 4 Print “good“ Case
23、 3 Print“pass“ Case Else Print“fail“ End Select (分数:70.00)A.virtual void vf(int)B.void vf(int)=0 C.virtual void vf(=0)D.virtual void yf(int) 解析:C+中纯虚函数的定义与虚函数的关键字一样,在函数末尾要加上“=0”。15.根据变量的作用域,可以将变量分为 3 类,分别为( )。(分数:70.00)A.局部变量、模块变量和全局变量 B.局部变量、模块变量和标准变量C.局部变量、模块变量和窗体变量D.局部变量、标准变量和全局变量解析:变量的作用域指变量的作用范
24、围,根据变量的定义位置和使用的变量定义语句的不同,变量可以分为 3 类,即局部变量、模 块变量和全局变量。局部变量是在过程(事件过程或通用过程)内定义的变量,其作用域是它所在的过程,通常用来存放中间结果或用作临时变 量;模块变量包括窗体变量和标准模块变量,窗体变量可用于该窗体内的所有过程,使用前必须先声明,也就是说,窗体层变量不能默认声明 ;全局变量也称全程变量,其作用域最大,可在工程的每个模块、每个过程中使用,和模块级变量类似,全局变量也在标准模块的声明部分声 明,所不同的是全局变量必须用 Public 或 Global 语句声明,不能用 Dim 语句声明,更不能用 Private 声明;全
25、局变量只能在标准模块中声明,不 能在过程或窗体模块中声明。16.以下 Case 语句中错误的是( )。 (分数:70.00)_解析:17.可以实现从键盘输入一个作为双精度变量 a 的值的语句是( )。(分数:70.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义 解析:在 C+语言中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于男一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用 main( )函数。18.单击一次命令按钮后,下列程序的执行结果是( )。 Pr
26、ivate Sub Command1_Click() s=P(1) +P(2) +P(3) +P(4) Print s End Sub Public Function P(N As Integer) Static Sum For i=1 To N Sum=Sum+i Next i P=Sum End Function (分数:70.00)A.1 1 * #B.1 1 * #C.1 1 * # 1 1 * # 1 2 * #D.1 1 * # 1 1 * # 1 2 * # 解析:当 i=1 时,调用函数过程 DS,由于 y,n 为静态变量值保存,执行 x =x+1;y=y + 1 后 x=1,
27、y=1执行 m=m s End Sub (分数:3.00)填空项 1:_ (正确答案:a(i)=Int(Rnd)填空项 1:_ (正确答案:*)填空项 1:_ (正确答案:200+100))解析:求随机数要用到随机函数 Rnd,所以在程序中调用了 Rnd 函数,100300 之间的随机函数表示为:a(i)=Int(Rnd * 200+100);求某个数的倍数要用到取模运算符 Mod,本题中求 7 的倍数,所以表示为:a(i) Mod 7=0;对于条件语句,有 If 开头的必须有 End If 结尾,Select Case 开头的,必须要用 End Select 结尾,所以本题中应添加 End
28、If。44.浮点数由 3 部分组成,即符号、 1 和尾数。(分数:3.00)填空项 1:_ (正确答案:指数)解析:浮点数也称实型数或实数,是带有小数部分的数值,它由 3 部分组成:符 号、指数和尾数。单精度浮点数和双精度浮点数的指数分别用“E”(或“e”)和“D”(或 “d”)来表示。45.Visual Basic 对象可以分为两类,分别为 1 和 2。(分数:3.00)填空项 1:_ (正确答案:预定义对象)解析:对象分为两类:预定义对象和用户定义对象,预定义对象是由系统设计好的,可以直接使用或对其进行操作;而用户定义对象中的对象可由程序员自己定义,建立自己的对象。46.数据结构分为逻辑结
29、构与存储结构,线性链表属于 1。(分数:-1.00)填空项 1:_ (正确答案:存储结构)解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。47.软件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_ (正确答案:完善性)解析:软件维护活动包括以下几类:改正性维护、适应性维护、完善性维护和预防性维护。改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正软件性能上的缺陷、排
30、除实施中的误使用,应当进行的诊断和改正错误的过程;适应性维护是指为了使软件适应变化,而去修改软件的过程;完善性维护是指为了满足用户对软件提出的新功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性;预防性维护是为了提高软件的可维护性、可靠性等,为以后的进一步改进软件打下良好基础。 48.软件危机出现于 60 年代末,为了解决软件危机,人们提出了 1 的原理来设计软件这就是软件工程诞生的基础。 (分数:-1.00)填空项 1:_ (正确答案:软件工程学)解析:49.在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 1。(分数
31、:-1.00)填空项 1:_ (正确答案:log2n)解析:对于长度为 n 的有序线性表,在最坏情况下,二分查找只需要比较 log2n 次,而顺序查找需要比较n 次。50.软件工程的出现是由于 1。(分数:-1.00)填空项 1:_ (正确答案:软件危机的出现)解析:从 20 世纪 60 年代中期到 70 年代中期,随着计算机应用的日益普及,软件数量急剧膨胀,在程序运行时发现的错误必须设法改正,用户有了新的需求时必须相应的修改程序以适应新的环境。种种软件维护工作耗费惊人的资源,更严重的是许多程序个体化使得程序最终无法维护,“软件危机”就这样出现了。为了更有效的开发与维护软件,新兴了一门软件工程学即软件工程。