1、国家计算机二级(VB)83 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列关于栈的叙述正确的是(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据2.下列选项中不属于结构化程序设计方法的是_。 (分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用3.当 Esc键与单击该命令按钮作用相同时,此命令按钮的什么属性被设置为 Tree?(分数:2.00)A.StyleB.DefaultC.CaptionD.Cancel4.设 a=5,b
2、=4,c=3,d=2 下列表达式的值是_。3 2 * b Or a = c And b d (分数:2.00)A.1B.TrueC.FalseD.25.当滚动条位于最左端或最上端时,Value 属性被设置为( )。(分数:2.00)A.MinB.MaxC.Max和 Min之间D.Max和 Min之外6.设窗体上有一个列表框控件 List1,含有若干列表项。以下能表示当前被选中的列表项内容的是(分数:2.00)A.List1.ListB.List1.ListIndexC.List1.TextD.List1.Index7.下列程序执行的结果为( )。 x=25:y=20:z=7 Print “S“
3、;x+z*y;“)“ (分数:2.00)A.S(47)B.S(165)C.S(25+7*20)D.S(87)8.为了使模块尽可能独立,要求_。 (分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强9.下列程序段的执行结果为( )。 m=1 n=1 Select Case m Case 1 Select Case n Case 0 Print “* * 0 * *“ Case 1 Print “ * * 1
4、* * “ End Select Case 2 print “ * * 2 * * “ End Select (分数:2.00)A.159B.753C.357D.59110.设有如下程下段: x=2 For i=1 To 10 Step 2 x=x+i Next 运行以上程序后,x 的值是( )。 (分数:2.00)A.26B.27C.38D.5711.下列叙述中,正确的是( )。(分数:2.00)A.控件数组的每一个成员的 Caption属性值都必须相同B.控件数组的每一个成员的 Index属性值都必须不相同C.控件数组的每一个成员都执行不同的事件过程D.对已经建立的多个类型相同的控件,这些
5、控件不能组成控件数组12.语句 A=B+C代表的意思是( )。(分数:2.00)A.B.C.D.13.为了暂时关闭计时器,应把该计时器控件的哪个属性设置为 False?(分数:2.00)A.VisibleB.TimerC.EnabledD.Interval14.执行 x$=InputBox(“请输入 x的值“)时,在弹出的对话框中输入 123,在列表框 List1选中 1个列表项(数据为 456),使有的值使 123456的语句是( )。(分数:2.00)A.y=x$+List1List(0)B.y=x$+List1List(1)C.y=Val(x$)+Val(List1List(0)D.y=
6、Val(x$) s End Sub (分数:3.00)填空项 1:_填空项 1:_填空项 1:_37.下列程序的功能是:当 x100时,没有意义。请填空。 Private Sub Command1_Click1 Dim x As Single x=InputBox(“请输入 x的值!“) 2 Case Is3 Print“输入的数据出界!“ End Select Print x,y End Sub (分数:3.00)填空项 1:_38.下面是用冒泡法将 5个整数按升序排列,请将程序补充完整。 Sub GASR1 Dim m m=Array(10,1,5,6,7) For i=0 To 3 Fo
7、r j= 2 If m(i) =m(j) Then 3 m(i) =m(j) m(j) =t End If Next j 4 For i=0 To 4 Print m(i) Next i End Sub (分数:3.00)填空项 1:_39.以下过程的作用是将 26个小写字母逆序打印出来,请补充完整。 Sub Inverse1 For i=122 To 2 Print 3 ; Next i End Sub (分数:3.00)填空项 1:_40.下列程序的输出结果为 1。 num=2 While num 2 * b Or a = c And b d (分数:2.00)A.1B.True C.Fa
8、lseD.2解析:本题考的是关系运算符和逻辑运算符的执行顺序。当运算符不只一种时,要先处理关系运算符,然 后再处理逻辑运算符。关系运算符的优先顺序是相同的,而逻辑运算符的执行顺序是:Not,And,Or,Xor, Eqv,Imp。本题中先运行关系运算,3 2 * b 为 False,a=c 为 False,bd 为 True;然后执行 And 运算,为 False,再执行第一个 Or,为 False,最后执行第二个 Or,即 False Or True 为 True。5.当滚动条位于最左端或最上端时,Value 属性被设置为( )。(分数:2.00)A.Min B.MaxC.Max和 Min之
9、间D.Max和 Min之外解析:一般情况下,垂直滚动条的值由上往下递增,最上端代表最小值,最下端代表最大值;水平滚动条的值从左到右递增,最 左端代表最小值,最右端代表最大值。因此当滚动条位于最左端或最下端时,Value属性被设置为 Min。6.设窗体上有一个列表框控件 List1,含有若干列表项。以下能表示当前被选中的列表项内容的是(分数:2.00)A.List1.ListB.List1.ListIndexC.List1.Text D.List1.Index解析:List 属性获得的是列表项数组;List-Index 获得的是选中项的索引;Index 获得的是控件数组的索引;Text 属性获得
10、的是选中项的内容,故答案选 D。7.下列程序执行的结果为( )。 x=25:y=20:z=7 Print “S“;x+z*y;“)“ (分数:2.00)A.S(47)B.S(165) C.S(25+7*20)D.S(87)解析:该题涉及到赋值语句与运算符优先级的顺序,Print 语句具有运算功能, 故选项 C)是错误的:由于运算符的优先级是先乘除后加减,所以选项 B)为正确,选项 A) 和选项 D)不正确。 8.为了使模块尽可能独立,要求_。 (分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度要
11、尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚 性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性 和提高模块内的内聚性,有利于提高模块的独立性。9.下列程序段的执行结果为( )。 m=1 n=1 Select Case m Case 1 Select Case n Case 0 Print “* * 0 * *“ Case
12、 1 Print “ * * 1 * * “ End Select Case 2 print “ * * 2 * * “ End Select (分数:2.00)A.159B.753 C.357D.591解析:首先,当 i=0时,数组中的位置是 a00=1,当然,如果用排除法的话,就不用考虑后面的循环了,因为在 4个选项中,第 1个数为 1的选项只有 A)。本题执行第 2次循环时,i 的值为 1,则 cout函数中的数组指向为 a11=5,依次循环,可求出答案。10.设有如下程下段: x=2 For i=1 To 10 Step 2 x=x+i Next 运行以上程序后,x 的值是( )。 (
13、分数:2.00)A.26B.27 C.38D.57解析:11.下列叙述中,正确的是( )。(分数:2.00)A.控件数组的每一个成员的 Caption属性值都必须相同B.控件数组的每一个成员的 Index属性值都必须不相同 C.控件数组的每一个成员都执行不同的事件过程D.对已经建立的多个类型相同的控件,这些控件不能组成控件数组解析:控件的 Name属性是用来标识控件的,几个相同类型的控件,若 Name 属性相同,说明它们是同一个控件,但实际上是几个控件,由此引出控件数组,所以控件数组的每一个成员的 Name属性值必须相同,而 Caption属性值可以不同;Index(索引)属性值是用来区别控件
14、数组中的成员的,当然取值必须不同;Visual Basic中控件数组都执行同样的事件过程;对已经建立的多个类型相同的控件,可以通过修改控件的 Name 属性,使其都具有相同的 Name属性值,这些控件就成为控件数组了。12.语句 A=B+C代表的意思是( )。(分数:2.00)A.B. C.D.解析:参数查询跟操作查询并列,而操作查询有 4种:生成表查询、删除查询、更新查询和追加查询。13.为了暂时关闭计时器,应把该计时器控件的哪个属性设置为 False?(分数:2.00)A.VisibleB.TimerC.Enabled D.Interval解析:计时器控件的常用属性有 Name、Enabl
15、ed 和 Interval属性。Name 属性设置计时器控件的名称;Enabled属性用于设置计时器控件是否可用,若设置为 False,则使计时器停止使用;Interval 属性用于设置计时器事件之间的间隔,以秒为单位,取值为 065535。计时器控件没有 Visible属性。14.执行 x$=InputBox(“请输入 x的值“)时,在弹出的对话框中输入 123,在列表框 List1选中 1个列表项(数据为 456),使有的值使 123456的语句是( )。(分数:2.00)A.y=x$+List1List(0) B.y=x$+List1List(1)C.y=Val(x$)+Val(List
16、1List(0)D.y=Val(x$) s End Sub (分数:3.00)填空项 1:_ (正确答案:a(i)=Int(Rnd)填空项 1:_ (正确答案:*)填空项 1:_ (正确答案:200+100))解析:求随机数要用到随机函数 Rnd,所以在程序中调用了 Rnd函数,100300 之间的随机函数表示为:a(i)=Int(Rnd * 200+100);求某个数的倍数要用到取模运算符 Mod,本题中求 7的倍数,所以表示为:a(i) Mod 7=0;对于条件语句,有 If开头的必须有 End If结尾,Select Case 开头的,必须要用 End Select结尾,所以本题中应添加
17、 End If。37.下列程序的功能是:当 x100时,没有意义。请填空。 Private Sub Command1_Click1 Dim x As Single x=InputBox(“请输入 x的值!“) 2 Case Is3 Print“输入的数据出界!“ End Select Print x,y End Sub (分数:3.00)填空项 1:_ (正确答案:Select Case x)解析:阅读程序后,看到程序中有了 Case和 End Select子句,没有多分支选择结构的起始语句,很明显,第一个空应该填写多分支结构的起始语句 Select Case x。在 Select Case结
18、构中,只有两个 Case子句,分别表示 x取值的两种情况,但题目中将 x的值分为 3种情况,可见第二个空应该填写 Case Else语句。38.下面是用冒泡法将 5个整数按升序排列,请将程序补充完整。 Sub GASR1 Dim m m=Array(10,1,5,6,7) For i=0 To 3 For j= 2 If m(i) =m(j) Then 3 m(i) =m(j) m(j) =t End If Next j 4 For i=0 To 4 Print m(i) Next i End Sub (分数:3.00)填空项 1:_ (正确答案:i + 1 To 4)解析:本题考查冒泡法的程
19、序,就是拿前面的数与后面的数比较,如果前面的 数大于后面的就互换,反之什么也不做,依次类推,最小的将在前面,最大的在后面,有序排列。39.以下过程的作用是将 26个小写字母逆序打印出来,请补充完整。 Sub Inverse1 For i=122 To 2 Print 3 ; Next i End Sub (分数:3.00)填空项 1:_ (正确答案:97 Step -1)解析:每一个字母都有对应的 ASCII码,大写字母从 A到 Z对应的 ASCII码为从 65 到 90,小写字母 a到 z对应的 ASCII码为 97到 122;所以要把 26个小写字母打印出来, ASCII 码的条件语句应为
20、 122 To 97 Step -1来表示。空白处应为“97 Step -1”;输出某个 ASCII对应的字符用 Print Chr$(i)表示。40.下列程序的输出结果为 1。 num=2 While num=3 num=num+1 Print num Wend (分数:3.00)填空项 1:_ (正确答案:3 4)解析:程序先将 2赋给 num,然后执行 While语句。 While 循环语句的执行过程是:如果“条件”为真,则执行“语句块”,当遇到 Wend语句时,控制返回到 While语句并对“条件”进行测试 ,如果仍然为真,则重复上述过程,直到“条件”为假。 起初 num为 2,所以小
21、于 3,条件为真,执行 num=num+1语句,此时 num为 3,然后输出 num的值即 3,当程序执行 num为 3的时候,因为 3等于 3, 所以执行num=num+1,此时 num为 4,输出 num的值并退出循环。41.下列语句的输出结果是 1。 Print Format$(6658.6,“000,000.00“) (分数:3.00)填空项 1:_ (正确答案:006,65860)解析: Format$-|_|-为格式输出函数,格式为: Format$(数值表达式,”格式字符串”) 它的功能是:按“格式字符串”指定的格式输出“数值表达式”的值。如果省略了“格式字符串”,则把“数值表达
22、式”的值转换为一个字符串原样输出;在本题中,66586 将按 000,00000的格式输出,即输出结果为:006,65860。 42.在窗体上画一个命令按钮和一个文本框,其名称分别为 Command1和 Text1,然后编写如下事件过程: Private Sub Commandl_Click1 Dim inData As String Textl.Text=“ Open“d:myfile.txt“For 2As#1 Do While 3 Input#,inData Loop Text1.Text=Text1.Text+inD Loop Close#1 End Sub 程序的功能是,打开 D盘根
23、目录下的文本文件 myfile.txt,读取它的全部内容并显示在文本框中。请填空。 (分数:3.00)填空项 1:_ (正确答案:Input,N0t EOF(1))解析:打开顺序文件的基本格式为:Open FileName For Mode As#FileNumber。其中,FileName 表示要打开的文件的路径;Mode 为打开模式;OutPut 用于输出、Append 用于追加写入 Input用于读取;FileNumber为打开文件时指定的句柄(即文件号)。在读文件时,经常用 Do While循环和 Input#语句读入数据,以 Not EOF(文件号)为循环条件,EOF(文件号)用于判
24、断是否读到文件结尾。43.在窗体上画两个组合框,其名称分别为 Combo1、Combo2,然后画两个标签,名称分别为Label1、Label2,如图所示,程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空。 (分数:3.00)填空项 1:_ (正确答案:tmplabel)解析:44.下列软件系统结构图的宽度为 1 (分数:3.00)填空项 1:_ (正确答案:3)解析:在程序结构图的有关术语中,宽度的概念是:整体控制跨度,即各层中所含的模块数的最大值,由图可得此软件系统结构图的宽度为 3。45.软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于 1 测试。 (分数:3.00)填空项 1:_ (正确答案:黑箱或黑盒)解析:黑箱测试是根据程序规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑箱测试技术分为等价类划分、边界分析、错误猜测以及因果图等。