1、国家二级( VB)机试模拟试卷 98及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上说法均错误 2 下列与队列结构有关联的是 ( A)函数的递归调用 ( B)数组元素的引用 ( C)多重循环的执行 ( D)先到先服务的作业调度 3 对下列二叉树 进行前序遍历的结果为 ( A) DYBEAFCZX ( B) YDEBFZXCA ( C) ABDYECFXZ ( D) ABCDEFXYZ 4 一个栈的初始状态为空。现将元素 1,2,3,A,B,C
2、依次入栈,然后再依次出栈,则元素出栈的顺序是 ( A) 1,2,3,A,B,C ( B) C,B,A,1,2,3 ( C) C,B,A,3,2,1 ( D) 1,2,3,C,B,A 5 下面属于白盒测试方法的是 ( A)等价类划分法 ( B)逻辑覆盖 ( C)边界值分析法 ( D)错误推测法 6 下面对对象概念描述正确的是 ( A)对象间的通信靠消息传递 ( B)对象是名字和方法的封装体 ( C)任何对象必须有继承性 ( D)对象的多态性是指一个对象有多个操作 7 软件设计中模块划分应遵循的准则是 ( A)低内聚低耦合 ( B)高耦合高内聚 ( C)高内聚低耦合 ( D)以上说法均错误 8 下
3、面描述中不属于数据库系统特点的是 ( A)数据共享 ( B)数据完整性 ( C)数据冗余度高 ( D)数据独立性高 9 数据库设计过程不包括 ( A)概念设计 ( B)逻辑设计 ( C)物理设计 ( D)算法设计 10 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( A)自然连接 ( B)交 ( C) 投影 ( D)并 11 下面操作中,不能正确保存正在编辑的工程的是 ( A)鼠标右键单击 “工程资源管理器窗口 “中该工程的图标,在弹出的菜单中选 “保存工程 “ ( B)单击 “文件 “菜单,在下拉菜单中选 “保存工程 “ ( C)单击 “工程 “菜单,在下拉菜单
4、中选 “保存工程 “ ( D)直接单击工具栏上的 按钮 12 下面为单精度实型(即单精度浮点型)变量的是 ( A) x$ ( B) x sign = -sign Next k End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 3 -1 2 -3 -1 ( B) 3 5 8 13 21 ( C) -1 1 -2 -1 -1 ( D) 3 4 5 6 7 34 有下面程序代码: Private Sub Command1_Click() Dim a As String a = “COMPUTER“ n = search(a, “T“) Print IIf(n = 0,
5、 “未找到 “, n) End Sub Private Function search(str As String, ch As String) As Integer For k = 1 To Len(str) c = Mid(str, k, 1) If c = ch Then search = k Exit Function End If Next k search = 0 End Function 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 0 ( B) 8 ( C) 6 ( D)未找到 35 有下面程序代码: Private Sub Command1_Click()
6、 a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) n = UBound(a) For k = 0 To UBound(a) / 2 Print a(k) * a(n); n = n - 1 Next k End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 2 6 12 20 30 ( B) 2 12 20 56 90 ( C) 30 28 24 18 10 ( D) 10 18 24 28 30 36 有下面程序代码: Private Sub Command1_Click() Dim x As Integer, s As Inte
7、ger x = 1 For k = 1 To 3 x = x + 1 proc x s = s + x Next k Print s End Sub Private Sub proc(ByVal a As Integer) Static x As Integer x = x + 1 a = a + x End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 6 ( B) 9 ( C) 15 ( D) 19 37 窗体上有 1个 Timer1计时器, 1个 Shape1形状控件,还有下面程序代码: Dim flag As Boolean Private Sub Form
8、_Load() flag = True Timer1.Enabled = True Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() If flag Then Shape1.Height = Shape1.Height * 2 Shape1.Width = Shape1.Width * 2 Else Shape1.Height = Shape1.Height * 0.5 Shape1.Width = Shape1.Width * 0.5 End If flag = Not flag End Sub 执行程序所产生的效果是 ( A
9、) Shape1形状的尺寸在缩小到原来一半和恢复原状这 2种状态间切换,每秒切换一次 ( B) Shape1形状的尺寸在扩大到原来 2倍和恢复原状这 2种状态间切换,每秒切换一次 ( C) Shape1形状的尺寸在缩小到原来一半和扩大到原来 2倍这 2种状态间切换,每秒切换一次 ( D) Shape1形状的尺寸会不断扩大 38 有下面程序代码: Option Base 1 Private Sub Command1_Click() Dim a(10) As Integer, x, b x = InputBox(“请输入一个多位整数 “) For k = 1 To Len(x) b = Mid(x
10、, k, 1) a(Val(b) + 1) = a(Val(b) + 1) + 1 Next k For k = 1 To 10 Print a(k); Next k End Sub 程序运行时,单击命令按钮 Command1,输入 2355270224,则输出是 ( A) 1 0 4 1 1 2 0 1 0 0 ( B) 0 4 1 1 2 0 1 0 0 0 ( C) 2 3 5 5 2 7 0 2 2 4 ( D) 4 2 2 0 7 2 5 5 3 2 39 设窗体上有 Text1、 Text2两个文本框,并编写了下面的程序代码: Private Sub Text1_KeyPress(
11、KeyAscii As Integer) If “A“ Form1 Width Then判断标签是否已滚动出窗体 Labe11 Left=Labe11 Width将标签位置重置,使它从窗体左边滑出 ElSe Labe11 Left=Labe11 Left+100标签移出 End If End Sub 程序结束 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)通过文件操作读入数据,并将数值赋值给数组 a(k),根据题意,程序要实现寻找完全平 方数。并求出完全平方数的平均值,现在读入和保存程序已经编写完整,需要编写的是求出完全平方数的平均值的代码。首先我们要了解什么是完全
12、平方数,一个整数如果是另一个整数的平方,那么它就是完全平方数。例如: 36=62,所以 36就是一个完全平方数。通过循环语句和判断语句确定完全平方数,并进行完全平方数和的累加,求出平均数。 (2)题目要求单击标题为“演示 ”的命令按钮时,则该按钮的标题自动变换为 “暂停 ”,且标签在窗体上从左向右循环滚动,当完全滚动出窗体右侧时,从窗体左侧重新进入,单击标题为 “暂停 ”的命令按钮时,则该按钮 的标题自动变换为 “演示 ”,并暂停标签的滚动。标签的滚动方式由 Time1_Timer事件过程进行判定,并通过标签的 Width和 Left属性值的改变实现标签的移动。单击 “退出 ”按钮, End语
13、句则表示结束程序运行。 四、综合应用题 43 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 Private Sub Commandl_Click() Text4=“ a=Va1(Text1) b=Va1(Text2) n=Va1(Text3) Text4 Text4 a&“ b 文本框 Text4中第二项的内容一定是 b k=2 Do While kn时,则数列数已够,不用求下一项 d=C Mod 10 Text4=Text4 “ d b d将余数作为下一次循环的后一项 End If End If Loop End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 Text3的数值是数 列的项数,定义一个变量 k,前两项已经确定,因此 k的取值范围为 3 n,先计算前两项的积,判断是否小于 10如果乘积小于10,则以此乘积作为数列的第 3项数,如果乘积大于等于 10,则以乘积的十位数为数列的第 3项,以乘积的个位数为数列的第 4项,再用数列的最后 2项相乘,运用循环语句,用上述规则形成后面的项,直至产生了第 n项。在这里运用的是Do while语句,与 For语句有所不同,要注意区分。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1