[计算机类试卷]国家二级VB机试(控制结构与数组)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级VB机试(控制结构与数组)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级VB机试(控制结构与数组)模拟试卷2及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB机试(控制结构与数组)模拟试卷 2及答案与解析 一、选择题 1 设工程中有 2个窗体: Form1和 Form2, Form1为启动窗体。 Form2中有菜单,其结构如下表所示。要求在程序运行时,在 Form1的文本框 Text1中输入口令并按Enter键 (回车键的 ASCII码为 13)后,隐藏 Form1,显示 Form2。若口令为“Teacher”,所有菜单都可见;否则看不到 “成绩录入 ”菜单项。为此,某人在 Form1窗体文件中编写如下程序: Prirate Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii=13
2、 Then If Text1 Text=“Teacher“Then Form2 input Visible=True Else Form2 input Visible=False End If End If Form1 Hide Form2 ShowEnd Sub程序运行时发现刚输入口令时就隐藏了 Form1,显示了 Forra2,程序需要修改。下面修改方案中正确的是 ( )。 ( A)把 Form1中 Text1文本框及相关程序放到 Form2窗体中 ( B) 把 Form1 Hide、 Forra2 Show两行移到 2个 End If之间 ( C)把 If KeyAseii=13 The
3、n改为 If KeyAscii=“Teacher“Then ( D)把 2个 Form2 input Visible中的 “Form2 ”删去 2 由高中数学可知,对于连续函数 f(x),若 f(x1)与 f(x2)值的符号相反,则在 x1和x2之间必存在 x0,使得 f(x0)=0(该点称为 “零点 ”)。 设有 VB函数: Private Function f(x As Single)As Single可以 返回 f(x)的值 (函数体没有给出 )。下面程序的功能是从键盘输入 2个实数 x1、 x2,判断在 x1、 x2之间是否存在零点。 Private Sub Command1_Clic
4、k() Dim x1 As Single, x2 As Single x1=InputBox(“请输入一个实数 x1“) x2=InputBox(“请再输入一个实数 x2“) If(_)Then Print“在 “; x1; “与 “; x2; “之间存在零点 “ Else Print“不能确定在 “; x1; “与 “; x2; “之间是否存在零点 “ End If End Sub Private Function f(x As Single)As Single End Function 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是 ( )。 ( A) f(x1) 0 Or f
5、(x2) 0 ( B) f(x1) 0 And f(x2) 0 ( C) f(x1)*f(x2) 0 ( D) f(x1)*f(x2) 0 3 在窗体上画 1个命令按钮,并编写如下事件过程: Private Sub Command1_Cliek() Dim a(3, 3) For m=1 To 3 For n=1 To 3 If n=m Or n=4-m Then a(m, n)=m+n Else a(m, n)=0 End If Print a(m, n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为 ( )。 ( A) 2 0 0 0
6、 4 0 0 0 6 ( B) 2 0 4 0 4 0 4 0 6 ( C) 2 3 0 3 4 0 0 0 6 ( D) 2 0 0 0 4 5 0 5 6 4 设 x是整型变量,与函数 IIf(x 0, -x, x)有相同结果的代数式是 ( )。 ( A) x ( B) - x ( C) x ( D) -x 5 设 x为一整型变量,且语句的开始为: Select Case x,则不符合语法规则的 Case子句是 ( )。 ( A) Case Is 20 ( B) Case 1 To 10 ( C) Case 0 Is And Is 20 ( D) Case 2, 3, 4 6 窗体上有 1
7、个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click() Dim num As Integer, x As Integer num=Val(InputBox(“请输入一个正整数 “) Select Case mum Case Is 100 x=x+num Case Is 90 x=num Case Else x= x* num End Select Print x; End Sub 运行程序,并在 3次单击命令按钮时,分别输入正整数 100、 90和 60,则窗体上显示的内容为 ( )。 ( A) 0 0 0 ( B) 0 0 60 ( C
8、) 0 90 0 ( D) 100 0 60 7 某人为计算 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=
9、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 8 在窗体上画一个名称为 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=sty(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是 ( )。 (
10、A) 2 ( B) 3 ( C) 4 ( D) 5 9 假定有以下程序段: For i=1 To 3 For j=5 To 1 Step-1 Print i*j Next j Next i 则语句 Print i*j的执行次数是 ( )。 ( A) 15 ( B) 16 ( C) 17 ( D) 18 10 设 a、 b都是自然数,为求 a除以 b的余数,某人编写了以下函数: Function fun(a As Integer, b As Integer) While a b a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做
11、的修改是 ( )。 ( A)把 a=a-b改为 a=b-a ( B)把 a=a-b改为 a=a b ( C)把 While a b改为 While a b ( D)把 While a b改为 While a =b 11 设有如下事件过程: Private Sub Form_Click() x=0 While x 10 x=x+1 x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是 ( )。 ( A) 16 ( B) 19 ( C) 20 ( D) 25 12 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click(
12、) Dim I, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*100) Print Num; Select Case Nam 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时窗体关闭,程
13、序结束 13 有如下程序: Private Sub Command1_Click() Dim i As Integer, j As Integer Dim sum As Integer n=1 Do j=1 Do sum=sum+j j=i+1 Print j; Loop Until j 3 n=n+2 Loop Until n 10 Print sum End Sub 运行上述程序,外层 Do循环执行的次数为 ( )。 ( A) 4 ( B) 5 ( C) 7 ( D) 10 14 下列循环中,可以正常结束的是 ( )。 ( A) i=10 Do i=i+1 Loop Until i l (
14、 B) i=1 Do i=i+1 Loop Until i=10 ( C) i=10 Do i=i+1 Loop While i 1 ( D) i=10 Do i=i-2 Loop Until i=1 15 已知在 4行 3列的全局数组 score(4, 3)中存放了 4个学生 3门课程的考试成绩(均为整数 )。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command1_Cliek() Dim sum As Integer sum=0 For i=1 To 4 For j=1 To 3 sum=summ+score(i, j) Next
15、j Print“第 “&i “个学生的总分是: “; sum Next i End Sub 运行此程序时发现,除第 1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是 ( )。 ( A)把外层循环语句 i=1 To 4改为 For i=1 To 3 内层循环语句 j=1 To 3 改为 For j=1 To 4 ( B)把 sum=0移到 For i=1 To 4和 For j=1 To 3之间 ( C)把 sum=sum+score(i,j)改为 sum=sum+score(j,i) ( D)把 sum=sum score(i, j)改为 sum=score
16、(i,j) 16 设有如下的程序段: n=0 For i=1 To 3 For j=1 To i For k=j To 3 n=n+1 Next k Next j Next i 执行上面的程序段后, n的值为 ( )。 ( A) 3 ( B) 21 ( C) 9 ( D) 14 17 语句 Dim a(-3 To 4, 3 To 6)As Integer定义的数组的元素个数是 ( )。 ( A) 18 ( B) 28 ( C) 21 ( D) 32 18 以下关于数组的叙述中,错误的是 ( )。 ( A) Variant类型的数组中各数组元素的类型可以不同 ( B)各数组元素可以是不同类型的控
17、件 ( C)各数组元素通过下标进行区别 ( D)各数组元素具有相同的名称 19 窗体上有名称为 Command1的命令按钮,其事件过程如下: Option Base 1 Private Sub Command1_Chck() Dim a Dim b(10)As Integer a=Array(2, 4, 7, 3, 9, 6) For i=LBound(a)To UBound(a) b(i)=a(i)+i Sum=Sum+b(i) Next i Print Sum End Sub 运行程序,单击命令按钮时,窗体上显示的是 ( )。 ( A) 44 ( B) 46 ( C) 50 ( D) 52
18、 20 以下叙述中错误的是 ( )。 ( A)用 ReDim语句可以改变数组的维数 ( B)用 ReDim语句可以改变数组的类型 ( C)用 ReDim语句可以改变数组每一维的大小 ( D)用 ReDim语句可以对数组中的所有元素置 0或空字符串 21 下面正确使用动态数组的是 ( )。 ( A) Dim arr()As integer ReDim arr(3, 5) ( B) Dim arr()As integer ReDim arr(50)As string ( C) Dim arr() ReDim arr(3, 5) ( D) Dim arr(50)As integer ReDim ar
19、r(20) 22 在窗体上画一个命令按钮 (其 Name属性为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim n()As Integer Dim a, b As Integer a=InputBox(“Enter the first number“) b=InputBox(“Enter the second number“) ReDim n(a Tob) For k=LBound(n)To UBound(n) n(k)=k Print n(k); Next k End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入 2和 3
20、,输出结果为 ( )。 ( A) 1 2 ( B) 2 3 ( C) 3 4 ( D) 4 5 23 命令按钮 Command1的单击事件过程如下: Prirate Sub Commtmd1_Click() Dim a(10, 10)As Integer x=0 For i=1 To 3 For j=1 To 3 a(i, j)=i*2 Mod j If x a(i, j)Then x=a(i, j) Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 24 在窗体上画一个名称为 Comman
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 VB 机试 控制 结构 数组 模拟 答案 解析 DOC
