机密★启用前 2008年9月全国计算机等级考试二级笔试试卷 Visual basic语言程序设计 26 注意事项 考生应严格遵守考场规则,得到监考人员指令后方可作答。 、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。 、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢 笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。 四、注意字迹清楚,保持卷面整洁 五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场 ***版权所有,任何单位或个人不得保留、复制和出版,违者必究*** 教育部考试中心 0八年七月制
机密★启用前 2008 年 9 月全国计算机等级考试二级笔试试卷 Visual Basic 语言程序设计 26 注意事项 一、考生应严格遵守考场规则,得到监考人员指令后方可作答。 二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。 三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢 笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。 四、注意字迹清楚,保持卷面整洁。 五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。 * * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * * 教育部考试中心 二 00 八年七月制
2008年9月全国计算机等级考试二级笔试试卷 公共基础知识和Ⅴ isual basic语言程序设计 (考试时间90分钟,满分100分) 选择题(每小题2分,共70分) (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后 再依次出栈,则元素出栈的顺序是()。 A)12345ABCDE B) EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是()。 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定 (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。 B D) O(n log2 n) (4)下列叙述中正确的是()。 A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是() A)控制流 B)事件驱动 C)模块调用 D)数据流 (6)在软件开发中,需求分析阶段可以使用的工具是()。 A)NS图 B)DFD图 C)PAD图 D)程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是()。 A)一致性 B)分类性 C)多态性 D)标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。 )一对 B)一对多 C)多对 D)多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是()。 A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 (10)有三个关系R、S和T如下: R T B 由关系R和S通过运算得到关系T,则所使用的运算为() A)笛卡尔积 C)并 D)自然连接 (11)在设计窗体时双击窗体的任何地方,可以打开的窗口是( A)代码窗口 B)属性窗口 C)工程资源管理器窗口 D)工具箱窗口 (12)若变量a未事先定义而直接使用(例如:a=0),则变量a的类型是 二级Ⅴ isual basic语言程序设计试卷第1页(共10页)
二级 Visual Basic 语言程序设计试卷 第 1 页(共 10 页) 2008 年 9 月全国计算机等级考试二级笔试试卷 公共基础知识和 Visual Basic 语言程序设计 (考试时间 90 分钟,满分 100 分) 一、选择题(每小题 2 分,共 70 分) (1)一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后 再依次出栈,则元素出栈的顺序是( )。 A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是( )。 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定 (3)在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 A)O(n) B)O(n 2 ) C)O(log2n) D)O(n log2 n) (4)下列叙述中正确的是( )。 A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是( )。 A)控制流 B)事件驱动 C)模块调用 D)数据流 (6)在软件开发中,需求分析阶段可以使用的工具是( )。 A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是( )。 A)一致性 B)分类性 C)多态性 D)标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。 A)一对一 B)一对多 C)多对一 D)多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。 A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 (10)有三个关系 R、S 和 T 如下: R S T A B B C A B C m 1 1 3 m 1 3 n 2 3 5 由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。 A)笛卡尔积 B)交 C)并 D)自然连接 (11)在设计窗体时双击窗体的任何地方,可以打开的窗口是( )。 A)代码窗口 B)属性窗口 C)工程资源管理器窗口 D)工具箱窗口 (12)若变量 a 未事先定义而直接使用(例如:a=0),则变量 a 的类型是( )
A)Integer B) String C) Boolean D) Variant (13)为把圆周率的近似值314159存放在变量pi中,应该把变量pi定义为()。 A)Dim pi As Integer B) Dim pi(7)As Integer C)Dim pi As Single D) Dim pi As Long (14)表达式2*3^2+4*22+3~2的值是() A)30 B)3 C)49 (15)以下不能输出“ Program”的语句是()。 A)Print Mid("VBProgram", 3, 7) B) Print Right("VBProgram", 7 C) Print Mid("VBProgram", 3) D) Print Left("VBProgram", 7) (16)窗体上有一个名称为 Frame1的框架(如图),若要把框架上显示的“ Frame1”改为 汉字“框架”,下面正确的语句是() Frame1 A) Frame1 Name="框架 B) Frame. Caption="框架 C) Frame1.Text="框架 D) Frame l value="框架 (17)以下叙述中错误的是()。 A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 B)在 Print方法中,多个输出项之间可以用逗号作为分隔符 C)在Dim语句中,所定义的多个变量可以用逗号作为分隔符 D)当一行中有多个语句时,可以用逗号作为分隔符 (18)设窗体上有一个列表框控件Lst1,含有若干列表项。以下能表示当前被选中的列表 项内容的是() A)List1 List B) Listl. ListIndex C) Listl Text D) Listl Index (19)设a=4,b=5,c=6,执行语句 Print a< b and b<c后,窗体上显示的是()。 A) True B) False C)出错信息 D)0 (20)执行下列语句 strlnput== Input Box("请输入字符串","字符串对话框”,"字符串") 将显示输入对话框。此时如果直接单击“确定”按钮,则变量 strlnput的内容是()。 A)"请输入字符串”B)"字符串对话框”C)"字符串 D)空字符串 (21)窗体上有 Command1、 Command2两个命令按钮。现编写以下程序: Option base 0 Dim a()As Integer, m As Integer Private Sub Commandl Click() m= Input Box("请输入一个正整数") ReDim a(m) End Sub Private Sub Command2 Click() m= Input Box("请输入一个正整数") ReDim a(m) End sub 二级Ⅴ isual basic语言程序设计试卷第2页(共10页)
二级 Visual Basic 语言程序设计试卷 第 2 页(共 10 页) A)Integer B)String C)Boolean D)Variant (13)为把圆周率的近似值 3.14159 存放在变量 pi 中,应该把变量 pi 定义为( )。 A)Dim pi As Integer B)Dim pi(7) As Integer C)Dim pi As Single D)Dim pi As Long (14)表达式 2*3^2+4*2/2+3^2 的值是( )。 A)30 B)31 C)49 D)48 (15)以下不能输出“Program”的语句是( )。 A)Print Mid("VBProgram", 3, 7) B)Print Right("VBProgram", 7) C)Print Mid("VBProgram", 3) D)Print Left("VBProgram", 7) (16)窗体上有一个名称为 Frame1 的框架(如图),若要把框架上显示的“Frame1”改为 汉字“框架”,下面正确的语句是( )。 A)Frame1.Name="框架" B)Frame1.Caption="框架" C)Frame1.Text="框架" D)Frame1.Value="框架" (17)以下叙述中错误的是( )。 A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 B)在 Print 方法中,多个输出项之间可以用逗号作为分隔符 C)在 Dim 语句中,所定义的多个变量可以用逗号作为分隔符 D)当一行中有多个语句时,可以用逗号作为分隔符 (18)设窗体上有一个列表框控件 List1,含有若干列表项。以下能表示当前被选中的列表 项内容的是( )。 A)List1.List B)List1.ListIndex C)List1.Text D)List1.Index (19)设 a=4,b=5,c=6,执行语句 Print a<b And b<c 后,窗体上显示的是( )。 A)True B)False C)出错信息 D)0 (20)执行下列语句 strInput=InputBox ("请输入字符串","字符串对话框","字符串") 将显示输入对话框。此时如果直接单击“确定”按钮,则变量 strInput 的内容是( )。 A)"请输入字符串" B)"字符串对话框" C)"字符串" D)空字符串 (21)窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: Option Base 0 Dim a( ) As Integer, m As Integer Private Sub Command1_Click( ) m=InputBox("请输入一个正整数") ReDim a(m) End Sub Private Sub Command2_Click( ) m=InputBox("请输入一个正整数") ReDim a(m) End Sub
运行程序时,单击 Command1后输入整数10,再单击 Command2后输入整数5,则 数组a中元素的个数是()。 A)5 B)6 C)10 D)11 (2)在窗体上画一个命令按钮和一个标签,其名称分别为 Command1和 Abell,然后编 如下事件过程: Private Sub Commandl Click( For i=l To 4 For j=6 To 1 Step-2 Counter=Counter+1 Next j Labell Caption=Str( Counter) End sub 程序运行后,单击命令按钮,标签中显示的内容是()。 A)11 C)16 D)20 (23)在窗体上画一个名为 Commandl的命令按钮,然后编写以下程序: Private Sub Commandl Click( Dim M(10)As Integer For k=l to lo M(k)=12-k Print M(2+M(x)) End Sub 运行程序,单击命令按钮,在窗体上显示的是()。 A)6 C)7 (24)以下关于过程及过程参数的描述中,错误的是()。 A)调用过程时可以用控件名称作为实际参数 B)用数组作为过程的参数时,使用的是“传地址”方式 C)只有函数过程能够将过程中处理的信息传回到调用的程序中 D)窗体(Fom)可以作为过程的参数 (25)在窗体上画一个名称为 Command1的命令按钮,再画两个名称分别为 Labell、Labe2 的标签,然后编写如下程序代码 Private X As Integer Private Sub Commandl Click() X=5:Y=3 Call proc(x, Y) Labell Caption=X Label2 Caption=Y End su Private Sub proc(a As Integer, By Val b As Integer) 二级Ⅴ isual basic语言程序设计试卷第3页(共10页)
二级 Visual Basic 语言程序设计试卷 第 3 页(共 10 页) 运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则 数组 a 中元素的个数是( )。 A)5 B)6 C)10 D)11 (22)在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Labcl1,然后编 写如下事件过程: Private Sub Command1_Click( ) Counter=0 For i=1 To 4 For j=6 To 1 Step -2 Counter=Counter+1 Next j Next i Label1.Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是( )。 A)11 B)12 C)16 D)20 (23)在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1_Click( ) Dim M(10) As Integer For k=1 To 10 M(k)=12-k Next k x=8 Print M(2+M(x)) End Sub 运行程序,单击命令按钮,在窗体上显示的是( )。 A)6 B)5 C)7 D)8 (24)以下关于过程及过程参数的描述中,错误的是( )。 A)调用过程时可以用控件名称作为实际参数 B)用数组作为过程的参数时,使用的是“传地址”方式 C)只有函数过程能够将过程中处理的信息传回到调用的程序中 D)窗体(Form)可以作为过程的参数 (25)在窗体上画一个名称为 Command1 的命令按钮,再画两个名称分别为 Label1、Label2 的标签,然后编写如下程序代码: Private X As Integer Private Sub Command1_Click( ) X=5: Y=3 Call proc(X, Y) Label1.Caption=X Label2.Caption=Y End Sub Private Sub proc(a As Integer, ByVal b As Integer) X=a*a
Y=b+b End sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是()。 A)25和3 B)5和3 C)25和6 D)5和6 (26)在窗体上有两个名称分别为Text1、Text2的文本框,一个名称为 Command1的命令 按钮。运行后的窗体外观如图所示 设有如下的类型和变量声明 Private Type Person 姓名红 name As String*8 专业 机科学与技才 保存 major As String *20 End Type Dim p As Person 设文本框中的数据已正确地赋值给 Person类型的变量p,当单击“保存”按钮时,能 够正确地把变量中的数据写入随机文件 Test2. dat中的程序段是()。 A) Open"c: \Test2. dat"For Output As #1 Put #1, 1, p Close #1 B)Open"c: \Test2. dat"For Random As #1 Get #1, 1, p C)Open"c: \Test2. dat"For Random As #I Len=Len(p) Close D)Open"c: \Test2.dat"For Random As#1 Len=Len(p) et#1,1,p lose #1 (27)在窗体上画一个名称为Text的文本框和一个名称为 Command1的命令按钮,然后编 写如下事件过程: Private Sub Commandl Click() Dim iAs Integer, n For i=0 To 50 n=n+1 If i>10 Then exit fe TextIText=Str(n) End sub 程序运行后,单击命令按钮,在文本框中显示的值是()。 A)2 B)3 C)4 (28)假定有以下循环结构 Do Until条件表达式 循环体 则以下正确的描述是()。 二级Ⅴ isual basic语言程序设计试卷第4页(共10页)
二级 Visual Basic 语言程序设计试卷 第 4 页(共 10 页) Y=b+b End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是( )。 A)25 和 3 B)5 和 3 C)25 和 6 D)5 和 6 (26)在窗体上有两个名称分别为 Text1、Text2 的文本框,一个名称为 Command1 的命令 按钮。运行后的窗体外观如图所示。 设有如下的类型和变量声明: Private Type Person name As String*8 major As String*20 End Type Dim p As Person 设文本框中的数据已正确地赋值给 Person 类型的变量 p,当单击“保存”按钮时,能 够正确地把变量中的数据写入随机文件 Test2.dat 中的程序段是( )。 A)Open "c:\Test2.dat" For Output As #1 Put #1, 1, p Close #1 B)Open "c:\Test2.dat" For Random As #1 Get #1, 1, p Close #1 C)Open "c:\Test2.dat" For Random As #1 Len=Len(p) Put #1, 1, p Close #1 D)Open "c:\Test2.dat" For Random As #1 Len=Len(p) Get #1, 1, p Close #1 (27)在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编 写如下事件过程: Private Sub Command1_Click( ) Dim i As Integer, n As Integer For i=0 To 50 i=i+3 n=n+1 If i>10 Then Exit For Next Text1.Text=Str(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是( )。 A)2 B)3 C)4 D)5 (28)假定有以下循环结构 Do Until 条件表达式 循环体 Loop 则以下正确的描述是( )
A)如果“条件表达式”的值是0,则一次循环体也不执行 B)如果“条件表达式”的值不为0,则至少执行一次循环体 C)不论“条件表达式”的值是否为“真”,至少要执行一次循环体 D)如果“条件表达式”的值恒为0,则无限次执行循环体 (29)在窗体上画一个命令按钮,然后编写如下事件过程: Dim L ni Print num Select case num Exit For Exit do End sele op End Sub 上述事件过程执行后,下列描述中正确的是() A)Do循环执行的次数为1000次 B)在For循环中产生的随机数小于或等于100 C)当所产生的随机数为12时结束所有循环 D)当所产生的随机数为65、68或92时窗体关闭、程序结束 (30)在窗体上画一个名为 Command1的命令按钮,然后编写如下代码: Aray(1,2,3,4) s=sta(i)J 10 Print 运行上面的程序,其输出结果 A)1234 B)12 )4321 (31)设有如下通用过程 Public Function Fun(xStr As String)As String 二级Ⅴ isual basic语言程序设计试卷第5页(共10页)
二级 Visual Basic 语言程序设计试卷 第 5 页(共 10 页) A)如果“条件表达式”的值是 0,则一次循环体也不执行 B)如果“条件表达式”的值不为 0,则至少执行一次循环体 C)不论“条件表达式”的值是否为“真”,至少要执行一次循环体 D)如果“条件表达式”的值恒为 0,则无限次执行循环体 (29)在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click( ) Dim I, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*100) Print Num; Select Case Num Case 12 Exit For Case 58 Exit Do Case 65, 68, 92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是( )。 A)Do 循环执行的次数为 1000 次 B)在 For 循环中产生的随机数小于或等于 100 C)当所产生的随机数为 12 时结束所有循环 D)当所产生的随机数为 65、68 或 92 时窗体关闭、程序结束 (30)在窗体上画一个名为 Command1 的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click( ) Dim a a=Array(1, 2, 3, 4) j=1 For i=4 To 1 Step -1 s=s+a(i)*j j=j*10 Next i Print s End Sub 运行上面的程序,其输出结果是( )。 A)1234 B)12 C)34 D)4321 (31)设有如下通用过程: Public Function Fun(xStr As String)As String
Dim tStr As String, strL As Integer tStr=Tstr& Mid(xStr, i, 1)& Mid(xStr, strL-i+1, 1) 1=1+1 op Fun=tStr End Function 在窗体上画一个名称为 Command I的命令按钮。然后编写如下的事件过程 Private Sub Command1 Click() Dim S1 As String Print CAse(Fun(SI) 程序运行后,单击命令按钮,输出结果是() A) ABCDEF B) abcdef C) AFBECD D) DEFABC (32)某人为计算n(<mn<=12)编写了下面的函数过程 Private Function fur Dim p As Long For k=n-l To 2 Step-1 p=p*k End function 在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有 3种是正确的,错误的方案是() 把p=1改为 B)把Fork=n-lTo2Step-l改为Fork=1Ton-1 C)把Fork=n-lTo2Step-1改为Fork=1Ton D)把Fork=n-lTo2Step-1改为Fork=2Ton (33)假定有以下函数过程 Function Fun(S As String)As String Dim sl As string For Fl To Len(s) sl=LCase(Mid(s, i, 1))+s End Function 在窗体上画一个命令按钮,然后编写如下事件过程 Dim StrI As String, Str2 As String 二级Ⅴ isual basic语言程序设计试卷第6页(共10页)
二级 Visual Basic 语言程序设计试卷 第 6 页(共 10 页) Dim tStr As String, strL As Integer tStr="" strL=Len(xStr) i=1 Do While i<=strL/2 tStr=Tstr & Mid(xStr, i, 1)& Mid(xStr, strL-i+1, 1) i=i+1 Loop Fun=tStr End Function 在窗体上画一个名称为 Command1 的命令按钮。然后编写如下的事件过程: Private Sub Command1_Click( ) Dim S1 As String S1="abcdef" Print UCase(Fun(S1)) End Sub 程序运行后,单击命令按钮,输出结果是( )。 A)ABCDEF B)abcdef C)AFBECD D)DEFABC (32)某人为计算 n!(0<n<=12)编写了下面的函数过程: Private Function fun(n As Integer) As Long Dim p As Long p=1 For k=n-1 To 2 Step-1 p=p*k Next k fun=p End Function 在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有 3 种是正确的,错误的方案是( )。 A)把 p=1 改为 p=n B)把 For k=n-1 To 2 Step-1 改为 For k=1 To n-1 C)把 For k=n-1 To 2 Step-1 改为 For k=1 To n D)把 For k=n-1 To 2 Step-1 改为 For k=2 To n (33)假定有以下函数过程: Function Fun(S As String)As String Dim s1 As String For i=1 To Len(S) s1=LCase(Mid(S, i, 1))+s1 Next i Fun=s1 End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click( ) Dim Str1 As String, Str2 As String
Strl= inpuTbox("请输入一个字符串") Str2=Fun(Strl) Print si End sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“ abcdefg”,则单击“确 定”按钮后在窗体上的输出结果为()。 A) ABCDEFG C) GFEDCBA D)gfedcba (34)为计算a"的值,某人编写了函数 power如下 Private Function power(a As Integer, n As Integer)As Long Dim p As long For k=l To n P-p power End Function 在调试时发现是错误的,例如 Print power(5,4)的输出应该是625,但实际输出是3125。 程序需要修改。下面的修改方案中有3个是正确的,错误的一个是() A)把Fork=1Ton改为Fork=2Ton B)把p=p*a改为p=p^n C)把Fork=lTon改为Fork=1Ton1D)把p=a改为p=1 (35)某人编写了下面的程序 Private Sub Commandl Click() As Inte a= Input Box("请输入整数") tBox("请输入整数") Call pro(a+b) End Sub Private Sub pro(n As Integer) While(n>o Print n mod 10 n=n\10 End sub 此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2 个数之和的每一位数字。例如:若输入123和234,则应该输出 347 但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和 的反序),程序需要修改。下面的修改方案中正确的是()。 A)把过程pro的形式参数 n As Integer改为 By Val n As Integer 二级Ⅴ isual basic语言程序设计试卷第7页(共10页)
二级 Visual Basic 语言程序设计试卷 第 7 页(共 10 页) Str1=InputBox("请输入一个字符串") Str2=Fun(Str1) Print Srt2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确 定”按钮后在窗体上的输出结果为( )。 A)ABCDEFG B)abcdefg C)GFEDCBA D)gfedcba (34)为计算 a n 的值,某人编写了函数 power 如下: Private Function power (a As Integer, n As Integer) As Long Dim p As Long p=a For k=1 To n p=p*a Next k power=p End Function 在调试时发现是错误的,例如 Print power(5,4)的输出应该是 625,但实际输出是 3125。 程序需要修改。下面的修改方案中有 3 个是正确的,错误的一个是( )。 A)把 For k=1 To n 改为 For k=2 To n B)把 p=p*a 改为 p=p^n C)把 For k=1 To n 改为 For k=1 To n-1 D)把 p=a 改为 p=1 (35)某人编写了下面的程序 Private Sub Command1_Click( ) Dim a As Integer, b As Integer a=InputBox("请输入整数") b=InputBox("请输入整数") pro a pro b Call pro(a+b) End Sub Private Sub pro(n As Integer) While (n>0) Print n Mod 10; n=n\10 Wend Print End Sub 此程序功能是:输入 2 个正整数,反序输出这 2 个数的每一位数字,再反序输出这 2 个数之和的每一位数字。例如:若输入 123 和 234,则应该输出: 3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2 行(即 2 个数的反序),而未输出第 3 行(即 2 个数之和 的反序),程序需要修改。下面的修改方案中正确的是( )。 A)把过程 pro 的形式参数 n As Integer 改为 ByVal n As Integer
B)把 Call pro(a+b)改为proa+b C)把n=nl10改为n=n/10 D)在prob语句之后增加语句c%=a+b,再把 Call pro(a+b)改为proc 、填空题(每空2分,共30分) (1)对下列二叉树进行中序遍历的结果【1】。 (2)按照软件测试的一般步骤,集成测试应在【2】测试之后进行 (3)软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节的 控制和管理 (4)数据库设计包括概念设计、【4】和物理设计。 (5)在二维表中,元组的【5】不能再分成更小的数据项。 (6)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为 TextI、 Labell和 Command l,然后编写如下两个事件过程 Private Sub Commandl Click( S$= INputbOx("请输入一个字符串") Text1. Text=SS End Sub Private Sub TextI Change() Labell Caption=UCase(Mid(Text1. Text, 7) End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串 “ Visualbasic”,则在标签中显示的内容是【6】 (7)在窗体上画一个命令按钮,其名称为 Command 1,然后编写如下事件过程: Private Sub Commandl Click( as="National Computer Rank Examination n =Len(aS) For i=l To n bs=Mid(as, 1, 1) If b$="n"Then End if Print s End Sub 程序运行后,单击命令按钮,输出结果是【7】。 二级Ⅴ isual basic语言程序设计试卷第8页(共10页)
二级 Visual Basic 语言程序设计试卷 第 8 页(共 10 页) B)把 Call pro(a+b)改为 pro a+b C)把 n=n\10 改为 n=n/10 D)在 pro b 语句之后增加语句 c%=a+b,再把 Call pro(a+b)改为 pro c 二、填空题(每空 2 分,共 30 分) (1)对下列二叉树进行中序遍历的结果 【1】 。 A B C D E F X Y Z (2)按照软件测试的一般步骤,集成测试应在 【2】 测试之后进行。 (3)软件工程三要素包括方法、工具和过程,其中, 【3】 支持软件开发的各个环节的 控制和管理。 (4)数据库设计包括概念设计、 【4】 和物理设计。 (5)在二维表中,元组的 【5】 不能再分成更小的数据项。 (6)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为 Text1、Label1 和 Command1,然后编写如下两个事件过程: Private Sub Command1_Click( ) S$=InputBox("请输入一个字符串") Text1.Text=S$ End Sub Private Sub Text1_Change( ) Label1.Caption=UCase(Mid(Text1.Text, 7)) End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串 “VisualBasic”,则在标签中显示的内容是 【6】 。 (7)在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click( ) a$="National Computer Rank Examination" n=Len(a$) s=0 For i=1 To n b$=Mid(a$, i, 1) If b$="n" Then s=s+1 End If Next i Print s End Sub 程序运行后,单击命令按钮,输出结果是 【7】
(8)为了在运行时把dpic文件夹下的图形文件ajpg装入图片框 Picture1,所使用的语句 为【8】 s Forml (9)设有如下程序: Private Sub Form Click aS=ABCDFO For i=l To 6 Print tab(12-i),【9】 End sub 程序运行后,单击窗体,结果如图所示,请填空。 (10)在窗体上画一个命令按钮,其名称为 Command1,然后编写如下代码 Private Sub Commandl Click() Am=Aray(43,68,-25,65,-78,12,-79,43,-94,72) neg=0 For k=l to 1 If Arr(k) >0 Then 【10】 【11】 End If Print pos, neg End Sub 以上程序的功能是,计算并输出数组Am中10个数的正数之和pos与负数之和neg, 请填空, (11)在窗体上画一个名为 Command1的命令按钮,然后编写如下程序: Private Sub Command1 Click() Dim i as inte n=Input Box("Enter a number") n-Val(n) For i=l To Sum=【12】 Print Sum End Sub Function fun(t As Integer )As Long F 二级Ⅴ isual basic语言程序设计试卷第9页(共10页)
二级 Visual Basic 语言程序设计试卷 第 9 页(共 10 页) (8)为了在运行时把 d:\pic 文件夹下的图形文件 a.jpg 装入图片框 Picture1,所使用的语句 为 【8】 。 (9)设有如下程序: Private Sub Form_Click( ) Cls a$="ABCDFG" For i=1 To 6 Print Tab(12-i); 【9】 Next i End Sub 程序运行后,单击窗体,结果如图所示,请填空。 (10)在窗体上画一个命令按钮,其名称为 Command1,然后编写如下代码: Option Base 1 Private Sub Command1_Click( ) Dim Arr Arr=Array(43, 68, -25, 65, -78, 12, -79, 43, -94, 72) pos=0 neg=0 For k=1 To 10 If Arr(k)>0 Then 【10】 Else 【11】 End If Next k Print pos, neg End Sub 以上程序的功能是,计算并输出数组 Arr 中 10 个数的正数之和 pos 与负数之和 neg, 请填空。 (11)在窗体上画一个名为 Command1 的命令按钮,然后编写如下程序: Private Sub Command1_Click( ) Dim i As Integer Sum=0 n=InputBox("Enter a number") n=Val(n) For i=1 To n Sum= 【12】 Next i Print Sum End Sub Function fun(t As Integer)As Long p=1 For i=1 To t