1、国家计算机二级(VB)75 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列程序段的执行结果为( )。 a=3 b=1 For I=1 To 3 f=a + b a=b b=f Print f Next I (分数:2.00)A.extends 和 implementsB.public,private 和 protectedC.class和 publicD.char,int,float 和 double2.在窗体上画一个名称为 Command1的命令按钮,再画两个名称分别为 Label1、Label
2、2 的标签,然后编写如下程序代码: Private X As Integer Private Sub Command1_Click() X=5:Y=3 Call proc(X,Y) Label1Caption=X Label2Caption=Y End Sub Private Sub proc(a As Integer,ByVal b As Integer) X=a*a Y=b+b End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是 (分数:2.00)A.25和 3B.5和 3C.25和 6D.5和 63.如果将文本框控件设置成只有垂直滚动条,则需要将 ScrollBars
3、属性设置为( )。(分数:2.00)A.Exiting main Destructor is active Destructor is active Destructor is activeB.Exiting main Destructor is active Destructoris activeC.Exiting main Destructoris activeD.Exiting main4.下面语句正确的是( )。(分数:2.00)A.10,00936B.10,009360C.10,0093D.010,0093605.下列程序段的执行结果为( )。 I=1 x=5 Do I= I + 1
4、 x= x + 2 Loop Until I=7 Print “ I= “;I Print “x=“;x (分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来6.在窗体上画一个名为 Command1的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a a=Array(1,2,3,4) j=1 For i=3 To 1 Step-1 s=s+a(
5、i)*j j=j*10 Next i Print s End Sub 运行上面的程序,其输出结果是 (分数:2.00)A.1234B.12C.34D.43217.当 Esc键与单击该命令按钮作用相同时,此命令按钮的什么属性被设置为 Tree?(分数:2.00)A.USEB.OPENC.SELECTD.以上命令均可8.在窗体上画一个名称为 CommonDialog1的通用对话框,一个名称为 Command1的命令按钮,要求单击命令按钮时,打开一个保存文件的对话框,该窗口的标题为“Save”,缺省文件名称为“SaveFile”,在“文件类型”栏中显示*txt,则能够满足上述要求的程序是( )。(分
6、数:2.00)A.javaB.javacC.javapD.javadoc9.以下关于函数过程的叙述中,正确的是( )。 (分数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型10.执行语句 s=Len(Mid(“VisualBasic“,1,6)后,s 的值是( )。 (分数:2.00)A.VisualB.BasicC.6D.1111.单击命令按钮时,下列程序代码的运行结果为( )。 Private Sub Comman
7、d1_Click() print MyFunc(20,18) End Sub Public Function MyFunc (m As Integer,n As Integer)As Integer Do While m 60 Then I=l If a70 Then l=2 If a80 Then I=3 If a90 Then I=4 Print“I=“:I (分数:2.00)A.I=1B.I=2C.I=3D.I=428.当组合框的 Style属性设置为何值时,组合框称为下拉式列表框?(分数:2.00)A.0B.1C.2D.329.关于货币型数据的说明,正确的是( )。(分数:2.00)A
8、.宏操作对象B.宏条件表达式C.窗体或报表控件属性D.宏操作目标30.为把圆周率的近似值 3.14159存放在变量 pi中,应该把变量 pi定义为(分数:2.00)A.Dim pi As IntegerB.Dim pi(7)As IntegerC.Dim pi As SingleD.Dim pi As Long31.下面 4个 CT函数中是用来判断用户输入的数是否为奇数的,是奇数的返回 1,否则返回 0,其中正确的是( )。 (分数:2.00)A.Function CT(ByVal a As Integer) If a Mod 2=0 Then Return 0 ElSe Return 1 E
9、nd if End FunctionB.Function CT(ByVal a As Integer) If a Mod 2=0 Then CT=0 Else CT=1 End if End FunctionC.Function CT(ByVal a As Integer) If a Mod 2=0 Then CT=1 Else CT=0 End if End FunctionD.Function CT(ByVal a As Integer) If a Mod 2=0 Then Return 1 Else Return 0 End if End Function32.单击命令按钮时,下列程序的
10、执行结果为( )。 Private Sub Command1_Click() Dim x As Integer,y As Integer x=50:y=78 Call PPP(x,y) Print x;y End Sub Public Sub PPP(ByVal n As Integer,ByValm As Integer) n=n/10 m=m/10 End Sub (分数:2.00)A.0 8B.50 78C.4 50D.78 5033.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command_Click( ) S=0 Do s=(s + 1) * (s +2
11、) Number=Number+1 Loop Until S=30 Print Number,S End Sub 程序运行后,输出的结果是( )。 (分数:2.00)A.SELECTB.CREATEC.ALTERD.DROP34.在 VisualBasic中按文件的编码方式不同,可将文件分为( )。(分数:2.00)A.顺序文件和随机文件B.文本文件和数据文件C.ASCH文件和二进制文件D.数据文件和可执行文件35.在窗体上画一个名称为 Command1的命令按钮,并编写如下程序: Private Sub Command1_Click( ) Dim x As Integer Static y
12、As Integer x=10 y=5 Call f1(x,y) Print x,y End Sub Private Sub f1(ByRef x1 As Integer,y1 As Integer) x1=x1+2 y1=y1+2 End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是( )。 (分数:2.00)A.10 5B.12 5C.10 7D.12 7二、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.新建一个工程,内有两个窗体,窗体 Form1上有一个命令按钮 Command1,单击该按钮, Form1 窗体消失,显示 Form2窗体,程序如下: P
13、rivate Sub Command1_Click1 2 Form2 3 End Sub 试补充完整。 (分数:3.00)填空项 1:_填空项 1:_37.我国古代数学家张丘建在其著名的算经中提出了百鸡问题:每只公鸡 5元,每只母鸡 3元,三只雏鸡 1元;如何用 100元买 100只鸡,即公鸡、母鸡、雏鸡各多少只。请在空白处填入适当的内容,将程序补充完整。 Private Sub Commandl_Click1 Dim Cock As Integer Dim Hen As Integer Dim Chick As Integer FormlPrint“公鸡数”,“母鸡数”,“雏鸡数” For
14、Cock;0 To 20 For Hen=0 To 33 For Chick=0 To 100 If 2Then Form1Print Cock,Hen,Chick End If Next Chick Next Hen Next Cock End Sub (分数:3.00)填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试 模块所产生的结果。(分数:3.00)填空项 1:_39.下述语句段在运行时的显示结果是 1。 Cis x=1034 + 8 Print Len(x) (分数:
15、3.00)填空项 1:_40.为了选择多个控件,可以按住 1 键,然后单击每个控件。(分数:3.00)填空项 1:_41.浮点数由 3部分组成,即符号、 1 和尾数。(分数:3.00)填空项 1:_42.下面程序运行后,单击命令按钮,输出的结果是 1。 Private Sub Commandl_Click2 Dim a(1 To 4) ,b(2 To 6) ,i,strl#,str2# For i=1 To 4 a(i) =i Next i For i=2 To 6 b(i) =i Next i str1 =YAG(a) str2 =YAG(b) Print“strl“;str1;“str2=
16、“;str2 End Sub Function YAG (a3As Integer) Dim T#,i t=1 For i=LBound(a) To UBound(a) t=t * a(i) Next i YAG =t End Function (分数:3.00)填空项 1:_43.下列语句的输出结果是 1。 Print Format$(12586,“000,00000“) (分数:3.00)填空项 1:_44.把窗体的 KeyPreView属性设置为 True,并编写如下两个事件过程: Private Sub Form_KeyDown(KeyCode As Integer,Shift As
17、Integer) Print KeyCode End Sub Private Sub Form_KeyPress(KeyAscii As Integer) Print KeyAscii End Sub 程序运行后,如果按下 B键,则在窗体上输出的数值是 1 和 2。 (分数:3.00)填空项 1:_45. 阅读程序: Option Base1 Private Sub Form_Click1 Dim a(3)As Integer Print“输入的数据是:”; For i1 To 3 a(i)=InputBox(“输人数据”) Print a(i); Next Print If a(1)2 En
18、d If If a(2)a(3) Then m=a(2) Else If a(1)a(3)Then m= 3 Else m= 4 End If Print“中间数是:”;m End Sub 程序运行后,单击窗体,在输入对话框中分别输人三个整数,程序将输出三个数中的中间数,如图所示。请填空。 (分数:3.00)填空项 1:_国家计算机二级(VB)75 答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列程序段的执行结果为( )。 a=3 b=1 For I=1 To 3 f=a + b a=b b=f Pr
19、int f Next I (分数:2.00)A.extends 和 implementsB.public,private 和 protected C.class和 publicD.char,int,float 和 double解析:修饰符分为访问限制符和非访问限制符。其中访问限制符有 pub-licorivateprotected 和default。非访问限制符有 static,final 和 abstract等。 2.在窗体上画一个名称为 Command1的命令按钮,再画两个名称分别为 Label1、Label2 的标签,然后编写如下程序代码: Private X As Integer Pr
20、ivate Sub Command1_Click() X=5:Y=3 Call proc(X,Y) Label1Caption=X Label2Caption=Y End Sub Private Sub proc(a As Integer,ByVal b As Integer) X=a*a Y=b+b End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是 (分数:2.00)A.25和 3B.5和 3 C.25和 6D.5和 6解析:ByVal 为传值,当你把函数外的一个变量,如 n传给 ByVal的参数时,在函数体内对该参数所做的任何变更,不会影响函数体外的这个 n变量的值。
21、而 ByRef为传址,即把函数体外变量 n的地址传给ByRef的函数参数,在函数内对该参数所做的变更就会体现在函数体外部的这个变量 n上。在本题中,在自定义函数 proc中,定义 b为 ByVal,默认 a为 ByRef,在该字函数中运算结果为 x=25,y=6。这里的x、y 的值并不能改变主函数中的 x、y 值,所以运算后,x、y 的值仍保持不变。3.如果将文本框控件设置成只有垂直滚动条,则需要将 ScrollBars属性设置为( )。(分数:2.00)A.Exiting main Destructor is active Destructor is active Destructor is
22、 active B.Exiting main Destructor is active Destructoris activeC.Exiting main Destructoris activeD.Exiting main解析:本题考查字符串的应用和/0的输出。/0输出为不显示,只代表一个字符串的结束。4.下面语句正确的是( )。(分数:2.00)A.10,00936B.10,009360C.10,0093D.010,009360 解析:该字符串中包含的字符是/t(跳格符)、/“ (双引号)、/065 (ASCII 值为八进制 065,也即十进制为 51的字符)、/xff(ASCII 值为十六
23、进制 ff,也即十进制为 255的字符)、/n(换行符)。5.下列程序段的执行结果为( )。 I=1 x=5 Do I= I + 1 x= x + 2 Loop Until I=7 Print “ I= “;I Print “x=“;x (分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 解析:顺序文件结构比较简单,文件中的记录一个接一个地存放。在这种结构中,只知道第一个记录的存放位置,其他记录的位置无从知道,当要查
24、找某个数据时,只能从文件头开始,一个记录一个记录地顺序读取,直到找到要查找的记录为止。顺序文件的组织比较简单,只要把数据记录一个接一个地写到文件中即可,但维护困难,为了修改文件中的某个记录,必须把整个文件读入内存,修改完之后再重新写入磁盘,因此读写不能同时进行。顺序文件不能灵活地存取和增减数据,因而适用于有一定规律且不经常修改的数据,其主要优点是占空间少,容易使用。6.在窗体上画一个名为 Command1的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a a=Array(1,2,3,4) j=1 For i=3 To
25、 1 Step-1 s=s+a(i)*j j=j*10 Next i Print s End Sub 运行上面的程序,其输出结果是 (分数:2.00)A.1234 B.12C.34D.4321解析:s=41+310+2100+11000=1234。7.当 Esc键与单击该命令按钮作用相同时,此命令按钮的什么属性被设置为 Tree?(分数:2.00)A.USEB.OPENC.SELECT D.以上命令均可解析:此题考查的是文件列表框与目录列表框的关联问题。当用户触发文件的 Change事件时,文件的列表随着目录位置的改变而改变,其中目录为源操作数,位于等号右边,文件为目的操作数,位于等号的左边,
26、所以正确答案为 B)选项。8.在窗体上画一个名称为 CommonDialog1的通用对话框,一个名称为 Command1的命令按钮,要求单击命令按钮时,打开一个保存文件的对话框,该窗口的标题为“Save”,缺省文件名称为“SaveFile”,在“文件类型”栏中显示*txt,则能够满足上述要求的程序是( )。(分数:2.00)A.javaB.javac C.javapD.javadoc解析:接口中所有的方法都是 abstract属性的,即在父类中不定义方法体,而在子类中进行覆盖父类的方法。接口中的变量都必须是 static final属性的。9.以下关于函数过程的叙述中,正确的是( )。 (分数
27、:2.00)A.函数过程形参的类型与函数返回值的类型没有关系 B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型解析:10.执行语句 s=Len(Mid(“VisualBasic“,1,6)后,s 的值是( )。 (分数:2.00)A.VisualB.BasicC.6 D.11解析:11.单击命令按钮时,下列程序代码的运行结果为( )。 Private Sub Command1_Click() print MyFunc(20,18) End Sub Public Function
28、MyFunc (m As Integer,n As Integer)As Integer Do While m =4= =b=4和 b27.下列程序段的执行结果为( )。 a=95 If a60 Then I=l If a70 Then l=2 If a80 Then I=3 If a90 Then I=4 Print“I=“:I (分数:2.00)A.I=1B.I=2C.I=3D.I=4 解析:此题为 If Then 结构的条件语句,如果 a60,则 I=1;如果 a 70,贝 I=2;如果 a80,则 I=3;如果 a90,则 I=4。28.当组合框的 Style属性设置为何值时,组合框称
29、为下拉式列表框?(分数:2.00)A.0B.1C.2 D.3解析:Style 属性用来决定控件类型及列表框部分行为,其值取 0,1,2。 0-Dropdown Combo Box:此时组合框称为“下拉式组合框”,看上去像一个下拉列表框,但是可以输入文本或从下拉列表框中选择表项。 1-Simple Combo Box:此时组合框称为“简单组合框”,它由一个文本编辑区和一个标准列表框组成。 2-Dropdown List Box:此时组合框称为“下拉式列表框”,它的外观和下拉式组合框一样,右端也有一个箭头,可供“拉下”或“收起”列表框,可以从下拉列表框选择表项,也可以键入表项的文本作选择,但不接收
30、其他文本输入。 29.关于货币型数据的说明,正确的是( )。(分数:2.00)A.宏操作对象B.宏条件表达式 C.窗体或报表控件属性D.宏操作目标解析:在 Visual FoxPro中,如果要在同一时刻打开多个表,只需要利用 SELECT命令选择不同的工作区并打开不同的表即可。最小的工作区号是 1,最大的是 32767,即可以同时打开 32767个表。30.为把圆周率的近似值 3.14159存放在变量 pi中,应该把变量 pi定义为(分数:2.00)A.Dim pi As IntegerB.Dim pi(7)As IntegerC.Dim pi As Single D.Dim pi As Lo
31、ng解析:根据题意,PI 是一个带有小数部分的数,需定义为单精度类型即 Single型。integer 为整型,boolean为布尔型,string 为字符型。31.下面 4个 CT函数中是用来判断用户输入的数是否为奇数的,是奇数的返回 1,否则返回 0,其中正确的是( )。 (分数:2.00)A.Function CT(ByVal a As Integer) If a Mod 2=0 Then Return 0 ElSe Return 1 End if End FunctionB.Function CT(ByVal a As Integer) If a Mod 2=0 Then CT=0 E
32、lse CT=1 End if End Function C.Function CT(ByVal a As Integer) If a Mod 2=0 Then CT=1 Else CT=0 End if End FunctionD.Function CT(ByVal a As Integer) If a Mod 2=0 Then Return 1 Else Return 0 End if End Function解析:在此题中考查了函数的定义,及其有关操作,对于奇数的判断是用取模来判断的,奇数不能被 2争取,或者说奇数除以 2后的余数是 1,而偶数能被 2整数,即偶数除以 2后的余数是 0,
33、因此判断语句应为 If a Mod 2=0 Then CT=0 Else CT=1;即当 a为偶数时返回值是 0,a 为奇数时返回值是 1,符合题意。32.单击命令按钮时,下列程序的执行结果为( )。 Private Sub Command1_Click() Dim x As Integer,y As Integer x=50:y=78 Call PPP(x,y) Print x;y End Sub Public Sub PPP(ByVal n As Integer,ByValm As Integer) n=n/10 m=m/10 End Sub (分数:2.00)A.0 8B.50 78 C
34、.4 50D.78 50解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合 ,然后执行被调过程,在 Visual Basic中,实参与形参的结合有两种方式,即传址与传值。这两种方法的特点如下: 传址的结合过程时,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操 作,因此实参的值会随形参的改变而改变。 传值的结合过程时,当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行 的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,
35、因此在过程中对形参的任何操作不会影响实参。而题中被调过程 PPP中有两 个形参,两者均为传值方式。主调过程分别把实参 x、y 传递给 PPP,所以当过程调用结束后,实参 x、y 的值都没有改变,最后输出的值应为 50 78。33.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command_Click( ) S=0 Do s=(s + 1) * (s +2) Number=Number+1 Loop Until S=30 Print Number,S End Sub 程序运行后,输出的结果是( )。 (分数:2.00)A.SELECT B.CREATEC.ALTERD.DROP解析:本题考查的是基本循环语句的使用,选项 A),选项 C)和选项 D)都为正确的形式,在选项 B)中的while(aa(3) Then m=a(2) Else If a(1)a(3)Then m= 3 Else m= 4 End If Print“中间数是:”;m End Sub 程序运行后,单击窗体,在输入对话框中分别输人三个整数,程序将输出三个数中的中间数,如图所示。请填空。 (分数:3.00)填空项 1:_ (正确答案:t)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1