1、国家计算机二级(VB)78 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列各控件不包含滚动条的控件是( )。(分数:2.00)A.ListBoxB.ComboBoxC.TextBoxD.LabelBox2.在窗体上画一个名称为 Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程: Private Function f(m As Integer) If m Mod 2 = 0 Then f = m Else f = 1 End If End Function Private Sub
2、 Command1_Click() Dim i As Integer s = 0 For i = 1 To 5 s = s + f(i) Next Print s End Sub 程序运行后,单击命令按钮,在窗体上显示的是( )。 (分数:2.00)A.11B.10C.9D.83.有三个关系 R、S 和 T如下: (分数:2.00)A.笛卡尔积B.交C.并D.自然连接4.下列对于线性链表的描述中正确的是_。 (分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D
3、.存储空间必须连续,且各元素的存储顺序是任意的5.为了通过键盘访问主菜单项,可在菜单编辑器的“标题”选项中的某个字母前插入何字符,建立热键字母? (分数:2.00)A.int i=10; while(1) i; if(i= =1)break; B.for(int i=1;i =1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub (分数:2.00)A.0 0B.1 1C.0 2D.1 28.设有下面的循环: i=1 Do i=i + 3 Print i Loop Until I_ 程序运行后要执行 3次循环体,则条件中
4、I的最小值为( )。 (分数:2.00)A.k=10 Dim Arr(k)B.Const k=10 Dim Arr(k)C.Dim Arrl(10) As Integer Dim Arr2(10)D.Dim Arrl(1 To 10) Dim Arr2(1 To 10,2 To 11)9.下列程序段的执行结果为( )。 m=1 n=1 Select Case m Case 1 Select Case n Case 0 Print “* * 0 * *“ Case 1 Print “ * * 1 * * “ End Select Case 2 print “ * * 2 * * “ End Se
5、lect (分数:2.00)A.159B.753C.357D.59110.有如下程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim op As Integer k=4:m=1 op:PPC(k,m):Print op; op:PPC(k,m):Print op End Sub Private Function,PPC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i+m+1 m=i+a+b PPC=m End Funct
6、ion 程序运行后,输出的结果为( )。 (分数:2.00)A.4 6B.6 6C.8 8D.10 1211.单击一次命令结束后,下列程序的执行结果是( )。 Private Sub Commandl_Click( ) s=Sat(1)+Sat(2)+Sat(3)+Sat(4) Print s End Sub Public Function Sat(N As Integer) Static Sum For i=1 To N Sum=Sum+i Next i Sat=Sum End Function (分数:2.00)A.15B.25C.35D.4512.有如下事件过程,当同时按下转换键 Ctr
7、l和功能键 F6时,最后输出的信息是( )。 Const ShiftKey=1 Const CtrlKey=2 Const Key_F5= Next End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.00)A.ABCDEB.1 2 3 4 5C.abcdeD.出错信息34.以下能从字符串“VisualBasic“中直接取出子字符串“Basic“的函数是_。 (分数:2.00)A.LeftB.MidC.StringD.Instr35.下面选项中不属于面向对象程序设计特征的是【 】(分数:2.00)A.继承性B.多态性C.类比性D.封装性二、填空题(每空 2分,共 30分)(总题
8、数:10,分数:30.00)36. 1的任务是诊断和改正程序中的错误。(分数:3.00)填空项 1:_37.下面运行程序后,单击命令按钮,输出的结果是 1。 Private Sub Command1_Click2 Dim a%(1 To 4),b%(3 To 6),i%,s1#,s2# For i=1 To 4 a(i) =i Next i For i=3 To 6 b(i) =i Next i s1=YAS(A) s2=YAS(B) Print“s1=“;s1;“s2=“;s2 End Sub Function YAS(a3As Integer) Dim t#,i% t=1 For i=LB
9、ound(A) To UBound(A) t=t * a(i) Next i YAS=t End Function (分数:3.00)填空项 1:_38.执行下面的程序段,x 的值为 1。 Private Sub Command1_Click2 For i=1 To 9 a=a + i Next i x=Val(i) MsgBox x End Sub (分数:3.00)填空项 1:_39.下面的程序用于根据文本框 Test中输入的内容进行以下处理: 若 Text为 1,则打印“您的成绩为优秀!”;若 Text为 2,则打印“您的成绩为良好!”;若 Text 为 3,则打印“您的成绩为一般”;否
10、则打印“您的成绩一般以下!”,请填空。 Private Sub Command1_Click1 Selct Case Val(Text1.Text) Case 2 Print “您的成绩为优秀!“ Case 3 Print “您的成绩为良好!“ Case 4 Print “您的成绩为一般!“ Case Else Print “您的成绩为一般以下!“ End Select End Sub (分数:3.00)填空项 1:_40.Visual Basic应用程序中标准模块文件的扩展名是 1。(分数:3.00)填空项 1:_41.在窗体上加上一个文本框控件 TextBox,画一个命令按钮,当单击命令按
11、钮的时候将显示“保存文件”对话框,设置该对话框可用于保存文本文件(默认)和 Word文档,然后在文本框控件中显示保存的文件名,请填空。 Private Sub Command1_Click1 CommonDialog1Filter= 2 CommonDialog1Filter= 3 CommonDialog1ShowSave TextBoxText= 4 End Sub (分数:3.00)填空项 1:_42.下面程序是用来打印九九乘法表的,请补充完整。 Dim i As Integer,j As Integer,Strl$ Strl=“ “ For i=1 To 9 Forj=1 To 9 I
12、f 1 Then Strl=Strl + Str$(j)+“X“+Str$(i)+“=“+Str$(Val(i * j) Else Strl=Strl Next End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.00)A.ABCDE B.1 2 3 4 5C.abcdeD.出错信息解析:语句 Chr(Asc(“A“) + (i-1)的作用是将字符 A 的 ASCII 码值加上循环变量的值减 1,求出此 ASCII码对应的字符。将计算出的字符赋值给数组 arr 的第 i 个元素。循环结束后,arr 的 5 个元素分别为字符 A、B、C、D、E。Print 方法输出项的最后用分号
13、结束,使得输出不换行。34.以下能从字符串“VisualBasic“中直接取出子字符串“Basic“的函数是_。 (分数:2.00)A.LeftB.Mid C.StringD.Instr解析:Mid(s,index,length)用来从字符串 s 中的第 index 字符开始连续取出 length 个字符。对于本题,可以用 Mid(“VisualBasic“,7,5)就可以取出字符串“Basic”。35.下面选项中不属于面向对象程序设计特征的是【 】(分数:2.00)A.继承性B.多态性C.类比性 D.封装性解析:面向对象程序设计的 3个主要特征是:封装性、继承性和多态性。 二、填空题(每空
14、2分,共 30分)(总题数:10,分数:30.00)36. 1的任务是诊断和改正程序中的错误。(分数:3.00)填空项 1:_ (正确答案:程序调试)解析:在完成对程序的测试之后将进行程序调试。程序调试的任务是诊断和改正程序中的错误。37.下面运行程序后,单击命令按钮,输出的结果是 1。 Private Sub Command1_Click2 Dim a%(1 To 4),b%(3 To 6),i%,s1#,s2# For i=1 To 4 a(i) =i Next i For i=3 To 6 b(i) =i Next i s1=YAS(A) s2=YAS(B) Print“s1=“;s1;
15、“s2=“;s2 End Sub Function YAS(a3As Integer) Dim t#,i% t=1 For i=LBound(A) To UBound(A) t=t * a(i) Next i YAS=t End Function (分数:3.00)填空项 1:_ (正确答案:s1=24 s2=360)解析:程序首先调用循环语句为数组 a、b 赋值,其中 a(i)=I;b(i)=I,且数组 a 的上下界分别为 1和4,数组 b的上下界分别为 3和 6;接着将数组 a作为参数调用 YAS 过程,在 YAS过程中,定义了两个变量 t及 I,I 作为循环语句 For的变量,它的初始值
16、和终值分别为数组的上下界,循环体为 t=t*a(i)即将a(i)的值乘以 t,然后再赋给 t,当循环结束后,程序返回的就是数组 a中的各元素的积;同理程序将数组 b作为参数传递给 YAS 过程后返回数组 b中各元素的积,运行程序结束后,输出结果为:s1=24 s2=360。38.执行下面的程序段,x 的值为 1。 Private Sub Command1_Click2 For i=1 To 9 a=a + i Next i x=Val(i) MsgBox x End Sub (分数:3.00)填空项 1:_ (正确答案:10)解析:MsgBox 函数的格式如下: MsgBox(msg,type
17、),title),helpfile,content msg:一个字符串,长度不能超过 1024个字符。 type:一个整数值或符号常量,用来控制在对话框内显示的按钮,图标的种类及数量。 title:一个字符串,用来显示对话框的标题。 hdpfile,content:同 InputBox函数。 在这 5个参数中,只有第一个是必须的,其他的可以省略。 在程序中 ForNext语句之后并没有对 I的值改变,此时 I为 10,故运行后结果为 10。 39.下面的程序用于根据文本框 Test中输入的内容进行以下处理: 若 Text为 1,则打印“您的成绩为优秀!”;若 Text为 2,则打印“您的成绩为
18、良好!”;若 Text 为 3,则打印“您的成绩为一般”;否则打印“您的成绩一般以下!”,请填空。 Private Sub Command1_Click1 Selct Case Val(Text1.Text) Case 2 Print “您的成绩为优秀!“ Case 3 Print “您的成绩为良好!“ Case 4 Print “您的成绩为一般!“ Case Else Print “您的成绩为一般以下!“ End Select End Sub (分数:3.00)填空项 1:_ (正确答案:1)解析:函数调用了 Val(Text1Text)函数将从文本框中得到的字符串转化为数据,将转换来的数据
19、作为情况语句的测试条件。因为当输入 1时,则打印“您的成绩为优秀!”;所以当测试表达式的值与之相同时,就执行该 Case分支的语句,同样当输入 2,3 等其他数字时执行其他的 Case分支。40.Visual Basic应用程序中标准模块文件的扩展名是 1。(分数:3.00)填空项 1:_ (正确答案:.bas)解析:41.在窗体上加上一个文本框控件 TextBox,画一个命令按钮,当单击命令按钮的时候将显示“保存文件”对话框,设置该对话框可用于保存文本文件(默认)和 Word文档,然后在文本框控件中显示保存的文件名,请填空。 Private Sub Command1_Click1 Commo
20、nDialog1Filter= 2 CommonDialog1Filter= 3 CommonDialog1ShowSave TextBoxText= 4 End Sub (分数:3.00)填空项 1:_ (正确答案:“文本文件(*.txt)|*txt|Word 文档|*doc“)解析:要设置通用对话框可用于保存文本文件和 Word文档,需要设置通用对话框的 Filter属性值,在这里应该填写的是“文本文件(*txt)|*txt|Word 文档|*doc“;42.下面程序是用来打印九九乘法表的,请补充完整。 Dim i As Integer,j As Integer,Strl$ Strl=“
21、“ For i=1 To 9 Forj=1 To 9 If 1 Then Strl=Strl + Str$(j)+“X“+Str$(i)+“=“+Str$(Val(i * j) Else Strl=Strl & Chr(13) 2 End If Next j Next i Print Str (分数:3.00)填空项 1:_ (正确答案:j=i)解析:Exit 语句总是出现在 If语句或 Select Case语句内部,而 If语句或 Select Case语句在循环内嵌套,用 Exit语句中断循环。函数首先定义了两个 Integer型变量 i、 j,并将空格赋给 Strl;第一个For循环的
22、变量 I从 1到 9步长为 1,第二个循环的变量 i也是从 1到 9步长为 l,循环体为选择结构,它是用来输出 i*j的值,所以 j的值应该小于此时 i 的值,那么 If的判断语句为 j=i,当满足条件时执行 Then后面的语句,即输出 i*j的值,如果不满足执行 Else后面的语句,并跳出内循环。43.要使标签的背景样式为不透明,应将 BackStyle属性设置为 1。(分数:3.00)填空项 1:_ (正确答案:1)解析:BackStyle 属性用来指定标签的背景样式是否透明,该属性可以取两个值:0 和 1。当为 0时,标签为“透明”的;当值为 1时,标签将覆盖背景。44.下面程序的功能是
23、从键盘输入 1个大于 100的整数 m,计算并输出满足不等式 1+2的 2次方+3 的 2次方+4的 2次方+.+n 的 2次方 1 Dim S,m,n As Integer m=Val(Input Box(“请输入一个大于 100的整数“) n= 2 S=0 Do While s3 End Sub (分数:3.00)填空项 1:_ (正确答案:0)填空项 1:_ (正确答案:n-1)解析:根据题意要求是计算从 1到 n的平方和,所以第一项应该是 1,而循环体中循环变量 n首先累加了 1,所以 n的初始值只能设置为 0,才能满足题意,如果设置为 1的话,则循环表示的是从 2到 n的平方和,与题
24、意不符,所以第一处填空应该填“0“;Do While 循环的特点是当条件语句为假时中止循环,所以要满足不等式成立的最大 n值应该是 n-1,所以第二个填空填人的“n-l“。45.在文件对话框中,假定有一个名为“fcexe“的文件,它位于“d:/pp“目录下,则“FileName“属性 的值为 1;FileTifie 属性的值为 2。 (分数:3.00)填空项 1:_ (正确答案:d:/pp/fc.exe)解析:FileName 属性:用来设置或返回要打开或保存的文件的路径及文件名,在文件对话框中显示一系列文件名,如果选择了一个文件并单击“打开”或“保存”按钮,所选择的文件即作为属性 FileName属性的值,然后就可以把该文件作为要打开或保存的文件 FileTitle属性:用来指定文件对话框中所选择的文件名(不包括路径),该属性与 FileName 属性的区别是:FileName 属性用来指定完整的路径,如“e:/dd/deexe”;而 FileTitle属性只指定文件名,如“deexe”。