1、国家二级( VB)机试模拟试卷 39及答案与解析 一、选择题 1 编写如下程序: Private Sub Command1_Click() For i = 1 To 5 Print Tab(6 - i); For j = i To 1 Step -1 Print “*“; Next j Print Next i End Sub 程序运行后的输出结果是 ( A) * * * * * ( B) * * * * * ( C) * * * * * ( D) * * * * * 2 下面程序的功能是:从键盘输入若干个自然数,输入 -1则结束输入,然后计算平均 值输出(因事先不知道执行时会输入多少个数,定
2、义一个动态数组存放这些数)。 Private Sub Command1_Click() Dim a() As Integer n = 0 Do x = InputBox(“请输入一个自然数,输入 -1结束 “) If x 10 End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 5 ( B) 5 -2 7 -9 ( C) 5 -2 7 -9 16 ( D)一直输出,是死循环 4 编写如下程序: Private Sub Command1_Click() Dim a$, b$, c$, c1$, c2$ a = InputBox(“请输入一个字符串 “) b = In
3、putBox(“再输入另一个字符串 “) c = “ For k = 1 To IIf(Len(a) = 0 Then Text1.ForeColor = CD1.Color End If End Sub 运行程序并单击命令按钮,下面叙述中错误的是 ( A)弹出颜色对话框 ( B)在弹出的对话框中选了一个颜色并单击 “确定 “ 按钮后,会改变文本框中文本的颜色 ( C)把代码 CD1.Action = 3 改为 CD1.ShowColor ,效果是一样的 ( D)在弹出的对话框中选了一个颜色并单击 “确定 “ 按钮后,会改变文本框的背景色 40 有以下函数: Function fun(x As
4、 Integer, y As Integer) As Integer Do While x = y x = x - y Loop fun = x End Function 则下面语句中与语句 x = fun(5, 2) 等效(即为 x赋相同值)的语句是 ( A) x = 5 2 ( B) x = 5 / 2 ( C) x = 5 - 2 ( D) x = 5 Mod 2 二、基本操作题 41 (1)在名称为 Form1、标题为 “文本框练习 ”的窗体上添加一个名称为 Text1的文本框,设置属性,使其宽度为 1600、初始文本内容为 空、显示字号为 “三号 ”,且最多只能输入 6个字符。程序运
5、行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存为 sjt1 frm。 (2)在名称为 Form1的窗体上,添加一个名称为 Label1的标签,其标题为 “计算机等级考试 ”,显示为宋体 12号字,且能根据标题内容自动调整标签的大小。再添加两个名称分别为 “Command1”、 “Command2”,标题分别为“放大 ”、 “还原 ”的命令按钮。 要求:编写适当的事件过程,若单击 “放大 ”按钮,则Label1中所显示的 标题内容自动增大两个字号;单击 “还原 ”按钮, Label1中所显示的标题内容自动恢复到 12号字。 注意:要求
6、程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名保存为sjt2 vbp,窗体文件名保存为 sjt2 frm。 三、简单应用题 42 (1)在考生文件夹中有一个工程文件 sjt3 vbp。运行程序时,先向文本框 Text1中输人一个不超过 10的正整数,然后选择 “N的阶乘 ”或 “(N+2)的阶乘 ”单选钮,即可进行计算,计算结果在文本框 Text2中显示,如图所示。在给出 的窗体文件中已经添加了全部控件,但程序不完整。 要求:去掉程序中的注释符,把程序中的 “?”改为正确的内容。注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行
7、存盘。 (2)在考生文件夹中有一个工程文件 sjt4 vbp。该程序的功能是将文件 in4 txt中的文本读出并在文本框 Text1中显示。输入一个英文字母到文本框 Text2中,然后单击 “统计 ”命令按钮,统计该字母(大小写被认为是不同的字母 )在文本中出现的次数,统计结果在标签 Label3中显示。 要求:给出的窗体文件中已经有了全部控件, 如图所示。程序不完整,去掉程序中的注释符,把程序中的 “?”改为正确的内容。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。四、综合应用题 43 在考生文件夹下有一个工程文件 sjt5 vbp,其窗体上有两个命令按钮、
8、三个标签和三个文本框,均使用默认名称。程序的功能如下: 如果单击 “读数据 ”命令按钮,则将考生文件夹下 in5 dat 文件中两组已按升序方式排列的数 (每组 30 个数 )分别读人数组 A和 B,并分别在 Text1、 Text2中显示。 如果单击 “合并 ”命令按钮,则将 A、 B两个数组合并为另一个按从小到大排列的数组 C,并将合并后数组C中的数据显示在 Text3中。窗体中给出了所有控件 (如图所示 )以及 “读数据 ”命令按钮的 Click事件过程,请完善 “合并 ”命令按钮的 Click事件过程,使其实现上述功能。 注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行
9、合并操作,且必须通过窗体右上角的 “关闭 ”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 国家二级( VB)机试模拟试卷 39答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 Tab( n)将光 标移到第 n列,从第 n列开始输出信息。为便于理解,在本题中可以将其理解为 n 个空格。在外层循环的循环体中,先 Print Tab(6 - i)打印了 6-i个空格,在执行内层循环,输出 i-1个 “*“号字符,最后 Print换行。最外层循环变量 i从 1到 5变化,当 i=1 时,输出 6-1个空格, j为 1,第一行输出1个 “*“号字符,最后换行;当 i为 2时,输出 6-
10、2个空格,第二行输出 2个 “*“号字符,最后换行; 依次类推,当 i=5时,输出 6-5个空格,第 五行输出 5个 “*“字符,最后换行。 A与程序中的每行光标位置和输出字符情况一致,故选择 A项。 2 【正确答案】 B 【试题解析】 这是求输入数据平均数的程序。 Dim a() As Integer 为动态数组,其数组元素均为整型,在过程中用 Redim语句来定义带下标的数组,格式 ReDim 变量(下标) AS 类型名称,这里空白处就是要用 ReDim语句定义,这一语句用来重新分配数组,按照定义的下标上、下界重新分配存储单元。当重新分配动态数组时,数组中的内容将被清除,如果 ReDim中
11、使用了 Preserve 选择项,则不清除数组内容。对于题目中,每次执行循环体,将输入数据赋值给数组,需要保留上次执行的数组数据,故需要使用 Preserve选项, B项正确。 3 【正确答案】 C 【试题解析】 Dim a%, b%, c%表示定义 a、 b、 c为整型,进入 Dowhile 循环,当 Abs( c) 10时,即 c的绝对值大于 10 时,结束循环。第一次执行循环体, c=8-3=5,输出 5, a=3, b=c=5,此时 c=5不满足退出循环条件,第二次执行循环体, c=3-5=-2,输出 -2, a=5, b=c=-2,此时 c=-2不满足 退出循环条件;第三次执行循环体
12、, c=5-(-2)=7,输出 7, a=-2, b=c=7,此时 c=7不满足退出循环条件;第四次执行循环体, c=-2-7=-9,输出 -9, a=7, b=c=-9,此时 c=-9不满足退出循环条件;第五次执行循环体, c=7-( -9) =16,输出 16, a=-9, b=c=16,此时c=16的绝对值 10满足退出循环条件,结束循环。经过 5次执行循环体, c的值先后为 5, -2, 7, -9 , 16,故 C项正确。 4 【正确答案】 B 【试题解析】 程序定义了 a, b, c, c1, c2 五个字符串,将 “12345678“、“ABCDE“两个输入的字符串赋值分别给 a
13、, b,将空字符赋值给 c。 IIF函数, IIF(条件, True部分, False部分)如果条件为真, IIF函数返回 True部分,当条件为假时,返回 False部分。程序通过 IIf(Len(a) = y,那么 x减去 y,并将所得结果重新赋值给 x,如此执行循环体,直到 x小于 y为止。 Fun( 5,2)执行过程:52,x=5-2=3;因 32继续执行循环, x=3-2=1, 1小于 2,循环终止,故最后返回值为 1, 5 mod 2 的值也为 1。故选择 D项。 二、基本操作题 41 【正确答案】 (1)【操作步骤】步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表
14、 3.162。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 3.163和表 3.164。步骤 2:编写程序代码。参考答案 Private Sub Command1_Click() Label1.FontSize = Label1.FontSize + 2End SubPrivate Sub Command2_Click() Label1.FontSize = 12End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、简单应用题 42 【正确答案】 (1)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Option1_Click(Index As Integer) Dim n As Integer n = Val(Text1.Text) Select Case ? Case 0 Text2.Text = f1(? ) Case 1 Text2.Text = f1(? ) End Select End Sub Public Function f1(n As Integer) As Long Dim x As Long x = 1 For i = 1 To ? x = x * i