荟萃馆

位置:首页 > 计算机 > 计算机二级

2017年9月计算机二级考试《VB》自测试题

  一、单选题

2017年9月计算机二级考试《VB》自测试题

1). 以下关于变量作用域的叙述中,错误的是( )

A.在标准模块声明部分用Public声明的变量的作用域为整个工程文件

B.在标准模块声明部分用Private声明的变量的作用域为该标准模块

C.在窗体的声明部分不能用Private声明变量

D.在过程中不能使用Public声明变量

正确答案:C

2). 资源文件的扩展名是( )

正确答案:D

3). 对于循环队列,下列叙述中正确的是( ).

A.队头指针是固定不变的

B.队头指针一定大于队尾指针

C.队头指针一定小于队尾指针

D.队头指针可以大于队尾指针,也可以小于队尾指针

正确答案:D

答案解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。

4). 为了把命令按钮设置为图形格式,其Style属性值应为( )

e

C.1

D.O

正确答案:C

答案解析:Style属性设定此对象是否以图片作为外观显示,有两种值可选:O,标准外观(默认值);1,图片外观。

5). 构成计算机软件的是( )

A.源代码

B.程序和数据

C.程序和文档

D.程序、数据及相关文档

正确答案:D

答案解析:软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。

6). 在VB中,函数过程与子程序过程的区别之一是( )

A.函数过程必须有参数,而子程序过程可以没有

B.函数过程的参数传递只采用值传递,而子程序过程只采用地址传递

C.在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能

D.函数过程有返回值,而子程序过程没有

正确答案:D

答案解析:在Visual Basic中有两类过程:一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用。在第二类过程中,涉及最多的是子过程。它们的共同点是完成某种特定功能的一组程序代码,不同的是函数是可以直接返回值的特殊过程,所以函数过程定义时有返回值的类型说明。两者最大的区别就是Sub过程的过程不能直接返回值,而Function过程能直接返回值。

  二、综合应用题

在考生文件夹下有一个工程文件,按照要求完成以下操作:

在名称为Forml的窗体上添加两个命令按钮,其名称分别为Cl和c2,标题分别为“读人数据”和“计算”(如图所示)。程序运行后,如果单击“读人数据”按钮,则调用题目所提供的ReadDatal和ReadData2过程读入和文件中的各20个整数,分别放入Arrl和Arr2两个数组中;如果单击“计算”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(第1个数组的第n个元素减去第2个数组的第n个元素,其结果作为第3个数组的.第n个元素。这里的n为1、2…20),最后计算第3个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的WriteData过程将所求得的和存人考生文件夹下的文件中。

注意:考生不得修改窗体文件中已经存在的程序,且必须执行一次,最后将修改后的文件以原来的文件名存盘。

  参考答案

【考点分析】本题考点有:命令按钮的Name和Caption属性、OptionBase数组下标、Call语句、Print方法、For循环语句以及文件操作。

解题思路】本题源程序已给出读文件中的数据和向文件中写数据的三个过程,只需适时调用它们,即在“读人数据”和保存过程中调用;要把数组Arrl和Arr2中对应下标的元素相减并把结果存入第3个数组中,需利用For循环逐一取出Arrl和Arr2对应元素;由于数组Arrl、Arr2及存储第3个数组和的变量要跨过程使用,因此需定义成窗体级变量;调用过程WnteData时需传递两个参数,分别是存入数据的文件名和存储第3个数组和的变量;语句0ptionBase1用于限定数组下标的下限,默认为1。

【操作步骤】

步骤1:打开本题工程文件,按照题目要求建立命令按钮控件并设置命令按钮的相应属性,程序中用到的控件及属性见表3.23。

步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。

参考答案

PrivateSubCl_Click()

CallReadDatal′调用过程ReadDatal

CallReadData2′调用过程ReadData2

EndSub

PrivateSubC2_Click()

DimArr3(1To20)AsInteger

DimsumAsInteger

sum=0

Fori=1T020′将Arrl中对应于Arr2中的数

相减,结果存入Arr3中

Arr3(i)=Arrl(i)-Arr2(i)

sum=sum+Arr3(i)将Arr3中的元素累加

Nexti

Print”sum=";sum′在窗体打印sum

WriteData"",sum

EndSub

步骤3:调试并运行程序,关闭程序后按题目要求存盘。