1、计算机等级考试二级 VISUAL+BASIC 机试 8 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.以下变量名中合法的是( )。A) x2-1 B) print C) sfr_n D) 2x(分数:1.00)A.B.C.D.2.数据库应用系统中的核心问题是( )。A) 数据库设计 B) 数据库系统设计C) 数据库维护 D) 数据库管理员培训(分数:1.00)A.B.C.D.3.窗体上有一个名称为 Option1 的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程:Private Sub Option1_Click(I
2、ndex As Integer)End Sub下面关于此过程的参数 Index 的叙述中正确的是( )。A) Index 为 1 表示单选按钮被选中,为 0 表示未选中B) Index 的值可正可负C) Index 的值用来区分哪个单选按钮被选中D) Index 表示数组中单选按钮的数量(分数:1.00)A.B.C.D.4.以下关于函数过程的叙述中,正确的是( )。A) 函数过程形参的类型与函数返回值的类型没有关系B) 在函数过程中,过程的返回值可以有多个C) 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D) 如果不指明函数过程参数的类型,则该参数没有数据类型(分数:1.
3、00)A.B.C.D.5.将 E-R 图转换为关系模式时,实体和联系都可以表示为( )。A) 属性 B) 键 C) 关系 D) 域(分数:1.00)A.B.C.D.6.窗体上有名称为 Command1 的命令按钮和名称为 Text1 的文本框Private Sub Command1_Click()Text1. Text = “程序设计“Text1. SetFocusEnd SubPrivate Sub Text1_GotFocus()Text1. Text = “等级考试“End Sub运行以上程序,单击命令按钮后( )。A) 文本框中显示的是“程序设计”,且焦点在文本框中B) 文本框中显示的
4、是“等级考试”,且焦点在文本框中C) 文本框中显示的是“程序设计”,且焦点在命令按钮上D) 文本框中显示的是“等级考试”,且焦点在命令按钮上(分数:1.00)A.B.C.D.7.下列关于通用对话框 CommonDialog1 的叙述中,错误的是( )。A) 只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开B) 使用 CommonDialog1. ShowColor 方法,可以显示“颜色”对话框C) CancelError 属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告D) 在显示“字体”对话框前,必须先设置 CommonDialog1 的 Flags
5、 属性,否则会出错(分数:1.00)A.B.C.D.8.以下关于过程及过程参数的描述中,错误的是( )。A) 过程的参数可以是控件名称B) 调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)C) 只有函数过程能够将过程中处理的信息返回到调用程序中D) 窗体可以作为过程的参数(分数:1.00)A.B.C.D.9.设窗体上有名称为 Option1 的单选按钮,且程序中有语句:If Option1. Value=True Then下面语句中与该语句不等价的是( )。A) If Option1. Value Then B) If Option1=True ThenC) If Valu
6、e=True Then D) If Option1 Then(分数:1.00)A.B.C.D.10.有两个关系 R,S 如下:(分数:1.00)A.B.C.D.11.下列叙述中正确的是( )。A) 栈是“先进先出”的线性表B) 队列是“先进后出”的线性表C) 循环队列是非线性结构D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数:1.00)A.B.C.D.12.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程:Private Sub Command1_Click()Counter = 0For i = 1 To 4For
7、 j = 6 To 1 Step - 2Counter = Counter + 1Next jNext iLabel1. Caption = Str(Counter)End Sub程序运行后,单击命令按钮,标签中显示的内容是( )。A) 11 B) 12 C) 16 D) 20(分数:1.00)A.B.C.D.13.在利用菜单编辑器设计菜单时,为了把组合键“Alt+x”设置为“退出(x)”菜单项的访问键,可以将该菜单项的标题设置为( )。A) 退出(X sumNext iEnd Sub运行此程序时发现,除第 1 个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是
8、( )。A) 把外层循环语句 For i=1 To 4 改为 For i=1 To 3内层循环语句 For j=1 To 3 改为 For j=1 To 4B) 把 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(i, j)(分数:1.00)A.B.C.D.20.下面哪个属性肯定不是框架控件的属性( )。A) Text B) Caption C) Left D) Enabled(分数:1.00)A.B
9、.C.D.21.若看到程序中有以下事件过程,则可以肯定的是,当程序运行时( )。Private Sub Click_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)Print “VB Program“End SubA) 用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程B) 用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程C) 用鼠标右键单击名称为“MouseDown”的控件时,执行此过程D) 用鼠标左键或右键单击名称为“Click”的控件时,执行此过程(分数:1.
10、00)A.B.C.D.22.下列有关文件的叙述中,正确的是( )。A) 以 Output 方式打开一个不存在的文件时,系统将显示出错信息B) 以 Append 方式打开的文件,既可以进行读操作,也可以进行写操作C) 在随机文件中,每个记录的长度是固定的D) 无沦是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的(分数:1.00)A.B.C.D.23.下面叙述中错误的是( )。A) 软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为 DebugD) 软件测试应严格执行测试计划,排除测试的随意性(分数:1.00)A.B.C.
11、D.24.设窗体上有 1 个水平滚动条,已经通过属性窗口把它的 Max 属性设置为 1,Min 属性设置为 100。下面叙述中正确的是( )。A) 程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就增加B) 程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就减少C) 由于滚动条的 Max 属性值小于 Min 属性值,程序会出错D) 由于滚动条的 Max 属性值小于 Min 属性值,程序运行时滚动条的长度会缩为一点,滚动块无法移动(分数:1.00)A.B.C.D.25.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。A) 提高耦合性降低内聚性有利于提
12、高模块的独立性B) 降低耦合性提高内聚性有利于提高模块的独立性C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D) 内聚胜是指模块间互相连接的紧密程度(分数:1.00)A.B.C.D.26.现有如下程序:Private Sub Command1_Click()s=0For i = 1 To 5s = s + f(5+i)NextPrint sEnd SubPublic Function f(x As Integer)If x = 10 Thent=x+1Elset=x+2End Iff=tEnd Function运行程序,则窗体上显示的是( )。A) 38 B) 49 C) 61 D)
13、 70(分数:1.00)A.B.C.D.27.在程序运行时,下面的叙述中正确的是( )。A) 用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load 事件过程B) 用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C) 只装入而不显示窗体,也会执行窗体的 Form_Load 事件过程D) 装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click 事件过程(分数:1.00)A.B.C.D.28.窗体上有一个名称为 Picture1 的图片框控件,一个名称为 Label1 的标签控件,如图所示。(分数:1.00)A.B.C.D.29.下列叙述中正确的是(
14、 )。A) MsgBox 语句的返回值是一个整数B) 执行 MsgBox 语句并出现信息框后,不用关闭信息框即可执行其他操作C) MsgBox 语句的第一个参数不能省略D) 如果省略 MsgBox 语句的第三个参数(Title),则信息框的标题为空(分数:1.00)A.B.C.D.30.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是( )。A) 10 B) 8 C) 6 D) 4(分数:1.00)A.B.C.D.31.语句 Dim a(-3 To 4, 3 To 6) As Integer 定义的数组的元素个数是( )。A) 18 B) 28 C) 21 D) 32(分数:1.
15、00)A.B.C.D.32.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序:Option Base 0Dim a() As Integer, m As IntegerPrivate Sub Command1_Click()m = InputBox( “请输入一个正整数“ )ReDim a(m)End SubPrivate Sub Command2_Click()m = InputBox( “请输入一个正整数“ )ReDim a(m)End Sub运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组 a 中元素的个数是
16、( )。A) 5 B) 6 C) 10 D) 11(分数:1.00)A.B.C.D.33.支持子程序调用的数据结构是( )。A) 栈 B) 树 C) 队列 D) 二叉树(分数:1.00)A.B.C.D.34.在窗体上画一个名称为 Command1 的命令按钮,再画两个名称分别为 Label1、Label2 的标签,然后编写如下程序代码:Private X As IntegerPrivate Sub Command1_Click()X=5 : Y=3Call proc(X, Y)Label1. Caption = XLabel2. Caption = YEnd SubPrivate Sub pr
17、oc(a As Integer, ByVal b As Integer)X=a*aY=b+bEnd Sub程序运行后,单击命令按钮,则两个标签中显示的内容分别是( )。A) 25 和 3 B) 5 和 3 C) 25 和 6 D) 5 和 6(分数:1.00)A.B.C.D.35.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序:Private Sub Command1_Click()Dim M(10) As IntegerFor k = 1 To 10M(k) = 12 - kNext kx=8Print M(2 + M(x)End Sub运行程序,单击命令按钮,在窗体上显
18、示的是( )。A) 6 B) 5 C) 7 D) 8(分数:1.00)A.B.C.D.36.设窗体中有一个文本框 Text1,若在程序中执行了 Text1. SetFocus,则触发( )。A) Text1 的 SetFocus 事件 B) Text1 的 GotFocus 事件C) Text1 的 LostFocus 事件 D) 窗体的 GotFocus 事件(分数:1.00)A.B.C.D.37.可以产生 3050(含 30 和 50)之间的随机整数的表达式是( )。A) Int (Rnd*21+30) B) Int (Rnd*20+30)C) Int (Rnd*50-Rnd*30) D)
19、 Int (Rnd*30+50)(分数:1.00)A.B.C.D.38.下面有关标准模块的叙述中,错误的是( )。A) 标准模块不完全由代码组成,还可以有窗体B) 标准模块中的 Private 过程不能被工程中的其他模块调用C) 标准模块的文件扩展名为. basD) 标准模块中的全局变量可以被工程中的任何模块引用(分数:1.00)A.B.C.D.39.设窗体上有一个文本框 Text1 和一个命令按钮 Command1,并有以下事件过程:Private Sub Command1_Click()Dim s As String,ch As Strings = “ “For k = 1 To Len(
20、Text1)ch = Mid(Text1, k, 1)s = ch + sNext kText1. Text = sEnd Sub程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则 Text1 中显示的是( )。A) Basic B) cisaB C) BASIC D) CISAB(分数:1.00)A.B.C.D.40.把数学表达式 (分数:1.00)A.B.C.D.二、基本操作题(总题数:2,分数:18.00)41.在名称为 Form1 的窗体上添加一个标签(名称为 Label1,标题为空白,BorderStyle 属性为1,Visible 属性为 False)、一个文本框(名称
21、为 Text1,Text 属性初始内容为空)和一个命令按钮(名称为Command1,标题为“显示”),如图 1 所示。然后编写命令按钮的 Click 事件过程。程序运行后,在文本框中输入“计算机等级考试”,然后单击命令按钮,则文本框消失,并在标签内显示文本框中的内容。程序运行后的窗体如图 2 所示。要求程序中不得使用任何变量。(分数:9.00)_42.在名称为 Form1 的窗体上添加一个文本框(名称为 Text1)和一个水平滚动条(名称为 HScroll1),如图1 所示。在属性窗口中对滚动设置如下属性:Min 500Max 2000LargeChange50SmallChange20编写适
22、当的事件过程。程序运行后,通过改变滚动条上的刻度值,则可扩大或缩小文本框的高度,并使得文本框的宽度始终是其高度的 1.2 倍。程序运行后的窗体如图 2 所示。要求程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2.vbp,窗体文件名保存为 sjt2. frm(分数:9.00)_三、简单应用题(总题数:2,分数:24.00)43.在考生文件夹下有一个工程文件 sjt3. vbp,请在窗体上添加两个单选按钮(名称分别为 Option1 和Option2,标题分别为“添加项目”和“删除项目”),一个列表框(名称为 List1)和一个文本框(名称为Text1),如图
23、 1 所示。编写窗体的 Click 事件过程。程序运行后,如果选择“添加项目”单选按钮,然后单击窗体,则从键盘上输入要添加的项目内容(内容任意,不少于三个),并添加到列表框中;如果选择“删除项目”单选按钮,然后单击窗体,则从键盘上输入要删除的项目内容,将其从列表框中删除。程序的运行情况如图 2 所示。在考生文件夹下的工程文件 sjt3. vbp(相应的窗体文件名为 sjt3. frm),可以实现上述功能。但这个程序不完整,请把它补充完整。(分数:12.00)_44.在考生文件夹下有一个工程文件 sjt4. vbp(相应的窗体文件名为 sjt4. frm),其功能是通过调用过程Sort 将数组进
24、行降序排序。程序运行后,分别向四个文本框中各输入一个整数(如图 1 所示),然后单击命令按钮,即可使数组按降序排序,并显示在文本框中(如图 2 所示)。这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。(分数:12.00)_四、综合应用题(总题数:1,分数:18.00)45.在窗体上建立三个菜单(名称分别为 Read、Calc 和 Save,标题分别为“读入数据”、“计算并输出”和“存盘”),然后添加一个文本框(名称为 Text1,可显示多行,ScrollBars
25、属性设置为 2)(如图所示)。程序运行后,如果执行“读入数据”命令,则读入 datain1. txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果单击“计算并输出”按钮,则把该数组中小于 50 的元素显示在文本框中,求出它们的和,并把所求得的和显示在窗体上;如果单击“存盘”按钮,则将所求得的和存入考生文件夹下的dataout. txt 文件中。在考生文件夹下有一个工程文件 sjt5. vbp。窗体文件中的 ReadData 过程可以把 datain1. txt 文件中的100 个整数读入 Arr 数组中;而 WriteData 过程可以把指定的整数值写到考生文件夹下指定的文
26、件中(整数值通过计算求得,文件名为 dataout. txt)。注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍保存为 sjt5. vbp,窗体文件名仍保存为 sjt5. frm。(分数:18.00)_计算机等级考试二级 VISUAL+BASIC 机试 8 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.以下变量名中合法的是( )。A) x2-1 B) print C) sfr_n D) 2x(分数:1.00)A.B.C. D.解析:解析 VB 中变量名的命名规则:必须以字母或汉字开头由字母、汉字、数字或下划线组成不能使用 V
27、B 的保留字。本题中 x2-1 中有-(减号),不是下划线。print 是 VB 的保留字,也不能作变量名。2x 以数字开头,也是错误的。故 C 选项正确。2.数据库应用系统中的核心问题是( )。A) 数据库设计 B) 数据库系统设计C) 数据库维护 D) 数据库管理员培训(分数:1.00)A. B.C.D.解析:解析 数据库应用系统中的核心问题是数据库的设计。3.窗体上有一个名称为 Option1 的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程:Private Sub Option1_Click(Index As Integer)End Sub下面关于此过程的参数 I
28、ndex 的叙述中正确的是( )。A) Index 为 1 表示单选按钮被选中,为 0 表示未选中B) Index 的值可正可负C) Index 的值用来区分哪个单选按钮被选中D) Index 表示数组中单选按钮的数量(分数:1.00)A.B.C. D.解析:解析 Index 参数值返回的是单选按钮数组中各单选按钮的索引值,用它来区分各单选按钮。故A、D 选项错误,C 选项正确;Index 的值只能是非负数,故 B 选项借误。4.以下关于函数过程的叙述中,正确的是( )。A) 函数过程形参的类型与函数返回值的类型没有关系B) 在函数过程中,过程的返回值可以有多个C) 当数组作为函数过程的参数时
29、,既能以传值方式传递,也能以传址方式传递D) 如果不指明函数过程参数的类型,则该参数没有数据类型(分数:1.00)A. B.C.D.解析:解析 定义函数过程的格式:Function 函数过程名(形参表)As 函数返回值的数据类型函数过程名=表达式End Function说明:形参的类型可以是任何数据类型,函数返回值的类型是调用函数后返回的数据类型,他们没有关系,互不影响。故选项 A 正确。选项 B 错误的原因是:函数过程中可以有多个“函数过程名=表达式”这样的语句,但是最终函数只能有一个返回值。如果省略这条语句,函数过程则返回一个默认值,数值函数过程返回 0,字符串函数过程返回空字符串。选项
30、C 错误的原因是:数组作为函数过程的参数时,这时数组名看作是一个符号地址,实参和形参之间传递的是地址,所以以传址方式传递。选项 D 错误的原因是:形参如果没指明数据类型,默认为 Variant 类型。5.将 E-R 图转换为关系模式时,实体和联系都可以表示为( )。A) 属性 B) 键 C) 关系 D) 域(分数:1.00)A.B.C. D.解析:解析 从 E-R 图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。6.窗体上有名称为 Command1 的命令按钮和名称为 Text1 的文本框Private Sub Command1_Click(
31、)Text1. Text = “程序设计“Text1. SetFocusEnd SubPrivate Sub Text1_GotFocus()Text1. Text = “等级考试“End Sub运行以上程序,单击命令按钮后( )。A) 文本框中显示的是“程序设计”,且焦点在文本框中B) 文本框中显示的是“等级考试”,且焦点在文本框中C) 文本框中显示的是“程序设计”,且焦点在命令按钮上D) 文本框中显示的是“等级考试”,且焦点在命令按钮上(分数:1.00)A.B. C.D.解析:解析 运行程序,单击命令按钮后,执行 Command1_Click 事件过程代码,文本框 Text1 中显示“程序
32、设计”,并且文本框 Text1 获得焦点,此时焦点在 Text1 中;当 Text1 获得焦点就会触发它的Got_Focus 事件,执行 Got_Focus 事件过程,结果文本框 Text1 中显示“等级考试”。故 B 选项正确。7.下列关于通用对话框 CommonDialog1 的叙述中,错误的是( )。A) 只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开B) 使用 CommonDialog1. ShowColor 方法,可以显示“颜色”对话框C) CancelError 属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告D) 在显示“字体”对话框前
33、,必须先设置 CommonDialog1 的 Flags 属性,否则会出错(分数:1.00)A. B.C.D.解析:解析 “打开”对话框主要用来获取用户指定的文件信息并供程序使用,对话框本身并不提供打开文件功能,这些功能需另外编写代码才能实现,所以在“打开”对话框中可选中某文件,但不能打开。故 A 选项错误。8.以下关于过程及过程参数的描述中,错误的是( )。A) 过程的参数可以是控件名称B) 调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)C) 只有函数过程能够将过程中处理的信息返回到调用程序中D) 窗体可以作为过程的参数(分数:1.00)A.B.C. D.解析:解析 过
34、程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故选项 A、D 正确。调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项 B 正确。在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中,Sub 过程也可以。Sub 过程中形参声明时前面有关键字 ByRef 或省略 ByRef(默认)时,实参和形参之间传递的是地址,Sub 过程中形参的变化也会引起实参的变化,这样 Sub 过程中处理的信息也可以传回调用程序中。故选项 C 说法错误。9.设窗体上有名称为 Option1 的单选按
35、钮,且程序中有语句:If Option1. Value=True Then下面语句中与该语句不等价的是( )。A) If Option1. Value Then B) If Option1=True ThenC) If Value=True Then D) If Option1 Then(分数:1.00)A.B.C. D.解析:解析 A 选项中 Option1. Value 可作为一个条件表达式,它返回的是单选按钮 Value 属性的属性值,根据属性值就可判断出单选按钮是否被选中;B 选项中 Option1 等价于 Option1. Value;D 选项与 A选项等价,故 A、B、D 选项均与
36、程序中语句等价;C 选项中 Value 是属性名,前面必须加控件名才能用,不能单独使用,故 C 选项错误。10.有两个关系 R,S 如下:(分数:1.00)A.B. C.D.解析:解析 投影运算是指对于关系内的域指定可引入新的运算。本题中 S 是在原有关系 R 的内部进行的,是由 R 中原有的那些域的列所组成的关系。所以选择 B。11.下列叙述中正确的是( )。A) 栈是“先进先出”的线性表B) 队列是“先进后出”的线性表C) 循环队列是非线性结构D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数:1.00)A.B.C.D. 解析:解析 栈是先进后出的线性表,所以 A 错误;
37、队列是先进先出的线性表,所以 B 错误;循环队列是线性结构的线性表,所以 C 错误。12.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程:Private Sub Command1_Click()Counter = 0For i = 1 To 4For j = 6 To 1 Step - 2Counter = Counter + 1Next jNext iLabel1. Caption = Str(Counter)End Sub程序运行后,单击命令按钮,标签中显示的内容是( )。A) 11 B) 12 C) 16 D) 20(分数:1.0
38、0)A.B. C.D.解析:解析 这是一个双层循环,外层循环是 4 次,内层循环变量初值 6,终值 1,步长-2,则 j 可取的值为 6、4、2,因此内层 For 循环会循环 3 次,两层循环的总数是 4*3=12 次,Counter 的值即为 12。Str函数将数值转换成字符串,即“12”,所以标签中显示的内容为“12”。13.在利用菜单编辑器设计菜单时,为了把组合键“Alt+x”设置为“退出(x)”菜单项的访问键,可以将该菜单项的标题设置为( )。A) 退出(X sumNext iEnd Sub运行此程序时发现,除第 1 个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改
39、方案中正确的是( )。A) 把外层循环语句 For i=1 To 4 改为 For i=1 To 3内层循环语句 For j=1 To 3 改为 For j=1 To 4B) 把 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(i, j)(分数:1.00)A.B. C.D.解析:解析 程序变量 sum 的值在开始计算第 2 个学生的总成绩时,仍保留着第一个学生的总成绩,这样会把前面学生的总成绩计算进去
40、,显然不对。因此,sum=0 这一句应该放在第 1 层 For 循环体的第一句,即 For i=1 to 4 和 for j=1 to 3 之间。20.下面哪个属性肯定不是框架控件的属性( )。A) Text B) Caption C) Left D) Enabled(分数:1.00)A. B.C.D.解析:解析 框架没有 Text 属性。故选 A。21.若看到程序中有以下事件过程,则可以肯定的是,当程序运行时( )。Private Sub Click_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Singl
41、e)Print “VB Program“End SubA) 用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程B) 用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程C) 用鼠标右键单击名称为“MouseDown”的控件时,执行此过程D) 用鼠标左键或右键单击名称为“Click”的控件时,执行此过程(分数:1.00)A.B.C.D. 解析:解析 本题中,Click 是控件的名称,MouseDown 是鼠标按下事件,当用鼠标左键或右键单击Click 控件时就会触发 MouseDown 事件,执行 MouseDown 事件过程。故选 D。22.下列有关文件的叙述中,正
42、确的是( )。A) 以 Output 方式打开一个不存在的文件时,系统将显示出错信息B) 以 Append 方式打开的文件,既可以进行读操作,也可以进行写操作C) 在随机文件中,每个记录的长度是固定的D) 无沦是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的(分数:1.00)A.B.C. D.解析:解析 A 选项错误原因:当以 Output 方式打开一个不存在的顺序文件时,Open 语句会首先创建该文件,然后再打开它,系统不会出错。B 选项错误原因:以 Append 方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读操作。D 选项错误原因:VB 中三种可
43、访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。C 选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故 C 选项正确。23.下面叙述中错误的是( )。A) 软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为 DebugD) 软件测试应严格执行测试计划,排除测试的随意性(分数:1.00)A. B.C.D.解析:解析 软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项 A 错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归
44、测试,防止引进新的错误。程序调试通常称为 Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。24.设窗体上有 1 个水平滚动条,已经通过属性窗口把它的 Max 属性设置为 1,Min 属性设置为 100。下面叙述中正确的是( )。A) 程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就增加B) 程序运行时,若使滚动块向左移动,滚动条的 Value 属性值就减少C) 由于滚动条的 Max 属性值小于 Min 属性值,程序会出错D) 由于滚动
45、条的 Max 属性值小于 Min 属性值,程序运行时滚动条的长度会缩为一点,滚动块无法移动(分数:1.00)A. B.C.D.解析:解析 水平滚动条的 Max 和 Min 属性值可以是 032767 中任意值。当 MaxMin 属性值时,滚动块向右移动 Value 属性值增加,向左移动 Value 属性值减少;反之,当 MaxMin 属性值时,滚动块向右移动 Value 属性值减少,向左增加;当它们 Max=Min 时,滚动块不能移动。故 A 选项正确。25.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。A) 提高耦合性降低内聚性有利于提高模块的独立性B) 降低耦合性提
46、高内聚性有利于提高模块的独立性C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D) 内聚胜是指模块间互相连接的紧密程度(分数:1.00)A.B. C.D.解析:解析 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以 A 错误,B 正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以 C 与 D 错误。26.现有如下程序:Private Sub Command1_Click()s=
47、0For i = 1 To 5s = s + f(5+i)NextPrint sEnd SubPublic Function f(x As Integer)If x = 10 Thent=x+1Elset=x+2End Iff=tEnd Function运行程序,则窗体上显示的是( )。A) 38 B) 49 C) 61 D) 70(分数:1.00)A.B. C.D.解析:解析 程序中过程 f 的功能是参数值大于等于 10 时,返回参数加 1 的值,否则返回参数加 2 的值。因此按钮事件中 s 值的计算过程如下:i=1 时,s=0+f(5+1)=8;i=2 时,s=8+f(5+2)=8+9=1
48、7;i=3 时,s=17+f(5+3)=17+10=27;i=4 时,s=27+f(5+4)=27+11=38;i=5 时,s=38+f(5+5)=38+11=49;因此最终在窗体上输出的是 49。27.在程序运行时,下面的叙述中正确的是( )。A) 用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load 事件过程B) 用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click 事件过程C) 只装入而不显示窗体,也会执行窗体的 Form_Load 事件过程D) 装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click 事件过程(分数:1.00)A.B.C. D.解析:解析 如果窗体是活动的,那么在窗体上按下鼠标右键(尚未松手抬起),即会触发Form_MouseDown 事件,松手抬起后,要先触发 Form_M