1、国家二级( VB)机试模拟试卷 170及答案与解析 一、选择题 1 下列关于栈叙述正确的是 ( )。 ( A)栈顶元素最先能被删除 ( B)栈顶元素最后才能被删除 ( C)栈底元素永远不能被删除 ( D)栈底元素最先被删除 2 下列叙述中正确的是 ( )。 ( A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 ( B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 ( C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 ( D)以上说法都不正确 3 某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设根结点在第 1层 )( )。 ( A) 3
2、( B) 4 ( C) 6 ( D) 7 4 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)学生成绩管理系统 ( B) C语言编译程序 ( C) UNIX操作系统 ( D)数据库管理系统 5 结构化程序所要求的基本结构不包括 ( )。 ( A)顺序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 6 下面描述中错误 的是 ( )。 ( A)系统总体结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD图是
3、软件详细设计的表示工具 7 负责数据库中查询操作的数据库语言是 ( )。 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 8 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是 ( )。 ( A) 1: 1联系 ( B) 1: m联系 ( C) m: 1联系 ( D) m: n联系 9 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)并 ( C)交 ( D)差 10 定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是 ( )。 ( A)一 369 (
4、B) 369 ( C) 0 369 ( D)整数集合 1, 2, 3, 4, 5 11 VB中有这样一类文件:该文件不属于任何一个窗体,而且仅包含程序代码,这类文件的扩展名是 ( )。 ( A) vbp ( B) bas ( C) vbw ( D) frm 12 能够产生 1到 50之间 (含 1和 50)随机整数的表达式是 ( )。 ( A) Int(Rnd*51) ( B) Int(Rnd(50)+1) ( C) Int(Rnd*50) ( D) Int(Rnd*50+1) 13 要求如果 x被 7除余 2,则输 x的值,下列语句中不能实现此功能的语句是( )。 ( A) If x mod
5、 7=2 Then Print x ( B) If x一 (x 7)*7=2*Then Print x ( C) If x-(x/7)*7=2 Then Print x ( D) If x-Int(x/7)*7=2 Then Print x 14 表达式 Sgn(0 25)的值是 ( )。 ( A)一 1 ( B) 0 ( C) 1 ( D) 0 5 15 如下关于变体类型变量的叙述中,错误的是 ( )。 ( A)变体类型数组中只能存放同类型数据 ( B)使用 Array初始化的数组变量,必须足 Vat4ant类型 ( C)没有声明而直接使用的变量其默认类型均是 Variant ( D)在同一
6、程序中,变体类型的变量可以被多次赋以不同类型的数据 16 满足下列条件之一的年份是闰年: 1)年份能被 4整除但不能被 100整除 2)年份能被 400整除 若 y代表年份,下面判断闰年的正确表达式是 ( )。 ( A) y Mod 4 And y Mod 100 Or y Mod 400 ( B) y Mod 4=0 Or y Mod 1000 And y Mod 400=0 ( C) y Mod 1000 And(y Mod 4=0 Or y Mod 400=0) ( D) y Mod 4=0 And y Mod 1000 Or y Mod 400=0 17 以下关于键盘事件的叙述中,错误
7、的是 ( )。 ( A)按下键盘按键既能触发 KeyPress事件,也能触发 KeyDown事件 ( B) KeyDown、 KeyUp事件过程中,大、小写字母被视作相同的字符 ( C) KeyDown、 KeyUp事件能够识别 Shift、 Alt、 Ctrl等键 ( D) KeyCode是 KeyPress事件的参数 18 以下关于窗体的叙述中错误的是 ( )。 ( A)窗体的 Hide方法将窗体隐藏并卸载 ( B)窗体的 Show方法可以将窗体装入内存并显示该窗体 ( C)若工程中 包含多个窗体,则可指定一个为启动窗体 ( D)窗体的 Load事件在加载窗体时发生 19 如果在窗体模块中
8、所有程序代码的前面有语句: Dim x,则 x是 ( )。 ( A)全局变量 ( B)局部变量 ( C)静态变量 ( D)窗体级变量 20 计算下面分段函数的正确语句是 ( )。 ( A) y=IIf(x0, x+1, IIf(x0, x-1, x+1) ( C) y=IIf(x0, x+1, IIf(xb a=ab Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是( )。 ( A)把 a=ab改为 a=ba ( B)把 a=ab改为 a=a b ( C)把 While ab改为 While ab改为 While a=b 34
9、在窗体上画 1个命令按钮和 1个文本框,其名称分别为 Command1和 Text1,再编写如下程序: Dim ss As String Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAscii)0时, x+1,否则 x一 1,所以应该是IIf(x0, x+1, x一 1)。 C选项中,内层的 IIf函数中,当 x、 和键等,其他键 KeyPress事件不能识别。 D选项错误原因:窗体也有 KeyPresss事件。故 C选项正确。 30 【正确答案】 C 【试题解析】 程序中 flag被定义为 Static变量,它的值只在第
10、 一次执行事件过程时为 0,以后每次执行计时器事件过程它的值都会保留上次过程中运算后的值,之后它的值是 1或一 1。文本框控件的 ForeColor。属性表示文本框中文字的颜色,计时器控件的 Interval属性为 5000,即计时器间隔为 5秒钟一次,每次调用就会交替改变文本框中文字的颜色。因此 C选项正确。 31 【正确答案】 D 【试题解析】 程序应该计算的是 2的 0次方到 2的 10次方的和,程序少计算了 2的 1次方,应该先累加,再执行 a=a*2,并且将 For k=2 to 10改为 For k=1 to 10,这样 最后一次循环 2的 10次方的值能正确累加,然后循环结束。因
11、此答案为D。 32 【正确答案】 B 【试题解析】 在标准模块中定义的使用 Public:定义的变量是全局变量,全局变量可以在工程的每个模块、每个过程中使用。如果在过程中有与全局变量同名的过程变量则优先使用过程变量。在命令按钮事件中定义了局部变量 x,与全局变量同名,因此在此事件中使用局部变量,而变量 y在此过程中没有定义,则仍使用全局变量。因此输出时 x值为 100, y值为 120。 33 【正确答案】 D 【试题解析】 程序中没有考虑余数为 0的情况,即,条件中应该有 a=b,则a=ab,这样才能正确得到余数 0。因此程序中应该修改 while的条件 ab为a: b。 34 【正确答案】
12、 D 【试题解析】 题目中程序是将 ss字符串进行反向排列,并放到 m中去。其中Number空格后的 100被当成字符串来处理,最后结果是将 “Number 100”反向排列,并通过 UCase()函数将所有字母转换成大写,得到 001 REBMUN。 35 【正确答案】 B 【试题解析】 在计时器事件中不应再设置步长为 100的 For循环,应该把 For循环去 掉,只留下循环体的语句,计时器每秒激发一次,每次判断小球是否移到Line2处,不到就改变自己的 Left值即继续移动。因此 B正确。 36 【正确答案】 A 【试题解析】 错误原因:每一次删除列表框满足项,列表框的项目数目就会相应地
13、减少,所以就出现了漏删内容,如果把循环变量 k改成从 List1 ListCout一 1到 0,从最后一个项目往第一个项目查找,满足条件就删除该项目,从而不会出现遗漏现象,所以正确答案为 A。 37 【正确答案】 D 【试题解析】 本题考查的是动态变量与静态变量。原来的程序 中无法使变量 n的值保持到下一次的使用,只有 D选项符合要求,将 n定义为静态局部变量,在程序执行到该对象的声明处时被首次初始化,每次执行后 n的值都会被保存到内存中,所以答案 D是正确的;而 A选项只是对 n赋初值,所以 A选项没有意义; B选项和 C选项都没有达到改进的目的。 38 【正确答案】 A 【试题解析】 在
14、Do循环语句中程序大致执行过程如下: s=103, a=9;s=103+93, a=8; s=103+93+83, a=7; ,依此类推,因此正确的答案为A。 39 【正确答案】 C 【试 题解析】 在通用对话框控件中, Filter属性指定了在对话框中显示的文件类型,该属性可以设置多个文件类型,每种文件类型由文件描述和文件通配符与扩展名组成,并由 “|”隔开。 FilterIndex属性用来指定默认的过滤器, Filter属性中设置了多个过滤器后,每个过滤器的对应的值按从左到右顺序是 l、 2 , FilterIndex属性默认为 1,即第一个过滤器,因此程序中会显示 c:下的所有文件。应该
15、在通话框打开之前 (CD1 Action=1之前 )添加 CD1 FilterIndex=3,即使默认过滤器为第 3个过滤器。 40 【正确答案】 B 【试题解析】 原程序的执行流程为,当按下一个键后,激活 KeyPress事件,事件中隐藏 Form1和显示 From2的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏 Form1和显示 From2的语句。这两句应该上移到第二个 Endlf前面,也就是放在判断是否按了回车键的 If语句块中。因此 B选项正确。 二、基本操作题 41 【正确答案】 (1)步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 1。
16、步骤 2:调试并运行程序,关闭程序后按题目要 求存盘。 (2)步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见表 2。步骤 2:编写程序代码。参考答案 Private Sub Command1_Click() Shape1 Shape=3 End Sub Private Sub Command2_Click() Shape1 BorderColor=&HFF& End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)根据题意,先通过标签的 Autosize属性把标签的大小设置为自动调整。然后通过对滚动条的 SmallChange属性设置,使单击滚
17、动条两端的箭头时,滚动框移动 2。 (2)根据题意,通过命令按钮的 Name、 Caption属性设置命令按钮的名称和标题。在单击命令按钮事件过程中,通过设置形状控件的 BorderColor和 Shape属性,将形状控件的边框颜色设为红色和将形状控件设为圆形。 三、简单应用题 42 【正确答案】 (1)步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Private Sub Command1_Click() Dim anN(20)As Integer Dim Sum As Integer Randomize For i=1 To 20 a
18、rrN(i)=Int(Rnd*?) Next i “Sum=? For i=1 To 20 If?Then Sum=? End If Next i Print Sum End Sub 程序结束 参考答案 第 1个 ?处填入: 1000 第 2个 ?处填入: 0 第 3个 ?处填入: ann(i)500 第 4个 ?处填入: Sum+anN(i) 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Sub SaveData() Open App Path&“ “&“outtxt txt“For Output As
19、 #1 Print #1 Text1 Text Close #1 End Sub Function Fun() End Function Private Sub Command1_Click() d=Fun() Text1 Text=d SaveData End Sub 程序结束 参考答案 Function Fun() Dim s As Long i As Integer s=0 For i=0 To 100 If i Mod 2=0 Then s=s+i2 End If Next i Fun=s End Function 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (
20、1)本题要产生随机整数,须使用 Rnd函数和 Int函数。 Int函数是将参数转换成整数。 Rnd函数返回小于 1,但大于或等于 0的值,为了生成某个范围内的随机整数,可使用以下公式: Int(upperbound-lowerbound+1)*Rnd+lowerbound) 这里, upperbound是随机数范围的上限, lowerbound则是随机数范围的下限。 (2)根据题意,通过 For循环语句的循环变量 i(初值为 0,终值为 100,步长为2)来获得 0 100范围内的所有偶数,并逐一将 i2的值累加到变量 s,最后将 s的值显示在文本框中,并将其作为函数返回值。 四、综合应用题
21、43 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:向窗体中添加一个 Text文本框控件,并根据题目要求设置 Text的相关属性,设置方法如表 1 7所示。步骤 3:打开代码编辑窗口,填入相应的代码以实现 题目的功能。 参考答案 Function narc(p As Integer)As BooleanDim flag As Booleamflag=FalseIf (p Mod 10)3+(p 10 Mod 10)3+(p 100)3=p Thenflag=TrueEnd Ifnarc=flag End Function 步骤 4:调试并运行程序。关闭程序后按题目要求存盘。 【试题解析】 向窗体中添加一个 Text文本框控件,并根据题目要求设置 Text的相关属性,根据代码中 narc函数的首部,可以判断 出该函数的功能是判断参数 p是否为水仙花数,可以在函数中定义一个布尔型变量 flag,将参数 p表示的三位数的个位,十位,百位分别表示出来,通过 if语句判断每位数的立方和是否与该数相等,若将 flag设置为 true,最后返回 flag的值。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1