首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

二级VB选择题库

2020-09-22 来源:华拓网
公共基础知识

第一章 数据结构与算法

1、下列叙述中正确的是( D )。

A) 算法就是程序 B) 设计算法时只需要考虑数据结构的设计

C) 设计算法时只需要考虑结果的可靠性 D) 以上三种说法都不对 2、算法一般都可以用哪几种控制结构组合而成( B )。 A) 选择、分支、递归 B) 顺序、循环、选择 C) 循环、递归、选择 D) 顺序、选择、嵌套 3、在计算机中,算法是指( C )。

A) 查找方法 B) 处理方法 C) 解题方案的准确而完整的描述 D) 排序方法 4、算法的有穷性是指( A )。

A) 算法程序的运行时间是有限的 B) 算法程序所处理的数据量是有限的 C) 算法程序的长度是有限的 D) 算法只能被有限的用户使用 5、在下列选项中,那个不是一个算法一般应该具有的基本特征( A )。 A) 无穷性 B) 可行性 C) 确定性 D) 有穷性 6、算法的空间复杂度是指( A )。

A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量

C) 算法程序中的语句或指令条数 D) 算法在执行过程中所需要的临时工作单元数 7、算法空间复杂度是指( A )。

A) 算法执行过程中所需要的存储空间 B) 算法程序中的指令一共有多少条 C) 算法程序所占的存储空间的大小 D) 算法程序的大小 8、算法的空间复杂度是指( B )。

A) 算法程序的大小 B) 算法执行过程中所需要的存储空间 C) 算法程序所占的存储空间 D) 算法程序中的指令数目

9、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( B )。 A) -369 B) 369 C) 0.369 D) 整数集合{1,2,3,4,5} 10、下列叙述中正确的是( B )。

A) 有一个以上根结点的数据结构不一定是非线性结构 B) 只有一个根结点的数据结构不一定是线性结构

C) 循环链表是非线性结构 D) 双向链表是非线性结构 11、下列叙述中正确的是( A )。

A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表 D) 链式存储结构比顺序存储结构节省存储空间 12、下列叙述中正确的是( B )。

A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

13、用链表表示线性表的优点是( C )。

A) 花费的存储空间较顺序存储少 B) 没有明显优势 C) 便于插入和删除操作 D) 便于随机存取操作 14、下列叙述中正确的是( D )。

A) 栈是\"先进先出\"的线性表 B) 队列是\"先进后出\"的线性表 C) 循环队列是非线性结构

D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

15、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则

元素出栈的顺序是( B )。

A) 12345ABCDE B) EDCBA54321 C) ABCDE12345 D) 54321EDCBA 16、下列关于栈的叙述正确的是( B )。

A) 栈按\"先进先出\"组织数据 B) 栈按\"先进后出\"组织数据 C) 只能在栈底插入数据 D) 不能删除数据 17、下列叙述中正确的是( C )。

A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D) 以上说法都不正确

18、下列关于栈叙述正确的是( A )。

A) 栈顶元素最先能被删除 B) 栈顶元素最后才能被删除 C) 栈底元素永远不能被删除 D) 栈底元素最先被删除 19、下列叙述中正确的是( D )。

A) 栈是一种先进先出的线性表 B) 队列是一种后进先出的线性表 C) 栈与队列都是非线性结构 D) 以上三种说法都不对 20、下列关于栈的叙述中正确的是( C )。

A) 在栈中只能插入数据,不能删除数据 B) 在栈中只能删除数据,不能插入数据 C) 栈是先进后出(FILO)的线性表 D) 栈是先进先出(FIFO)的线性表 21、下列选项属于栈和队列共同点的是( A )。

A) 只允许在端点处插入和删除元素 B) 都是先进先出 C) 都是先进后出 D) 二者没有共同点

22、下列数据结构中,能够按照\"先进后出\"原则存取数据的是( B )。 A) 循环队列 B) 栈 C) 队列 D) 二叉树 23、以下关于队列的叙述中正确的是( D )。

A) 在队列中只能插入数据 B) 在队列中只能删除数据

C) 队列是先进后出(FILO)的线性表 D) 队列是先进先出(FIFO)的线性表 24、下列数据结构中,属于非线性结构的是( C )。

A) 循环队列 B) 带链队列 C) 二叉树 D) 带链栈 25、对于循环队列,下列叙述中正确的是( D )。

A) 队头指针是固定不变的 B) 队头指针一定大于队尾指针

C) 队头指针一定小于队尾指针 D) 队头指针可以大于队尾指针,也可以小于队尾指针 26、下列叙述中正确的是( D )。

A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D) 循环队列中元素的个数是由队头指针和队尾指针共同决定 27、下列叙述中正确的是( B )。

A) 循环队列是队列的一种链式存储结构 B) 循环队列是队列的一种顺序存储结构 C) 循环队列是非线性结构 D) 循环队列是一种逻辑结构 28、下列关于线性链表的叙述中,正确的是( C )。

A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C) 进行插入与删除时,不需要移动表中的元素 D) 以上说法均不正确 29、在单链表中,增加头结点的目的是( A )。 A) 使单链表不为空 B) 方便运算的实现

C) 增加存储空间 D) 说明单链表是线性表的链式存储实现 30、支持子程序调用的数据结构是( A )。

A) 栈 B) 树 C) 队列 D) 二叉树

31、某系统总体结构图如下图所示:

该系统总体结构图的深度是( C )。

A) 7 B) 6 C) 3 D) 2

32、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( C )。

A) 10 B) 8 C) 6 D) 4

33、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( A )。

A) 16 B) 10 C) 6 D) 4

34、下列关于二叉树的叙述中,正确的是( B )。

A) 叶子结点总是比度为2的结点少一个 B) 叶子结点总是比度为2的结点多一个 C) 叶子结点数是度为2的结点数的两倍 D) 度为2的结点数是度为1的结点数的两倍

35、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( A) 3 B) 4 C) 6 D) 7

36、设有下列二叉树:

对此二叉树中序遍历的结果为( C )。

A) ACBDEF B) DEBFCA C) ABDECF D) DBEAFC

37、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( C )。

A) O(n) B) O(n2

) C)

D)

38、在待排序的元素序列基本有序的前提下,效率最高的排序方法是( C )。 A) 快速排序 B) 堆排序 C) 冒泡排序 D) 归并排序 39、在下列几种排序方法中,要求内存量最大的是( C )。

A) 冒泡排序 B) 插入排序和选择排序 C) 归并排序 D) 快速排序

40、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D )。 A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序 41、下列排序方法中,最坏情况下比较次数最少的是( D )。

A) 冒泡排序 B) 简单选择排序 C) 直接插入排序 D) 堆排序

第二章 程序设计基础

1、下列选项中不属于结构化程序设计原则的是( A )。

A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 2、结构化程序设计的基本原则不包括( A )。

A) 多态性 B) 自顶向下 C) 模块化 D) 逐步求精 3、下面描述中,符合结构化程序设计风格的是( A )。

A) 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B) 模块只有一个入口,可以有多个出口

C) 注重提高程序的执行效率 D) 不使用goto语句 4、结构化程序所要求的基本结构不包括( B )。

D )。

A) 顺序结构 B) GOTO跳转 C) 选择(分支)结构 D) 重复(循环)结构

5、下列选项中属于面向对象设计方法主要特征的是( A )。 A) 继承 B) 自顶向下 C) 模块化 D) 逐步求精

6、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( C )。 A) 模拟现实世界中不同事物之间的联系

B) 强调模拟现实世界中的算法而不强调概念

C) 使用现实世界的概念抽象地思考问题从而自然地解决问题

D) 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

7、在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( D )。 A) 语句 B) 命令 C) 调用程序 D) 消息 8、面向对象方法中,继承是指( D )。

A) 一组对象所具有的相似性质 B) 一个对象具有另一个对象的性质 C) 各对象之间的共同性质 D) 类之间共享属性和操作的机制

第三章 软件工程基础

1、下面不属于软件工程的3要素的是( A )。

A) 需求 B) 需求 C) 工具 D) 过程 2、以下叙述中,正确的是( B )。

A) 软件就是程序的集合 B) 软件包括程序和文档 C) 软件应包括程序清单及结果 D) 软件就是文件

3、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( C )。 A) 编译程序 B) 操作系统 C) 教务管理系统 D) 汇编程序

4、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( A )。 A) 学生成绩管理系统 B) C语言编译程序 C) UNIX 操作系统 D) 数据库管理系统 5、下面描述中,不属于软件危机表现的是( A )。

A) 软件过程不规范 B) 软件开发生产率低 C) 软件质量难以控制 D) 软件成本不断提高 6、软件生命周期是指( A )。

A) 软件产品从提出、实现、使用维护到停止使用退役的过程 B) 软件从需求分析、设计、实现到测试完成的过程 C) 软件的开发过程 D) 软件的运行维护过程 7、软件生命周期中的活动不包括( A )。

A) 市场调研 B) 需求分析 C) 软件测试 D) 软件维护

8、软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( D )。 A) 概要设计 B) 软件设计 C) 可行性研究和计划制定 D) 需求分析 9、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是( B )。 A) 可行性分析 B) 需求分析 C) 详细设计 D) 程序编码 10、在软件开发中,需求分析阶段产生的主要文档是( B )。 A) 可行性分析报告 B) 软件需求规格说明书 C) 概要设计说明书 D) 集成测试计划

11、在软件开发中,需求分析阶段产生的主要文档是( D )。 A) 软件集成测试计划 B) 软件详细设计说明书 C) 用户手册 D) 软件需求规格说明书 12、下面不属于需求分析阶段任务的是( D )。

A) 确定软件系统的功能需求 B) 确定软件系统的性能需求 C) 需求规格说明书评审 D) 制定软件集成测试计划 13、在软件开发中,需求分析阶段可以使用的工具是( B )。

A) N-S图 B) DFD图 C) PAD图 D) 程序流程图

14、)数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( B )。 A) 加工 B) 控制流 C) 数据存储 D) 数据流

15、下列不属于结构化分析的常用工具的是( B )。

A) 数据流图 B) 流程图 C) 数据字典 D) 判定树和判定表 16、在软件设计中不使用的工具是( C )。

A) 系统结构图 B) PAD图 C) 数据流图(DFD图) D) 程序流程图 17、概要设计使用的工具是( A )。

A) 系统结构图 B) 程序流程图 C) PAD图 D) 数据流图(DFD图) 18、数据流图中带有箭头的线段表示的是( D )。

A) 控制流 B) 事件驱动 C) 模块调用 D) 数据流 19、下面描述中错误的是( A )。

A) 系统总体结构图支持软件系统的详细设计

B) 软件设计是将软件需求转换为软件表示的过程 C) 数据结构与数据库设计是软件设计的任务之一 D) PAD图是软件详细设计的表示工具

20、软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( B )。 A) 模块间的关系 B) 系统结构部件转换成软件的过程描述 C) 软件层次结构 D) 软件开发过程

21、软件设计中模块划分应遵循的准则是( B )。

A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 22、耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( B )。 A) 提高耦合性降低内聚性有利于提高模块的独立性 B) 降低耦合性提高内聚性有利于提高模块的独立性

C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D) 内聚性是指模块间互相连接的紧密程度 23、软件设计中划分模块的一个准则是( B )。

A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 24、软件详细设计生产的图如下:

该图是( C )

A) N-S图 B) PAD图 C) 程序流程图 D) E-R图

25、程序流程图中带有箭头的线段表示的是( C )。

A) 图元关系 B) 数据流 C) 控制流 D) 调用关系 26、程序流程图(PFD)中的\"□\"代表的是( A )。

A) 加工步骤 B) 数据流 C) 控制流 D) 组成关系 27、下面叙述中错误的是( A )。

A) 软件测试的目的是发现错误并改正错误

B) 对被调试的程序进行\"错误定位\"是程序调试的必要步骤 C) 程序调试通常也称为Debug

D) 软件测试应严格执行测试计划,排除测试的随意性 28、软件测试的目的是( D )。

A) 评估软件可靠性 B) 发现并改正程序中的错误 C) 改正程序中的错误 D) 发现程序中的错误

29、在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是( A )。 A) 路径的集合 B) 选择的集合 C) 操作的集合 D) 目标的集合 30、在黑盒测试方法中,设计测试用例的主要根据是( B )。

A) 程序内部逻辑 B) 程序外部功能 C) 程序数据结构 D) 程序流程图 31、软件测试的过程是( D )。

a.验收测试 b.集成测试 c. 单元测试 d.系统测试

A) a、b、c、d B) d、c、b、a C) b、a、d、c D) c、b、a、d 32、程序调试的任务是( D )。

A) 设计测试用例 B) 验证程序的正确性

C) 发现程序中的错误 D) 诊断和改正程序中的错误

第四章 数据库设计基础

1、下列叙述中正确的是( C )。

A) 数据库不需要操作系统的支持 B) 数据库设计是指设计数据库管理系统 C) 数据库是存储在计算机存储设备中的、结构化的相关数据的集合 D) 数据库系统中,数据的物理结构必须与逻辑结构一致 2、数据库管理系统是( B )。

A) 操作系统的一部分 B) 在操作系统支持下的系统软件 C) 一种编译系统 D) 一种操作系统

3、负责数据库中查询操作的数据库语言是( C )。

A) 数据定义语言 B) 数据管理语言 C) 数据操纵语言 D) 数据控制语言 4、以下关于数据库系统的叙述中正确的是( B )。

A) 数据库系统消除了冗余 B) 数据库系统减少了数据冗余 C) 数据库系统中数据的一致性是指数据类型的一致 D) 数据库系统比文件系统管理数据快 5、数据库应用系统中的核心问题是( A )。

A) 数据库设计 B) 数据库系统设计 C) 数据库维护 D) 数据库管理员培训 6、在数据管理技术发展的三个阶段中,数据共享最好的是( C )。

A) 人工管理阶段 B) 文件系统阶段 C) 数据库系统阶段 D) 三个阶段相同 7、在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有( C )。

A) 数据较低的冗余度 B) 数据共享度高 C) 特定的数据模型 D) 专门的数据管理软件 8、数据库系统的三级模式不包括( D )。

A) 概念模式 B) 内模式 C) 外模式 D) 数据模式

9、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( B )。 A) 外模式 B) 内模式 C) 概念模式 D) 逻辑模式 10、数据库设计中反映用户对数据要求的模式是( C )。

A) 内模式 B) 概念模式 C) 外模式 D) 设计模式 11、全局数据视图的描述称为( B )。

A) 外模式 B) 概念模式 C) 内模式 D) 物理存储模式 12、下列说法中,不属于数据模型所描述的内容的是( D )。

A) 数据结构 B) 数据操作 C) 数据约束 D) 数据管理 13、在E-R图中,用来表示属性的图形是( D )。

A) 矩形 B) 椭圆形 C) 菱形 D) 三角形

14、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( B )。 A) 一对一 B) 一对多 C) 多对一 D) 多对多

15、一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( D )。 A) 1∶1联系 B) 1∶m联系 C) m∶1联系 D) m∶n联系

16、一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机

之间的联系是( C )。

A) 一对一 B) 一对多 C) 多对多 D) 多对一 17、在E-R图中,用来表示实体联系的图形是( C )。 A) 椭圆形 B) 矩形 C) 菱形 D) 三角形 18、层次型、网状型和关系型数据库划分原则是( D )。

A) 记录长度 B) 文件的大小 C) 联系的复杂程度 D) 数据之间的联系方式 19、用二维表结构表示实体与实体间联系的数据模型是( D )。

A) 网状模型 B) 层次模型 C) 面向对象模型 D) 关系模型 20、用二维表的形式表示实体和实体间联系的数据模型( A )。

A) 关系模型 B) 层次模型 C) 网状模型 D) 数据模型 21、关系表中的每一横行称为一个( B )。

A) 字段 B) 元组 C) 行 D) 码 22、在满足实体完整性约束的条件下( A )。

A) 一个关系中应该有一个或多个候选关键字 B) 一个关系中只能有一个候选关键字 C) 一个关系中必须有多个候选关键字 D) 一个关系中可以没有候选关键字

23、有三个关系R、S和T如下:

则关系T是由关系R和S通过某种操作得到,该操作为( D )。

A) 选择 B) 投影 C) 交 D) 并

24、有两个关系R,S如下:

由关系R通过运算得到关系S,则所使用的运算为( B )。 A) 选择 B) 投影 C) 插入 D) 连接 25、有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为(

D

A) 笛卡尔积 B) 交 C) 并D) 自然连接 26、有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为(

D

A) 并 B) 自然连接 C) 笛卡尔积 D) 交

27、有三个关系R,S和T如下:

则由关系R和S得到关系T的操作是( A )。

)。

)。

A) 自然连接 B) 交 C) 投影 D) 并

28、有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是( D )。

A) 自然连接 B) 并 C) 交 D) 差

29、有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是( B )。

A) 自然连接 B) 差 C) 交 D) 并

30、按条件f对关系R进行选择,其关系代数表达式为( C )。

A) B) C) D)

31、关系数据库管理系统能实现的专门关系运算包括( A )。 A) 选择、投影、连接 B) 排序、查找、统计 C) 关联、更新、排序 D) 显示、打印、制表 32、有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是( C )。

A) 自然连接 B) 交 C) 除 D) 并

33、下列关于数据库设计的叙述中,正确的是( A )。

A) 在需求分析阶段建立数据字典 B) 在概念设计阶段建立数据字典 C) 在逻辑设计阶段建立数据字典 D) 在物理设计阶段建立数据字典

34、数据库概念设计的过程中,以下各项中不属于视图设计设计次序的是( B )。 A) 自顶向下 B) 由整体到个体 C) 由内向外 D) 由底向上 35、将E-R图转换为关系模式时,实体和联系都可以表示为( C )。 A) 属性 B) 键 C) 关系 D) 域

36、在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。

A) 需求分析阶段 B) 概念设计阶段 C) 逻辑设计阶段 D) 物理设计阶段 37、在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。

A) 需求分析阶段 B) 概念设计阶段 C) 逻辑设计阶段 D) 物理设计阶段

38、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( C )。

A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩

二级VB

第一章 Visual Basic程序开发环境

1、Visual Basic集成环境由若干窗口组成,其中不能隐藏(关闭)的窗口是( A )。 A) 主窗口 B) 属性窗口 C) 立即窗口 D) 窗体窗口 2、为了用键盘打开菜单和执行菜单命令,第一步应按的键是( A )。

A) 功能键F10或Alt B) Shift+功能键F4 C) Ctrl或功能键F8 D) Ctrl+Alt 3、以下关于VB文件的叙述中,错误的是( B )。

A) 标准模块文件不属于任何一个窗体 B) 工程文件的扩展名为.frm C) 一个工程只有一个工程文件 D) 一个工程可以有多个窗体文件

4、VB中有这样一类文件:该文件不属于任何一个窗体,而且仅包含程序代码,这类文件的扩展名是( B )。

A) .vbp B) .bas C) .vbw D) .frm

5、以下叙述中正确的是( C )。

A) 在属性窗口只能设置窗体的属性 B) 在属性窗口只能设置控件的属性

C) 在属性窗口可以设置窗体和控件的属性 D) 在属性窗口可以设置任何对象的属性 6、下列打开\"代码窗口\"的操作中错误的是( A )。

A) 按F4键 B) 单击\"工程资源管理器\"窗口中的\"查看代码\"按钮 C) 双击已建立好的控件 D) 执行\"视图\"菜单中的\"代码窗口\"命令

7、如果在Visual Basic集成环境中没有打开属性窗口,下列可以打开属性窗口的操作是( D )。 A) 用鼠标双击窗体的任何部位 B) 执行\"工程\"菜单中的\"属性窗口\"命令 C) 按Ctrl+F4键 D) 4键 按F

8、如果要在窗体上画一个标签,应在工具箱窗口中选择的图标是( B )。

A)

B)

C)

D)

第二章 对象及其操作

1、在面向对象方法中,不属于\"对象\"基本特点的是( A )。

A) 一致性 B) 分类性 C) 多态性 D) 标识唯一性 2、以下关于事件、事件驱动的叙述中,错误的是( C )。

A) 事件是可以由窗体或控件识别的操作 B) 事件可以由用户的动作触发

C) 一个操作动作只能触发一个事件 D) 事件可以由系统的某个状态的变化而触发 3、在面向对象的程序设计中,可被对象识别的动作称为( B )。 A) 方法 B) 事件 C) 过程 D) 函数 4、以下关于VB特点的叙述中,错误的是( C )。

A) VB中一个对象可有多个事件过程 B) VB应用程序能以编译方式运行 C) VB应用程序从Form_Load事件过程开始执行

D) 在VB应用程序中往往通过引发某个事件导致对对象的操作 5、以下关于VB的叙述中,错误的是( D )。

A) VB采用事件驱动方式运行 B) VB既能以解释方式运行,也能以编译方式运行

C) VB程序代码中,过程的书写顺序与执行顺序无关 D) VB中一个对象对应一个事件 6、以下叙述中错误的是( C )。

A) Visual Basic 是事件驱动型可视化编程工具

B) Visual Basic应用程序不具有明显的开始和结束语句

C) Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D) Visual Basic中控件的某些属性只能在运行时设置

7、设工程文件中包名称分别为Form1、Form2的两个窗体,且Form1的菜单属性设置如下:

窗体Form1中的程序如下:

Dim Flag As Boolean Private Sub Form_Load() Flag=True End Sub

Private Sub mnu1_Click(index As Integer) If Index=1 Then

If Flag=True Then Form2.show

mnu1(1).Caption=\"隐藏窗体2\" Flag=False Else

Form2.Hide

mnu1(1).Caption=\"显示窗体2\" Flag=True End If End If

If Index=2 Then End End Sub

关于上述程序,以下叙述中错误的是( D )。

A) Index属性的值可以用来区分控件数组元素 B) Index为1的菜单项的标题可能会改变 C) 两个名称均为Mnu1的菜单项构成一个控件数组 D) 语句Form2.Hide将Form2卸载 8、在设计窗体时双击窗体的任何地方,可以打开的窗口是( A )。

A) 代码窗口 B) 属性窗口 C) 工程资源管理器窗口 D) 工具箱窗口 9、为了使窗体的大小可以改变,必须把它的BorderStyle属性设置为( B )。 A) 1 B) 2 C) 3 D) 4

10、为了使窗体左上角不显示控制框,需设置为False的属性是( C )。 A) Visible B) Enabled C) ControlBox D) Caption 11、为了使窗体左上角不显示控制框,需设置为False的属性是( A )。 A) Visible B) Enabled C) ControlBox D) Caption

12、窗体上有三个水平滚动条,名称分别为HSRed、HSGreen和HSBlue,取值范围均是0~255,代表颜色的三种基色。改变滚动框的位置,可以改变三种基色的值,从而改变窗体的背景色,如下图所示。

程序代码如下:

Dim color(3)As Integer Private Sub Form_Load() Call fill(color())

End Sub

Private Sub fill(c() As Integer)

Form1.BackColor=RGB(c(1),c(2),c(3)) End Sub

Private Sub HSRed_Change() color(1)=HSRed.Value Call fill(color()) End Sub

Private Sub HSGreen_Change() color(2)=HSGreen.Value Call fill(color()) End Sub

Private Sub HSBlue_Change() color(3)=HSBlue.Value Call fill(color()) End Sub

关于以上程序,如下叙述中错误的是( C )。 A) color是窗体级整型数组

B) 改变任何一个滚动条滚动框的位置,窗体的背景色将立刻随之改变

C) 3个滚动条Change事件过程中只设置了一个color数组元素的值,调用fill过程失败 D) fill 函数定义中的形式参数是数组型参数 13、在程序运行时,下面的叙述中正确的是( C )。

A) 用鼠标右键单击窗体中无控件的部分,会执行窗体的Form_Load事件过程 B) 用鼠标左键单击窗体的标题栏,会执行窗体的Form_Click事件过程 C) 只装入而不显示窗体,也会执行窗体的Form_Load事件过程

D) 装入窗体后,每次显示该窗体时,都会执行窗体的Form_Click事件过程

14、设窗体的名称为Form1,标题为Win,则窗体的MouseDown事件过程的过程名是( C )。 A) Form1_MouseDown B) Win_MouseDown C) Form_MouseDown D) MouseDown_Form1

15、以下关于窗体的叙述中,错误的是( B )。 A) Hide方法能隐藏窗体,但窗体仍在内存中

B) 使用Show方法显示窗体时,一定触发Load事件

C) 移动或放大窗体时,会触发Paint事件 D) 双击窗体时,会触发DblClick事件 16、编写如下程序:

Private Sub Form_Click() Print \"Welcome!\" End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print \"欢迎!\" End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Print \"热烈欢迎!\" End Sub

程序运行后,单击窗体,输出结果为( A )。 A) 欢迎! 热烈欢迎! Welcome!

B) 欢迎!

Welcome! 热烈欢迎!

C) Welcome! 欢迎! 热烈欢迎!

D) Welcome! 热烈欢迎! 欢迎!

17、在Visual Basic中,所有标准控件都具有的属性是( B )。 A) Caption B) Name C) Text D) Value 18、能够用于标识对象名称的属性是( A )。

A) Name B) Caption C) Value D) Text

19、在窗体上添加\"控件\"的正确的操作方式是( C )。

A) 先单击工具箱中的控件图标,再单击窗体上适当位置 B) 先单击工具箱中的控件图标,再双击窗体上适当位置 C) 直接双击工具箱中的控件图标,该控件将出现在窗体上 D) 直接将工具箱中的控件图标拖动到窗体上适当位置

20、为了对多个控件执行操作,必须选中这些控件。下列不能选中多个控件的操作是( A )。 A) 按住Alt键,不要松开,然后单击每个要选中的控件 B) 按住Shift键,不要松开,然后单击每个要选中的控件 C) 按住Ctrl键,不要松开,然后单击每个要选中的控件

D) 拖动鼠标画出一个虚线矩形,使所选中的控件位于这个矩形内 21、以下叙述中错误的是( D )。

A) 在通用过程中,多个形式参数之间可以用逗号作为分隔符 B) 在Print方法中,多个输出项之间可以用逗号作为分隔符 C) 在Dim语句中,所定义的多个变量可以用逗号作为分隔符 D) 当一行中有多个语句时,可以用逗号作为分隔符 22、以下叙述中错误的是( C )。

A) 续行符与它前面的字符之间至少要有一个空格 B) Visual Basic中使用的续行符为下划线(_)

C) 以撇号(′)开头的注释语句可以放在续行符的后面 D) Visual Basic可以自动对输入的内容进行语法检查 23、下列有语法错误的赋值语句是( D )。

A) y=7=9 B) s=m+n C) Text1.Text=10 D) m+n=12 24、设计窗体时,双击窗体上没有控件的地方,打开的窗口是( A )。 A) 代码窗口 B) 属性窗口 C) 工具箱窗口 D) 工程窗口 25、下列打开\"代码窗口\"的操作中错误的是( A )。

A) 按F4键 B) 单击\"工程资源管理器\"窗口中的\"查看代码\"按钮 C) 双击已建立好的控件 D) 执行\"视图\"菜单中的\"代码窗口\"命令

26、在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是( A)

B)

C)

D)

27、在Visual Basic环境下设计应用程序时,系统能自动检查出的错误是( )。

A) 语法错误 B) 逻辑错误 C) 逻辑错误和语法错误 D) 运行错误

第三章 程序设计基础

1、若在窗体模块的声明部分声明了如下自定义类型和数组:

Private Type rec

D )。

Code As Integer Caption As String End Type

Dim arr(5)As rec

则下面的输出语句中正确的是( C )。

A) Print arr.Code(2), arr.Caption(2) B) Print arr.Code, arr.Caption C) Print arr(2).Code, arr(2).Caption D) Print Code(2), Caption(2) 2、以下自定义数据类型的语句中,正确的是( B )。 A) Type student

ID As String * 20 name As String * 10 age As Integer End student

B) Type student

ID As String * 20 name As String * 10 age As Integer End Type

C) Type student

ID As String name As String age As Integer End student D) Type

ID As String * 20 name As String * 10 age As Integer End Type student

3、窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下:

Private Type x a As Integer b As Integer End Type

Private Sub Command1_Click() Dim y As x

y.a=InputBox(\"\") If y.a\\2=y.a / 2 Then y.b=y.a * y.a Else

y.b=Fix(y.a / 2) End If

Text1.Text=y.b End Sub

对以上程序,下列叙述中错误的是( D )。

A) x是用户定义的类型 B) InputBox函数弹出的对话框中没有提示信息 C) 若输入的是偶数,y.b的值为该偶数的平方

D) Fix(y.a / 2)把y.a / 2的小数部分四舍五入,转换为整数返回

4、窗体上有一个名称为Picture1的图片框控件,一个名称为Label1的标签控件,如图所示。

现有如下程序:

Public Sub display(x As Control) If TypeOf x Is Label Then

x Caption=\"计算机等级考试\" Else

xPicture=LoadPicture(\"pic.jpg\") End If End Sub

Private Sub Label1_Click() Call display(Label1) End Sub

Private Sub Picture1_Click() Call display(Picture1) End Sub

对以上程序,下列叙述中错误的是( A )。

A) 程序运行时会出错 B) 单击图片框,在图片框中显示一幅图片 C) 过程中的x是控件变量 D) 单击标签,在标签中显示一串文字 5、以下变量名中合法的是( C )。

A) x2-1 B) print C) str_n D) 2x

6、以下选项中,不合法的Visual Basic的变量名是( B )。 A) a5b B) _xyz C) a_b D) andif 7、以下变量名中合法的是( C )。

A) x-2 B) 12abc C) sum_total D) print 8、以下合法的VB变量名是( D )。

A) #_1 B) 123_a C) string D) x_123 9、以下合法的VB变量名是( D )。

A) _x B) 2y C) a#b D) x_1_x

10、下列合法的变量名是( B )。

A) sum-a B) num_9 C) print$ D) 5avg

11、为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为( C )。 A) Dim pi As Integer B) Dim pi(7)As Integer C) Dim pi As Single D) Dim pi As Long

12、下面程序运行时,若输入 395 ,则输出结果是( B )。

Private Sub Command1_Click() Dim x%

x=InputBox(\"请输入一个3位整数\") Print x Mod 10,x\\100,(x Mod 100)\\10 End Sub

A) 3 9 5 B) 5 3 9 C) 5 9 3 D) 3 5 9

13、设窗体文件中有下面的事件过程:

Private Sub Command1_Click() Dim s a%=100 Print a End Sub

其中变量a和s的数据类型分别是( C )。

A) 整型,整型 B) 变体型,变体型 C) 整型,变体型 D) 变体型,整型

14、执行语句 Dim X, Y As Integer 后( D )。

A) X和Y均被定义为整型变量 B) X和Y均被定义为变体类型变量 C) X被定义为整型变量,Y被定义为变体类型变量 D) X被定义为变体类型变量,Y被定义为整型变量 15、设有如下程序:

Option Base 1

Dim a(3, 4)As Integer, b(4, 3)As Integer Private Sub Command1_Click() '循环1

For i=1 To 3 For j=1 To 4

b(j, i)=a(i, j) Next j Next i '循环2

x=b(1, 1) For i=1 To 4 For j=1 To 3

Print b(i, j);

If x程序中的数组a已被赋值。以下关于上述程序的叙述中,正确的是( B )。

A) 窗体模块中,不能使用Dim声明a、b数组 B) \"循环1\"可以正常运行 C) \"循环2\"中循环变量i、j的终值不对,所以不能正常运行

D) 程序可以正常运行,x中保存的是数组b中所有元素中最小的数 16、某人编写了向随机文件中写一条记录的程序,代码如下:

Type RType

Name As String * 10 Tel As String * 20 End Type

Private Sub Command1_Click() Dim p As RType

p.Name=InputBox(\"姓名\") p.Tel=InputBox(\"电话号\")

Open \"Books.dat\" For Random As #1 Put #1, , p Close #1

End Sub

该程序运行时有错误,修改的方法是( )。

A)在类型定义\"Type RType\"之前加上\"Private\" B)Dim p As RType必须置于窗体模块的声明部分 C)应把Open语句中的For Random 改为 For Output D)Put语句应该写为Put #1,p.Name , p.Tel (36)有如下程序:

Private Sub Form_Click()

Dim s As Integer, p As Integer p=1

For i=1 To 4 For j=1 To i s=s+j Next j p=p * s Next i Print p End Sub

程序运行后,单击窗体,则输出结果是( A )。 A) 在类型定义\"Type RType\"之前加上\"Private\" B) Dim p As RType必须置于窗体模块的声明部分 C) 应把Open语句中的For Random 改为 For Output D) Put语句应该写为Put #1,p.Name , p.Tel 17、有如下数据定义语句:

Dim X,Y As Integer 以上语句表明( C )。

A) X、Y均是整型变量 B) X是整型变量,Y是变体类型变量

C) X是变体类型变量,Y是整型变量 D) X是整型变量,Y是字符型变量

18、为了声明一个长度为128个字符的定长字符串变量StrD,以下语句中正确的是( A) Dim StrD As String B) Dim StrD As String(128) C) Dim StrD As String[128] D) Dim StrD As String*128

19、有如下语句序列:

Dim a, b As Integer Print a Print b

执行以上语句序列,下列叙述中错误的是( A )。 A) 输出的a值是0 B) 输出的b值是0 C) a是变体类型变量 D) b是整型变量 20、设有如下一段程序:

Private Sub Command1_Click() Static a As Variant

a=Array(\"one\", \"two\", \"three\", \"four\", \"five\") Print a(3) End Sub

针对上述事件过程,以下叙述中正确的是( D )。

A) 变量声明语句有错,应改为Static a(5)As Variant B) 变量声明语句有错,应改为Static a C) 可以正常运行,在窗体上显示three D) 可以正常运行,在窗体上显示four

21、若变量a未事先定义而直接使用(例如:a=0),则变量a的类型是( D )。

D )。 A) Integer B) String C) Boolean D) Variant

22、如下关于变体类型变量的叙述中,错误的是( A )。 A) 变体类型数组中只能存放同类型数据

B) 使用Array初始化的数组变量,必须是Variant类型 C) 没有声明而直接使用的变量其默认类型均是Variant

D) 在同一程序中,变体类型的变量可以被多次赋以不同类型的数据 23、设有如下通用过程:

Public Function f(x As Integer) Dim y As Integer x=20 y=2 f=x * y End Function

在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Static x As Integer x=10 y=5 y=f(x) Print x; y End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是( B )。 A) 10 5 B) 20 40 C) 20 5 D) 10 40

24、在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:

Private X As Integer

Private Sub Command1_Click() X=5: Y=3 Call proc(X, Y) Label1.Caption=X Label2.Caption=Y End Sub

Private Sub proc(a As Integer, ByVal b As Integer) X=a * a Y=b+b End Sub

程序运行后,单击命令按钮,则两个标签中显示的内容分别是( A )。 A) 25和3 B) 5和3 C) 25和6 D) 5和6

25、设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas。两个窗体上分别只有一个名称为Command1的命令按钮。

Form1的代码如下: Public x As Integer

Private Sub Form_Load() x=1 y=5 End Sub

Private Sub Command1_Click() Form2.Show

End Sub

Form2的代码如下:

Private Sub Command1_Click() Print Form1.x, y End Sub

Module1的代码如下: Public y As Integer

运行以上程序,单击Form1的命令按钮Command1,则显示Form2;再单击Form2上的命令按钮Command1,则窗体上显示的是( A )。

A) 1 5 B) 0 5 C) 0 0 D) 程序有错

26、工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码是: Public x As Integer Private y As Integer

窗体文件的程序代码是: Dim a As Integer

Private Sub Form_Load() Dim b As Integer

a=2:b=3:x=10:y=20 End Sub

Private Sub Command1_Click()

a=a+5:b=b+5:x=x+5:y=y+5 Print a; b; x; y End Sub

运行程序,单击窗体上的命令按钮,则在窗体上显示的是( D )。 A) 5 5 15 5 B) 7 5 15 25 C) 7 8 15 5 D) 7 5 15 5

27、窗体上有三个水平滚动条,名称分别为HSRed、HSGreen和HSBlue,取值范围均是0~255,代表颜色的三种基色。改变滚动框的位置,可以改变三种基色的值,从而改变窗体的背景色,如下图所示。

程序代码如下:

Dim color(3)As Integer Private Sub Form_Load() Call fill(color()) End Sub

Private Sub fill(c() As Integer)

Form1.BackColor=RGB(c(1),c(2),c(3)) End Sub

Private Sub HSRed_Change() color(1)=HSRed.Value Call fill(color()) End Sub

Private Sub HSGreen_Change()

color(2)=HSGreen.Value Call fill(color()) End Sub

Private Sub HSBlue_Change() color(3)=HSBlue.Value Call fill(color()) End Sub

关于以上程序,如下叙述中错误的是( C )。 A) color是窗体级整型数组

B) 改变任何一个滚动条滚动框的位置,窗体的背景色将立刻随之改变

C) 3个滚动条Change事件过程中只设置了一个color数组元素的值,调用fill过程失败 D) fill 函数定义中的形式参数是数组型参数

28、窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:

Private Sub command1_Click() Dim n

If Text1.Text<>\"123456\"Then n=n+1

Print \"口令输入错误\"& n & \"次\" End If End Sub

希望程序运行时得到左图所示的效果,即:输入口令,单击\"确认口令\"命令按钮,若输入

的口令不是\"123456\",则在窗体

上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是( D )。

A) 在Dim n语句的下面添加一句:n=0

B) 把 Print \"口令输入错误\" & n & \"次\" 改为 Print \"口令输入错误\"+n+\"次\"

C) 把 Print \"口令输入错误\" & n & \"次\" 改为 Print \"口令输入错误\" & Str(n)& \"次\" D) 把Dim n 改为 Static n

29、标准模块中有如下程序代码:

Public x As Integer,y As Integer Sub var_pub()

x=10∶y=20 End Sub

在窗体上有1个命令按钮,并有如下事件过程: Private Sub Command1_Click() Dim x As Integer Call var_pub x=x+100 y=y+100 Print x;y

End Sub

运行程序后单击命令按钮,窗体上显示的是( B )。

A) 100 100 B) 100 120 C) 110 100 D) 110 120 30、窗体上有1个名称为Command1的命令按钮,事件过程及函数过程如下:

Private Sub Command1_Click() Dim p As Integer

p=m(1)+m(2)+m(3) Print p End Sub

Private Function m(n As Integer)As Integer Static s As Integer For i=1 To n s=s+1 Next m=s End Function

运行程序,第2次单击命令按钮Command1时的输出结果为( D )。

A) 6 B) 10 C) 16 D) 28

31、窗体上有名称为Command1的命令按钮,名称分别为Label1、Label2、Label3的标签。编写如下程序:

Private x As Integer

Private Sub Command1_Click() Static y As Integer Dim z As Integer n=5 z=z+n y=y+n x=x+y Label1=x Label2=y Label3=z End Sub

运行程序,连续3次单击命令按钮后,3个标签中分别显示的是( D )。 A) 5 5 5 B) 15 10 5 C) 15 15 15 D) 30 15 5

32、窗体上有一个名称为Timer1的计时器控件,一个名称为Shape1的形状控件,其Shape属性值为3(Circle)。编写程序如下:

Private Sub Form_Load() Shape1.Top=0

Timer1.Interval=100 End Sub

Private Sub Timer1_Timer() Static x As Integer

Shape1.Top=Shape1.Top+100 x=x+1

If x Mod 10=0 Then Shape1.Top=0 End If End Sub

以下关于上述程序的叙述中,错误的是( C )。

A) 每执行一次Timer1_Timer事件过程,x的值都在原有基础上增加1 B) Shape1每移动10次回到起点,重新开始

C) 窗体上的Shape1由下而上移动 D) Shape1每次移动100

33、窗体上有一个名称为Text1的文本框;一个名称为Timer1的计时器控件,其Interval属性值为5000,Enabled属性值是True。Timer1的事件过程如下:

Private Sub Timer1_Timer() Static flag As Integer If flag=0 Then flag=1 flag=-flag If flag=1 Then

Text1.ForeColor=&HFF& '&HFF&为红色 Else

Text1.ForeColor=&HC000& '&HC000&为绿色 End If End Sub

以下叙述中正确的是( C )。

A) 每次执行此事件过程时,flag的初始值均为0 B) flag的值只可能取0或1 C) 程序执行后,文本框中的文字每5秒改变一次颜色 D) 程序有逻辑错误,Else分支总也不能被执行 34、有如下过程代码:

Sub var_dim()

Static numa As Integer Dim numb As Integer numa=numa+2 numb=numb+1 print numa;numb End Sub

连续3次调用var_dim过程,第3次调用时的输出是( C )。

A) 2 1 B) 2 3 C) 6 1 D) 6 3

35、在某个事件过程中定义的变量是( A )。

A) 局部变量 B) 窗体级变量 C) 全局变量 D) 模块变量 36、编写如下程序:

Private Sub Command1_Click()

Dim m As Integer, n As Integer n=2

For m=1 To 3

Print proc(n); Next m End Sub

Function proc(i As Integer) Dim a As Integer Static b As Integer a=a+1 b=b+1

proc=a * b+i End Function

程序运行后,单击命令按钮Command1,输出结果为( B )。

A) 3 3 3 B) 3 4 5 C) 3 5 6 D) 1 2 3

37、编写如下程序:

Private Sub Command1_Click()

Dim str1 As String, str2 As String str1=InputBox(\"输入一个字符串\") subf str1, str2 Print str2 End Sub

Sub subf(s1 As String, s2 As String) Dim temp As String Static i As Integer i=i+1

temp=Mid(s1, i, 1)

If temp<>\"\" Then subf s1, s2 s2=s2 & temp End Sub

程序运行后,单击命令按钮Command1,且输入\"abcdef\",则输出结果为( C )。 A) afbecd B) cdbeaf C) fedcba D) adbecf

38、以下关于变量作用域的叙述中错误的是( C )。

A) 在窗体模块的声明部分声明的Private变量,其作用域是窗体内的所有过程 B) 在标准模块的声明部分声明的Private变量,其作用域是模块内的所有过程 C) 在窗体模块的声明部分声明的Pubilc变量,其作用域是本窗体的所有过程 D) 在标准模块的声明部分声明的Pubilc变量,其作用域是应用程序的所有过程 39、现有如下语句:

x=IIf(a>50, Int(a\\3), a Mod 2) 当a=52时,x的值是( C )。

A) 0 B) 1 C) 17 D) 18

40、要计算x的平方根并放入变量y,正确的语句是( D )。

A) y=Exp(x) B) y=Sgn(x) C) y=Int(x) D) y=Sqr(x)

41、窗体上有一个名称为Command1的命令按钮,一个名称为Text1的文本框。编写如下程序:

Private Sub Command1_Click() Dim x As Integer

x=Val(InputBox(\"输入数据\")) Text1=Str(x+fun(x)+fun(x)) End Sub

Private Function fun(ByRef n As Integer) If n Mod 3=0 Then n=n+n Else

n=n * n End If fun=n End Function

对于上述程序,以下叙述中错误的是( A )。

A) 语句 fun=n 有错,因为n是整型,fun没有定义类型 B) 运行程序,输入值为5时,文本框中显示655

C) 运行程序,输入值为6时,文本框中显示42 D) ByRef表示参数按址传递 42、窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp事件过程如下:

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

Dim c As String

c=UCase(Chr(KeyCode)) Text2.Text=Chr(Asc(c)+2) End Sub

当向文本框Text1中输入小写字母a时,文本框Text2中显示的是( C )。 A) A B) a C) C D) c

43、在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() c=1234

c1=Trim(Str(c)) For i=1 To 4

Print Next End Sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容: 1 12 123 1234

则在横线处应填入的内容为( B )。

A) Right(c1, i) B) Left(c1, i) C) Mid(c1, i, 1) D) Mid(c1, i, i)

44、在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下事件过程:

Private Sub Command1_Click() Counter=0 For i=1 To 4

For j=6 To 1 Step-2 Counter=Counter+1 Next j Next i

Label1.Caption=Str(Counter) End Sub

程序运行后,单击命令按钮,标签中显示的内容是( B )。 A) 11 B) 12 C) 16 D) 20

第四章 常用标准控件

1、如果改变驱动器列表框的Drive属性,则将触发的事件是( A )。 A) Change B) Scroll C) KeyDown D) KeyUp

2、在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是( A )。 A) Private Sub Text1_Change() Label1.Caption=Str(Len(Text1.Text)) End Sub

B) Private Sub Text1_Click() Label1.Caption=Str(Len(Text1.Text)) End Sub

C) Private Sub Text1_Change() Label1.Caption=Text1.Text End Sub

D) Private Sub Label1_Change()

Label1.Caption=Str(Len(Text1.Text)) End Sub

3、设窗体上有一个标签Label1和一个计时器Timer1,Timer1的Interval属性被设置为1000,Enabled属性被设置为True。要求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是( B )。

A) Private Sub Timer1_Timer() Label1.Caption=True End Sub

B) Private Sub Timer1_Timer() Label1.Caption=Time$ End Sub

C) Private Sub Timer1_Timer() Label1.Interval=1 End Sub

D) Private Sub Timer1_Timer()

For k=1 To Timer1.Interval Label1.Caption=Timer Next k End Sub

4、窗体上有1个名称为Text1的文本框,1个名称为Label1的标签。程序运行后,如果在文本框中输入信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程为( D )。 A) Private Sub Label1_Click() Label1.Caption=Text1.Text End Sub

B) Private Sub Label1_Change() Label1.Caption=Text1.Text End Sub

C) Private Sub Text1_Click() Label1.Caption=Text1.Text End Sub

D) Private Sub Text1_Change()

Label1.Caption=Text1.Text End Sub

5、为了使标签控件在显示其内容时不覆盖其背景内容,需进行设置的属性为( D )。 A) BackColor B) BorderStyle C) ForeColor D) BackStyle

6、Visual Basic控件一般都规定一个默认属性,在引用这样的属性时,只写对象名而不必给出属性名。默认属性为Caption的控件是( B )。

A) 列表框(ListBox) B) 标签(Label) C) 文本框(TextBox) D) 组合框(ComboBox) 7、窗体上有一个由两个文本框组成的控件数组,名称为Text1,并有如下事件过程:

Private Sub Text1_Change(Index As Integer) Select Case Index Case 0

Text1(1).FontSize=Text1(0).FontSize * 2 Text1(1).Text=Text1(0).Text Case 1

Text1(0).FontSize=Text1(1).FontSize / 2 Text1(0).Text=Text1(1).Text

Case Else

MsgBox \"执行Else分支\" End Select End Sub

关于上述程序,以下叙述中错误的是( D )。

A) Index用于标识数组元素 B) 本程序中Case Else分支的语句永远不会被执行 C) 向任何一个文本框输入字符,都会在另一个文本框中显示该字符 D) 下标为0的文本框中显示的字符尺寸将越来越小

8、在窗体上画一个文本框,其名称为Text1,为了在程序运行后隐藏该文本框,应使用的语句为( B )。 A) Text1.Clear B) Text1.Visible=False C) Text1.Hide D) Text1.Enabled=False

9、为了使文本框同时具有垂直和水平滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为( D )。

A) 0 B) 1 C) 2 D) 3

10、在窗体上画一个名称为Combo1的组合框,名称为Text1的文本框,以及名称为Command1的命令按钮,

如图所示。

运行程序,单击命令按钮,将文本框中被选中的文本添加到组合框中,若文本框中没有选中的文本,则将文本框中的文本全部添加到组合框中。命令按钮的事件过程如下:

Private Sub Command1_Click() If Text1.Se1Length<>0 Then Else

Combo1.AddItem Text1 End If End Sub

程序中横线处应该填写的是( C )。

A) Combo1.AddItem Text1.Text B) Combo1.AddItem Text1.SelStart

C) Combo1.AddItem Text1.SelText D) Combo1.AddItem Text1.SelLength

11、窗体上有名称为Command1的命令按钮和名称为Text1的文本框

Private Sub Command1_Click() Text1.Text=\"程序设计\" Text1.SetFocus End Sub

Private Sub Text1_GotFocus() Text1.Text=\"等级考试\" End Sub

运行以上程序,单击命令按钮后( B )。

A) 文本框中显示的是\"程序设计\",且焦点在文本框中 B) 文本框中显示的是\"等级考试\",且焦点在文本框中 C) 文本框中显示的是\"程序设计\",且焦点在命令按钮上 D) 文本框中显示的是\"等级考试\",且焦点在命令按钮上 12、窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为\"计算\"的命令按钮Command1,

并编写了以下程序:

Private Sub Command1_Click() Call calc(HV.Value,HT.Value) End Sub

Public Sub calc(x As Integer,y As Integer) Text1.Text=x*y End Sub

运行程序,单击\"计算\"按钮,可根据速度与时间计算出距离,并显示计算结果。 对以上程序,下列叙述中正确的是( C )。

A) 过程调用语句不对,应为calc(HV, HT)

B) 过程定义语句的形式参数不对,应为Sub calc(x As Control, y As Control) C) 计算结果在文本框中显示出来 D) 程序不能正确运行

13、在窗体上画两个文本框,其名称分别为Text1和Text2,然后编写如下程序:

Private Sub Form_Load() Show

Text1.Text=\"\" Text2.Text=\"\" Text1.SetFocus End Sub

Private Sub Text1_Change()

Text2.Text=Mid(Text1.Text, 6) End Sub

程序运行后,如果在文本框Text1中输入ChinaBeijing,则在文本框Text2中显示的内容是( C )。 A) ChinaBeijing B) China C) Beijing D) ChinaB

14、为了使文本框只具有垂直滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为( C )。

A) 0 B) 1 C) 2 D) 3

15、若要使文本框能够输入多行文本,应该设置的属性是( A )。

A) MultiLine B) WordWrap C) ScrollBars D) AutoSize

16、为了使文本框显示滚动条,除要设置ScrollBars外,还必须设置的属性是( C )。 A) AutoSize B) Alignment C) Multiline D) MaxLength

17、设有如图所示窗体和以下程序:

Private Sub Command1_Click()

Text1.Text=\"Visual Basic\" End Sub

Private Sub Text1_LostFocus() If Text1.Text<>\"BASIC\"Then Text1.Text=\"\" Text1.SetFocus End If End Sub 程序运行时,在Text1文本框中输入\"Basic\"(如图所示),然后单击Command1按钮,则产生的结果是( A )。 A) 文本框中无内容,焦点在文本框中 B) 文本框中为\"Basic\",焦点在文本框中 C) 文本框中为\"Basic\",焦点在按钮上

D) 文本框中为\"Visual Basic\",焦点在按钮上

18、窗体上有一个名称为Text1的文本框;一个名称为Timer1的计时器控件,其Interval属性值为5000,Enabled属性值是True。Timer1的事件过程如下:

Private Sub Timer1_Timer() Static flag As Integer If flag=0 Then flag=1 flag=-flag If flag=1 Then

Text1.ForeColor=&HFF& '&HFF&为红色 Else

Text1.ForeColor=&HC000& '&HC000&为绿色 End If End Sub

以下叙述中正确的是( C )。

A) 每次执行此事件过程时,flag的初始值均为0 B) flag的值只可能取0或1 C) 程序执行后,文本框中的文字每5秒改变一次颜色 D) 程序有逻辑错误,Else分支总也不能被执行 19、以下能够触发文本框Change事件的操作是( D )。 A) 文本框失去焦点 B) 文本框获得焦点

C) 设置文本框的焦点 D) 改变文本框的内容

20、设窗体中有一个文本框Text1,若在程序中执行了 Text1.SetFocus,则触发( B )。 A) Text1的SetFocus事件 B) Text1的GotFocus事件 C) Text1的LostFocus事件 D) 窗体的GotFocus事件 21、当文本框中的内容发生改变时所触发的事件是( B )。

A) KeyUp B) Change C) LostFocus D) GotFocus 22、向文本框中输入字符时,下面能够被触发的事件是( B )。

A) GotFocus B) KeyPress C) Click D) MouseDown

23、以下关于图片框控件的说法中,错误的是( D )。 A) 可以通过Print方法在图片框中输出文本

B) 图片框控件中的图形可以在程序运行过程中被清除 C) 图片框控件中可以放置其他控件

D) 用Stretch属性可以自动调整图片框中图形的大小 24、确定图片框Picture1在窗体上位置的属性是( B )。

A) Width和Height B) Left和Top C) Width和Top D) Height和Left

25、假定在图片框Picture1中装入了一个图片,在程序运行中,为了清除该图片(注意,清除图片,而不是删除图片框),应采用的正确方法是( B )。

A) 单击图片框,然后按Del键 B) 执行语句 Picture1.Picture=LoadPicture(\"\") C) 执行语句 Picture1.Picture=\"\" D) 执行语句:Picture1.Cls

26、为了调整图像框的大小以与其中的图形相适应,必须把它的Stretch属性设置为( B )。 A) True B) False C) 1 D) 2

27、要使图像框(Image)中的图像能随着图像框的大小伸缩,应该设置的属性及值是( C )。 A) AutoSize值为True B) AutoRedraw值为True C) Stretch值为True D) BorderStyle值为0 28、窗体上有一个如右图所示的图形控件,控件中显示了如图所示的文字,可以判断这个图形控件( B )。

A) 是图像框(Image) B) 是图片框(PictureBox) C) 是形状控件 D) 不是上述3种控件中的一种

29、已知图片框Picture1中已装入一个图形,为了在不删除图片框的前提下,清除该图形,应采取的正确操作是( B )。

A) 在设计阶段选择图片框Picture1,并按Delete键

B) 在运行期间执行语句Picture1.Picture=LoadPicture(\"\") C) 在运行期间执行语句Picture1.Picture=\"\"

D) 在设计阶段先选中图片框Picture1,再在属性窗口中选择Picture属性,最后按Enter键 30、使用Line控件在窗体上画一条从(0,0)到(600,700)的直线,则其相应属性的值应是( A )。 A) X1=0, X2=600, Y1=0, Y2=700 B) Y1=0, Y2=600, X1=0, X2=700 C) X1=0, X2=0, Y1=600, Y2=700 D) Y1=0, Y2=0, X1=600, X2=700

31、设窗体上有2个直线控件Line1和Line2,若使两条直线相连接,需满足的条件是( A )。 A) Line1.X1=Line2.X2 且 Line1.Y1=Line2.Y2 B) Line1.X1=Line2.Y1 且 Line1.Y1=Line2.X1 C) Line1.X2=Line2.X1 且 Line1.Y1=Line2.Y2 D) Line1.X2=Line2.X1 且 Line1.Y2=Line2.Y2

32、窗体上有一个名称为Timer1的计时器控件,一个名称为Shape1的形状控件,其Shape属性值为3(Circle)。编写程序如下:

Private Sub Form_Load() Shape1.Top=0

Timer1.Interval=100 End Sub

Private Sub Timer1_Timer() Static x As Integer

Shape1.Top=Shape1.Top+100 x=x+1

If x Mod 10=0 Then Shape1.Top=0 End If End Sub

以下关于上述程序的叙述中,错误的是( C )。

A) 每执行一次Timer1_Timer事件过程,x的值都在原有基础上增加1 B) Shape1每移动10次回到起点,重新开始

C) 窗体上的Shape1由下而上移动 D) Shape1每次移动100

33、窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移

动100,当圆遇到Line2时则停止移动。

为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:

Private Sub Timer1_Timer()

For k=Line1.X1 To Line2.X1 Step 100

If Shape1.Left+Shape1.Width运行程序时发现圆立即移动到了右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是( B )。 A) 把计时器的Interval属性设置为1

B) 把For k=Line1.X1 To Line2.X1 Step 100 和 Next k两行删除

C) 把For k=Line1.X1 To Line2.X1 Step 100 改为 For k=Line2.X1 To Line1.X1 Step 100 D) 把If Shape1.Left+Shape1.Width34、若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是( C )。

A) 用鼠标右键单击此按钮 B) 按键盘上的Esc键 C) 按键盘上的回车键 D) 用鼠标右键双击此按钮

35、若要把窗体上命令按钮Command1的状态设置为不可用,应该执行的命令是( A )。 A) Command1.Enabled=False B) Command1.Visible=False C) Command1.Cancel=False D) Command1.Default=False 36、如果把命令按钮的Cancel属性设置为True,则程序运行后( A )。 A) 按Esc键与单击该命令按钮的作用相同 B) 按回车键与单击该命令按钮的作用相同

C) 按Esc键将停止程序的运行 D) 按回车键将中断程序的运行

37、为了使命令按钮的Picture、DownPicture或DisabledPicture属性生效,必须把它的Style属性设置为( B )。

A) 0 B) 1 C) True D) False

38、下列说法中,错误的是( C )。

A) 将焦点移至命令按钮上,按Enter键,则引发命令按钮的Click事件 B) 单击命令按钮,将引发命令按钮的Click事件

C) 命令按钮没有Picture属性 D) 命令按钮不支持DblClick事件 39、以下关于命令按钮的叙述中正确的是( A )。

A) 命令按钮上可以显示图片 B) 命令按钮能够分别响应单击、双击事件 C) 程序运行时,不能改变命令按钮上的文字

D) 若命令按钮的Cancel属性设为True,焦点在其他控件上时,按下回车键与单击该按钮的效果相同 40、设窗体上有名称为Option1的单选按钮,且程序中有语句:

If Option1.Value=True Then

下面语句中与该语句不等价的是( C )。

A) If Option1.Value Then B) If Option1=True Then C) If Value=True ThenD) If Option1 Then 41、在窗体上画两个单选按钮,名称分别为Option1、Option2,标题分别为\"宋体\"和\"黑体\";1个复选框(名称为Check1,标题为\"粗体\")和1个文本框(名称为Text1,Text属性为\"改变文字字体\"),窗体外观如图所示。程序运行后,要求\"宋体\"单选按钮和\"粗体\"复选框被选中,则以下能够实现上述操作的语句序列是( D )。

A) Option1.Value=False

Check1.Value=True

B) Option1.Value=True Check1.Value=0

C) Option2.Value=False Check1.Value=2

D) Option1.Value=True Check1.Value=1

42、以下不属于单选按钮的属性是( C )。

A) Caption B) Name C) Min D) Enabled

43、在名称为Frame1的框架中,有两个名称分别为op1、op2的单选按钮,标题分别为\"单程\"、\"往返\",

如图所示。

以下叙述中,正确的是( B )。

A) 若仅把Frame1的Enabled属性设为False,则 op1、op2仍可用 B) 对于上图,op1.Value的值为True

C) 对于上图,执行 Op1.Value=False命令,则\"往返\"单选按钮被选中 D) 对于上图,执行 Op1.Value=0命令,程序出错

44、为了使一个复选框被禁用(灰色显示),应把它的Value属性设置为( C )。 A) 0 B) 1 C) 2 D) False

45、以下关于单选按钮和复选框的叙述中,正确的是( D )。 A) 单选按钮和复选框都能从多个选项中选择一项

B) 单选按钮和复选框被选中时,选中控件的Value属性值为True C) 是否使用框架控件将单选按钮分组,对选项没有影响

46、下面控件中,没有Caption属性的是( C )。

A) 复选框 B) 单选按钮 C) 组合框 D) 框架 47、下列控件中,没有Caption属性的是( C )。

A) 单选按钮 B) 复选框 C) 列表框 D) 框架 48、设窗体上有一个列表框控件List1,含有若干列表项。以下能表示当前被选中的列表项内容的是( C )。 A) List1.List B) List1.ListIndex C) List1.Text D) List1.Index

49、窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:

Private Sub Command1_Click() For i=0 To List1.ListCount-1 If List1.Selected(i)=True Then List2.AddItem Text End If Next End Sub

上述事件过程的功能是将List1中被选中的列表项添加到List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是( C )。 A) 将For循环的终值改为List1.ListCount

B) 将List1.Selected(i)=True 改为List1.List(i).Selected=True C) 将List2.AddItem Text 改为List2.AddItem List1.List(i) D) 将List2.AddItem Text 改为List2.AddItem List1.ListIndex 50、要想使列表框只允许单选列表项,应设置的属性为( C )。 A) Style B) Selected C) MultiSelect D) Enabled

51、要删除列表框中最后一个列表项,正确的语句是( D )。

A) List1.RemoveItem ListCount B) List1.RemoveItem List1.ListCount

C) List1.RemoveItem ListCount-1 D) List1.RemoveItem List1.ListCount-1

52、对于列表框控件List1,能够表示当前被选中列表项内容的是( A )。

A) List1.Text B) List1.Index C) List1.ListIndex D) List1.List

53、在窗体上画一个组合框,一个命令按钮和一个文本框,其名称分别为Combo1,Command1和Text1,然后编写如下事件过程:

Private Sub Form_Load()

Combo1.AddItem \"AAAAA\" Combo1.AddItem \"BBBBB\" Combo1.AddItem \"CCCCC\" Combo1.AddItem \"DDDDD\" Combo1.AddItem \"EEEEE\" End Sub

程序运行后,如果单击命令按钮,则在文本框中显示组合框的项目\"CCCCC\"。为了实现该操作,在命令按钮的Click事件过程中应使用的语句为( A )。

A) Text1.Text=Combo1.List(2) B) Text1.Text=Combo1.Text

C) Text1.Text=Combo1.List(3) D) Text1.Text=Combo1.ListIndex

54、)窗体如图1所示。要求程序运行时,在文本框Text1中输入一个姓氏,单击\"删除\"按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现此功能:Private Sub Command1_Click()

Dim n%,k%

n=Len(Text1.Text)

For k=0 To Listl.ListCount-1

If Left(List1.List(k),n)=Text1.Text Then

List1.RemoveItem k End If Next k End Sub

在调试时发现,如输入\"陈\",可以正确删除所有姓\"陈\"的项目,但输入\"刘\",则只删除了\"刘邦\"、\"刘备\"2项,结果如图2所示。这说明程序不能适应所有情况,需要修改。正确的修改方案是把For k=0 To List1.ListCount-1改为( A )。

A) For k=List1.ListCount-1 To 0 Step-1 B) For k=0 To List1.ListCount C) For k=1 To List1.ListCount-1 D) For k=1 To List1.ListCount

55、下面列表框属性中,是数组的是( B )。

A) ListCount B) Selected C) ListIndex D) MultiSelect

56、窗体上有一个列表框控件List1。以下叙述中错误的是( A )。

A) List1中有ListCount-1个列表项 B) 当List1.Selected(i)=True,表明第i项被选中 C) 设置某些属性,可以使列表框显示多列数据 D) List1.Text的值是最后一次被选中的列表项文本

57、列表框中被选中的数据项的位置可以通过一个属性获得,这个属性是( B )。 A) List B) ListIndex C) Text D) ListCount

58、窗体上有一个名为List1的列表框和一个名为Command1的命令按钮,并有下面的事件过程:

Private Sub Command1_Click() n%=List1.ListIndex If n>0 Then

ch$=List1.List(n)

List1.List(n)=List1.List(n-1) List1.List(n-1)=ch End If End Sub

程序运行时,选中1个列表项,然后单击Command1按钮,则产生的结果是( A )。 A) 若选中的不是最前面的列表项,则选中的列表项与它前一个列表项互换位置 B) 选中的列表项与它前面的列表项互换位置

C) 若选中的不是最后面的列表项,则选中的列表项与它后一个列表项互换位置 D) 选中的列表项与它后面的列表项互换位置 第五章 控制结构与数组

1、设工程中有2个窗体:Form1、Form2,Form1为启动窗体。Form2中有菜单,其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为\"Teacher\",所有菜单都可见;否则看不到\"成绩录入\"菜单项。为此,某人在Form1窗体文件中编写如下程序:

Private Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then

If Text1.Text=\"Teacher\"Then Form2.input.Visible=True Else

Form2.input.Visible=False End If End If

Form1.Hide Form2.Show End Sub

程序运行时发现刚输入口令时就隐藏了Form1,显示了Form2,程序需要修改。下面修改方案中正确的是( B )。

A) 把Form1中Text1文本框及相关程序放到Form2窗体中 B) 把Form1.Hide、Form2.Show两行移到2个End If之间

C) 把If KeyAscii=13 Then 改为 If KeyAscii=\"Teacher\" Then D) 把2个Form2.input.Visible 中的\"Form2.\"删去

2、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:

Function Fun(x) y=0

If x<10 Then y=x Else

y=y+10 End If Fun=y End Function

Private Sub Command1_Click() n=InputBox(\"请输入一个数\") n=Val(n) P=Fun(n) Print P End Sub

运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入100,并单击\"确定\"按钮,则输出结果为( A )。

A) 10 B) 100 C) 110 D) 出错信息 3、设有以下程序:

Private Sub Form_Click() x=50

For i=1 To 4

y=InputBox(\"请输入一个整数\") y=Val(y)

If y Mod 5=0 Then a=a+y x=y Else

a=a+x End If Next i Print a End Sub

程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为( A )。 A) 100 B) 50 C) 120 D) 70

4、阅读程序:

Private Sub Form_Click() x=50

For i=1 To 4

y=InputBox(\"请输入一个整数\") y=Val(y)

If y Mod 5=0 Then a=a+y x=y Else

a=a+x End If Next i Print a End Sub

程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为( A )。 A) 100 B) 50 C) 120 D) 70

5、窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,

当圆遇到Line2时则停止移动。

为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:

Private Sub Timer1_Timer()

For k=Line1.X1 To Line2.X1 Step 100

If Shape1.Left+Shape1.Width运行程序时发现圆立即移动到了右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是( B )。

A) 把计时器的Interval属性设置为1

B) 把For k=Line1.X1 To Line2.X1 Step 100 和 Next k两行删除

C) 把For k=Line1.X1 To Line2.X1 Step 100 改为 For k=Line2.X1 To Line1.X1 Step 100 D) 把If Shape1.Left+Shape1.Width6、窗体上有1个名称为Command1的命令按钮,事件过程如下:

Private Sub Command1_Click() Dim x%, y%, z%

x=InputBox(\"请输入第1个整数\") y=InputBox(\"请输入第2个整数\") Do Until x=y

If x>y Then x=x-y Else y=y-x Loop Print x End Sub

运行程序,单击命令按钮,并输入2个整数169和39,则在窗体上显示的内容为( A) 11 B) 13 C) 23 D) 39

7、命令按钮Command1的单击事件过程如下: Private Sub Command1_Click() Dim a(10, 10)As Integer x=0

For i=1 To 3 For j=1 To 3

a(i, j)=i * 2 Mod j

If x执行上述事件过程后,窗体上显示的是( B )。

A) 1 B) 2 C) 3 D) 4

8、在窗体上画1个命令按钮,并编写如下事件过程:

Private Sub Command1_Click() Dim a(3,3) For m=1 To 3 For n=1 To 3

If n=m Or n=4-m Then a(m,n)=m+n Else

a(m,n)=0 End If

Print a(m,n); Next n Print Next m End Sub

运行程序,单击命令按钮,窗体上显示的内容为( B )。

A) 2 0 0

0 4 0

B )。

0 0 6

B) 2 0 4

0 4 0 4 0 6

C) 2 3 0 3 4 0 0 0 6

D) 2 0 0 0 4 5 0 5 6

9、设有如下事件过程:

Private Sub Form_Click() Sum=0

For k=1 To 3

If k<=1 Then x=1

ElseIf k<=2 Then x=2

ElseIf k<=3 Then x=3 Else

x=4 End If

Sum=Sum+x Next k Print Sum End Sub

程序运行后,单击窗体,输出结果是( B )。

A) 9 B) 6 C) 3 D) 10

10、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Option Base 1

Private Sub Command1_Click() d=0 c=10

x=Array(10, 12, 21, 32, 24) For i=1 To 5

If x(i)>c Then d=d+x(i) c=x(i) Else

d=d-c End If Next i Print d End Sub

程序运行后,如果单击命令按钮,则在窗体上输出的内容为( C )。 A) 89 B) 99 C) 23 D) 77

11、窗体上有一个名称为Text1的文本框;一个名称为Timer1的计时器控件,其Interval属性值为5000,

Enabled属性值是True。Timer1的事件过程如下:

Private Sub Timer1_Timer() Static flag As Integer If flag=0 Then flag=1 flag=-flag If flag=1 Then

Text1.ForeColor=&HFF& '&HFF&为红色 Else

Text1.ForeColor=&HC000& '&HC000&为绿色 End If End Sub

以下叙述中正确的是( C )。

A) 每次执行此事件过程时,flag的初始值均为0 B) flag的值只可能取0或1 C) 程序执行后,文本框中的文字每5秒改变一次颜色 D) 程序有逻辑错误,Else分支总也不能被执行

12、设x是整型变量,与函数IIf(x>0,-x, x)有相同结果的代数式是( B )。 A) |x| B) -|x| C) x D) -x 13、现有语句: y=IIf(x>0, x Mod 3, 0) 设x=10,则y的值是( B )。

A) 0 B) 1 C) 3 D) 语句有错 14、计算下面分段函数的正确语句是( A )。

A) y=IIf(x>0, x+1, IIf(x<0, x-1, 0)) B) y=IIf(x=0, 0, IIf(x>0, x-1, C) y=IIf(x>0, x+1, IIf(x<0, 0, x-1)) D) y=IIf(x=0, 0, x-1, x+1)

15、设有下面的语句:

Print IIf(x>0, 1, IIf(x<0,-1, 0)) 与此语句输出结果不同的程序段是( D )。 A) If x>0 Then x=1

ElseIf x<0 Then x=-1 End If Print x

B) If x>0 Then

Print 1

ElseIf x<0 Then Print-1 Else Print 0 End If

C) Select Case x

Case Is>0 Print 1 Case Is<0 Print-1 Case Else

x+1)) Print 0 End Select

D) If x<>0 Then

If x>0 Then Print 1 ElseIf x<0 Then Print-1 Else Print 0 End If

16、现有如下语句:

x=IIf(a>50, Int(a\\3), a Mod 2) 当a=52时,x的值是( C )。

A) 0 B) 1 C) 17 D) 18

17、设x为一整型变量,且情况语句的开始为:Select Case x,则不符合语法规则的Case子句是( C )。 A) Case Is>20 B) Case 1 To 10 C) Case 0Private Sub Command1_Click()

x=UCase(InputBox(\"输入:\")) Select Case x

Case \"A\" To \"C\" Print \"考核通过!\" Case \"D\"

Print \"考核不通过 !\" Case Else

Print \"输入数据不合法!\" End Select End Sub

执行程序,在输入框中输入字母\"B\",则以下叙述中正确的是( B )。 A) 程序运行错 B) 在窗体上显示\"考核通过!\"

C) 在窗体上显示\"考核不通过 !\" D) 在窗体上显示\"输入数据不合法!\" 19、窗体上有1个名称为Command1的命令按钮,事件过程如下:

Private Sub Command1_Click()

Dim num As Integer, x As Integer

num=Val(InputBox(\"请输入一个正整数\")) Select Case num Case Is>100 x=x+num Case Is<90 x=num Case Else

x=x * num End Select Print x; End Sub

运行程序,并在三次单击命令按钮时,分别输入正整数100、90和60,则窗体上显示的内容为( B )。 A) 0 0 0 B) 0 0 60 C) 0 90 0 D) 100 0 60 20、窗体上有一个由两个文本框组成的控件数组,名称为Text1,并有如下事件过程:

Private Sub Text1_Change(Index As Integer)

Select Case Index Case 0

Text1(1).FontSize=Text1(0).FontSize * 2 Text1(1).Text=Text1(0).Text Case 1

Text1(0).FontSize=Text1(1).FontSize / 2 Text1(0).Text=Text1(1).Text Case Else

MsgBox \"执行Else分支\" End Select End Sub

关于上述程序,以下叙述中错误的是( D )。

A) Index用于标识数组元素 B) 本程序中Case Else分支的语句永远不会被执行 C) 向任何一个文本框输入字符,都会在另一个文本框中显示该字符 D) 下标为0的文本框中显示的字符尺寸将越来越小 21、在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim I, Num Randomize Do

For I=1 To 1000

Num=Int(Rnd * 100) Print Num; Select Case Num Case 12

Exit For Case 58 Exit Do

Case 65, 68, 92 End End Select Next I Loop End Sub

上述事件过程执行后,下列描述中正确的是( D )。

A) Do循环执行的次数为1000次 B) 在For循环中产生的随机数小于或等于100 C) 当所产生的随机数为12时结束所有循环

D) 当所产生的随机数为65、68或92时窗体关闭、程序结束 22、现有如下程序:

Private Sub Command1_Click() s=0

For i=1 To 5

s=s+f(5+i) Next Print s End Sub

Public Function f(x As Integer) If x>=10 Then

t=x+1 Else

t=x+2 End If f=t End Function

运行程序,则窗体上显示的是( B )。

A) 38 B) 49 C) 61 D) 70

23、某人为计算n!(0Private Function fun(n As Integer)As Long Dim p As Long p=1

For k=n-1 To 2 Step-1 p=p * k Next k fun=p End Function

在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是( B )。

A) 把p=1改为 p=n

B) 把For k=n-1 To 2 Step-1 改为 For k=1 To n-1 C) 把For k=n-1 To 2 Step-1 改为 For k=1 To n D) 把For k=n-1 To 2 Step-1 改为 For k=2 To n 24、为计算an的值,某人编写了函数power如下:

Private Function power(a As Integer,n As Integer)As Long Dim s As Long p=a

For k=1 To n p=p*a Next k power=p End Function

在调试时发现是错误的,例如Print power(5,4)的输出应该是625,但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是( B )。

A) 把 For k=1 To n 改为 For k=2 To n B) 把 p=p * a 改为 p=p ^ n C) 把 For k=1 To n 改为 For k=1 To n-1 D) 把 p=a 改为 p=1

25、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim i As Integer, n As Integer For i=0 To 50 i=i+3 n=n+1

If i>10 Then Exit For Next

Text1.Text=Str(n) End Sub

程序运行后,单击命令按钮,在文本框中显示的值是( B )。 A) 2 B) 3 C) 4 D) 5

26、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:

Private Sub Command1_Click()

Dim a(10)As Integer, max As Integer For k=1 To 10

a(k)=InputBox(\"输入一个整数\") Next k max=0

For k=1 To 10

If a(k)>max Then max=a(k) End If Next k Print max End Sub

运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是( D )。

A) 把If a(k)>max Then改为If a(k)C) 把第2个循环语句For k=1 To 10改为For k=2 To 10 D) 把max=0改为max=a(10) 27、有如下程序:

Private Sub Form_Click()

Dim s As Integer, p As Integer p=1

For i=1 To 4 For j=1 To i s=s+j Next j p=p * s Next i Print p End Sub

程序运行后,单击窗体,则输出结果是( D )。

A) 90 B) 180 C) 400 D) 800

28、阅读程序:

Private Sub Form_Click() a=0

For j=1 To 15

a=a+j Mod 3 Next j Print a End Sub

程序运行后,单击窗体,输出结果是( D )。 A) 105 B) 1 C) 120 D) 15

29、为计算1+2+22+23+24+…+210的值,并把结果显示在文本框Text1中,若编写如下事件过程:

Private Sub Command1 Click() Dim a&,s&,k& s=1 a=2

For k=2 To 10

a=a*2 s=s+a Next k

Text1.Text=s End Sub

执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是( D )。 A) 把s=1改为s=0 B) 把For k=2 To 10改为For k=1 To 10 C) 交换语句s=s+a和a=a * 2的顺序

D) 把For k=2 To 10改为For k=1 To 10、交换语句s=s+a和a=a * 2的顺序

30、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim i As Integer, n As Integer For i=0 To 50 i=i+3 n=n+1

If i>10 Then Exit For Next

Text1.Text=Str(n) End Sub

程序运行后,单击命令按钮,在文本框中显示的值是( B )。

A) 2 B) 3 C) 4 D) 5

31、在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:

Option Base 0

Private Sub Command1_Click()

Dim A1(4)As Integer, A2(4)As Integer For k=0 To 2

A1(k+1)=InputBox(\"请输入一个整数\") A2(3-k)=A1(k+1) Next k Print A2(k) End Sub

程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为( C )。 A) 0 B) 1 C) 2 D) 3

32、在窗体上画一个名称为Command1的命令按钮,一个名称为Label1的标签,然后编写如下事件过程:

Private Sub Command1_Click() s=0

For i=1 To 15 x=2 * i-1

If x Mod 3=0 Then s=s+1 Next i

Label1.Caption=s End Sub

程序运行后,单击命令按钮,则标签中显示的内容是( B )。

A) 1 B) 5 C) 27 D) 45

33、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim array1(10, 10)As Integer Dim i As Integer, j As Integer

For i=1 To 3 For j=2 To 4

array1(i, j)=i+j Next j Next i

Text1.Text=array1(2, 3)+array1(3, 4) End Sub

程序运行后,单击命令按钮,在文本框中显示的值是( D )。

A) 15 B) 14 C) 13 D) 12

34、设有如下事件过程:

Private Sub Command1_Click() Dim a

a=Array(12, 3, 8, 5, 10, 3, 5, 9, 2, 4) For k=1 To 9

Print fun(a(k-1), a(k)); \" \"; Next k End Sub

Private Function fun(x, y)As Integer Do While x>=y x=x-y Loop fun=x End Function

程序运行时的输出结果是( B )。

A) 4 0 1 0 3 0 0 4 0 B) 0 3 3 5 1 3 5 1 2

C) 9 -5 3 -5 7 -2 -4 7-2 D) 9 3 3 5 7 3 5 7 2

35、有以下通用过程:

Function fun(N As Integer) s=0

For k=1 To N

s=s+k *(k+1) Next k fun=s End Function

该过程的功能是( D )。

A) 计算N! B) 计算1+2+3+...+N C) 计算1×2×2×3×3×... ×N×N D) 计算1×2+2×3+3×4+...+N×(N+1) 36、窗体上有一个名称为Command1的命令按钮,事件过程如下:

Private Sub Command1_Click() Dim arr_x(5, 5)As Integer For i=1 To 3 For j=2 To 4

arr_x(i, j)=i * j Next j Next i

Print arr_x(2, 1); arr_x(3, 2); arr_x(4, 3) End Sub

运行程序,并单击命令按钮,窗体上显示的内容为( A )。

A) 0 6 0 B) 2 6 0 C) 0 6 12 D) 2 6 12 37、有如下程序:

Private Sub Form_Click()

Dim i As Integer, n As Integer For i=1 To 20 i=i+4 n=n+i

If i>10 Then Exit For Next Print n End Sub

程序运行后,单击窗体,则输出结果是( D )。

A) 14 B) 15 C) 29 D) 30

38、编写如下程序:

Private Sub Command1_Click() Dim i As Integer, j As Integer

n=InputBox(\"输入一个大于1的正整数\") For i=2 To n

For j=2 To Sqr(i)

If i Mod j=0 Then Exit For Next j

If j>Sqr(i)Then Print i Next i End Sub

该程序的功能是( D )。

A) 判断n是否为素数 B) 输出n以内所有的奇数

C) 输出n以内所有的偶数 D) 输出n以内所有的素数

第六章 过程

1、以下过程定义中正确的过程首行是( C )。

A) Private Sub Proc(Optional a as Integer,b as Integer) B) Private Sub Proc(a as Integer)as Integer

C) Private Sub Proc(a()As Integer) D) Private Sub Proc(ByVal a()As Integer) 2、以下过程的功能是从数组中寻找最大值:

Private Sub FindMax(a()As Integer, ByRef Max As Integer) Dim s As Integer, f As Integer Dim i As Integer s=LBound(a) f=UBound(a) Max=a(s) For i=s To f

If a(i)>Max Then Max=a(i) Next End Sub

以下关于上述过程的叙述中,错误的是( C )。

A) 语句Call FindMax(a,m)可以调用该过程,其中的a是数组,m是Integer类型变量 B) For循环次数等于a数组的元素数

C) 过程末尾应该增加一条返回最大值的语句FindMax=Max D) 参数Max用于存放找到的最大值

3、设有如下Command1的单击事件过程及fun过程: Private Sub Command1_Click() Dim x As Integer

x=Val(InputBox(\"请输入一个整数\")) fun(x) End Sub

Private Sub fun(x As Integer)

If x Mod 2=0 Then fun(x / 2) Print x; End Sub

执行上述程序,输入6,结果是( A )。

A) 3 6 B) 6 3 C) 6 D) 程序死循环 4、在窗体上画两个标签和一个命令按钮,其名称分别为Label1、Label2和Command1,然后编写如下程序:

Private Sub func(L As Label) L.Caption=\"1234\" End Sub

Private Sub Form_Load()

Label1.Caption=\"ABCDE\" Label2.Caption=10 End Sub

Private Sub Command1_Click() a=Val(Label2.Caption) Call func(Label1) Label2.Caption=a End Sub

程序运行后,单击命令按钮,则在两个标签中显示的内容分别为( D )。 A) ABCD和10 B) 1234和100 C) ABCD和100 D) 1234和10

5、窗体上有一个名称为Picture1的图片框控件,一个名称为Label1的标签控件,如图所示。

现有如下程序:

Public Sub display(x As Control) If TypeOf x Is Label Then

x Caption=\"计算机等级考试\" Else

xPicture=LoadPicture(\"pic.jpg\") End If End Sub

Private Sub Label1_Click()

Call display(Label1) End Sub

Private Sub Picture1_Click() Call display(Picture1) End Sub

对以上程序,下列叙述中错误的是( A )。

A) 程序运行时会出错 B) 单击图片框,在图片框中显示一幅图片 C) 过程中的x是控件变量 D) 单击标签,在标签中显示一串文字

6、在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:

Private X As Integer

Private Sub Command1_Click() X=5: Y=3 Call proc(X, Y) Label1.Caption=X Label2.Caption=Y End Sub

Private Sub proc(a As Integer, ByVal b As Integer) X=a * a Y=b+b End Sub

程序运行后,单击命令按钮,则两个标签中显示的内容分别是( A )。 A) 25和3 B) 5和3 C) 25和6 D) 5和6

7、窗体上有三个水平滚动条,名称分别为HSRed、HSGreen和HSBlue,取值范围均是0~255,代表颜色的三种基色。改变滚动框的位置,可以改变三种基色的值,从而改变窗体的背景色,如下图所示。

程序代码如下:

Dim color(3)As Integer Private Sub Form_Load() Call fill(color()) End Sub

Private Sub fill(c() As Integer)

Form1.BackColor=RGB(c(1),c(2),c(3)) End Sub

Private Sub HSRed_Change() color(1)=HSRed.Value Call fill(color()) End Sub

Private Sub HSGreen_Change() color(2)=HSGreen.Value Call fill(color()) End Sub

Private Sub HSBlue_Change() color(3)=HSBlue.Value Call fill(color()) End Sub

关于以上程序,如下叙述中错误的是( C )。 A) color是窗体级整型数组

B) 改变任何一个滚动条滚动框的位置,窗体的背景色将立刻随之改变

C) 3个滚动条Change事件过程中只设置了一个color数组元素的值,调用fill过程失败 D) fill 函数定义中的形式参数是数组型参数 8、编写如下程序:

Private Sub Command1_Click()

Dim str1 As String, str2 As String str1=InputBox(\"输入一个字符串\") subf str1, str2 Print str2 End Sub

Sub subf(s1 As String, s2 As String) Dim temp As String Static i As Integer i=i+1

temp=Mid(s1, i, 1)

If temp<>\"\" Then subf s1, s2 s2=s2 & temp End Sub

程序运行后,单击命令按钮Command1,且输入\"abcdef\",则输出结果为( C )。 A) afbecd B) cdbeaf C) fedcba D) adbecf

9、窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为\"计算\"的命令按钮Command1,

并编写了以下程序:

Private Sub Command1_Click() Call calc(HV.Value,HT.Value) End Sub

Public Sub calc(x As Integer,y As Integer) Text1.Text=x*y End Sub

运行程序,单击\"计算\"按钮,可根据速度与时间计算出距离,并显示计算结果。 对以上程序,下列叙述中正确的是( C )。

A) 过程调用语句不对,应为calc(HV, HT)

B) 过程定义语句的形式参数不对,应为Sub calc(x As Control, y As Control) C) 计算结果在文本框中显示出来 D) 程序不能正确运行 10、以下说法中正确的是( D )。

A) 事件过程也是过程,只能由其他过程调用 B) 事件过程的过程名是由程序设计者命名的

C) 事件过程通常放在标准模块中 D) 事件过程是用来处理由用户操作或系统激发的事件的代码

11、设窗体名称为frm1。以下叙述中正确的是( D )。

A) 运行程序时,能够加载窗体的事件过程是frm1_Load B) 运行程序时,能够加载窗体的事件过程是Form1_Load

C) 程序运行中用语句:frm1.Name=\"New\" 可以更改窗体名称

D) 程序运行中用语句:frm1.Caption=\"新标题\" 可以改变窗体的标题

12、窗体上有一个名称为Command1的命令按钮,一个名称为Text1的文本框。编写如下程序:

Private Sub Command1_Click() Dim x As Integer

x=Val(InputBox(\"输入数据\")) Text1=Str(x+fun(x)+fun(x)) End Sub

Private Function fun(ByRef n As Integer) If n Mod 3=0 Then n=n+n Else

n=n * n End If fun=n End Function

对于上述程序,以下叙述中错误的是( A )。

A) 语句 fun=n 有错,因为n是整型,fun没有定义类型 B) 运行程序,输入值为5时,文本框中显示655

C) 运行程序,输入值为6时,文本框中显示42 D) ByRef表示参数按址传递 13、下面是求最大公约数的函数的首部:

Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer

若要输出8、12、16这3个数的最大公约数,下面正确的语句是( D )。 A) Print gcd(8,12),gcd(12,16),gcd(16,8) B) Print gcd(8,12,16) C) Print gcd(8),gcd(12),gcd(16) D) Print gcd(8,gcd(12,16)) 14、以下关于函数过程的叙述中,正确的是( A )。

A) 函数过程形参的类型与函数返回值的类型没有关系 B) 在函数过程中,过程的返回值可以有多个

C) 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 D) 如果不指明函数过程参数的类型,则该参数没有数据类型 15、求1!+2!+……+10!的程序如下:

Private Function s(x As Integer) f=1

For i=1 To x f=f * i Next s=f End Function

Private Sub Command1_Click() Dim i As Integer Dim y As Long For i=1 To 10 Next

Print y End Sub

为实现功能要求,程序的横线处应该填入的内容是( C )。

A) Call s(i) B) Call s C) y=y+s(i) D) y=y+s 16、假定有以下通用过程:

Function Fun(n As Integer)As Integer x=n * n Fun=x-11 End Function

在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim i As Integer For i=1 To 2 y=Fun(i) Print y; Next i End Sub

程序运行后,单击命令按钮,在窗体上显示的内容是( C )。 A) 1 3 B) 10 8 C) -10 -7 D) 0 5

17、在窗体上画一个命令按钮(名称为Command1),并编写如下代码:

Function Fun1(ByVal a As Integer, b As Integer)As Integer Dim t As Integer t=a-b b=t+a Fun1=t+b End Function

Private Sub Command1_Click() Dim x As Integer x=10

Print Fun1(Fun1(x,(Fun1(x, x-1))), x-1) End Sub

程序运行后,单击命令按钮,输出结果是( B )。

A) 10 B) 0 C) 11 D) 21

18、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:

Function Fun(x) y=0

If x<10 Then y=x Else

y=y+10 End If Fun=y End Function

Private Sub Command1_Click() n=InputBox(\"请输入一个数\") n=Val(n) P=Fun(n) Print P

End Sub

运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入100,并单击\"确定\"按钮,则输出结果为( A )。

A) 10 B) 100 C) 110 D) 出错信息 19、编写如下程序:

Private Sub Command1_Click()

Dim m As Integer, n As Integer n=2

For m=1 To 3

Print proc(n); Next m End Sub

Function proc(i As Integer) Dim a As Integer Static b As Integer a=a+1 b=b+1

proc=a * b+i End Function

程序运行后,单击命令按钮Command1,输出结果为( B )。

A) 3 3 3 B) 3 4 5 C) 3 5 6 D) 1 2 3

20、设有如下事件过程:

Private Sub Command1_Click() Dim a

a=Array(12, 3, 8, 5, 10, 3, 5, 9, 2, 4) For k=1 To 9

Print fun(a(k-1), a(k)); \" \"; Next k End Sub

Private Function fun(x, y)As Integer Do While x>=y x=x-y Loop fun=x End Function

程序运行时的输出结果是( B )。

A) 4 0 1 0 3 0 0 4 0 B) 0 3 3 5 1 3 C) 9 -5 3 -5 7 -2 -4 7-2 D) 9 3 3 5 7 3 5 7 2

21、假定有以下函数过程:

Function Fun(S As String)As String Dim s1 As String For i=1 To Len(S)

s1=LCase(Mid(S, i, 1))+s1 Next i Fun=s1 End Function

在窗体上画一个命令按钮,然后编写如下事件过程:

5 1 2

Private Sub Command1_Click()

Dim Str1 As String, Str2 As String Str1=InputBox(\"请输入一个字符串\") Str2=Fun(Str1) Print Str2 End Sub

程序运行后,单击命令按钮,如果在输入对话框中输入字符串\"abcdefg\",则单击\"确定\"按钮后在窗体上的输出结果为( D )。

A) ABCDEFG B) abcdefg C) GFEDCBA D) gfedcba

22、设有如下通用过程:

Public Function Fun(xStr As String)As String Dim tStr As String, strL As Integer tStr=\"\"

strL=Len(xStr) i=strL / 2

Do While i<=strL

tStr=tStr & Mid(xStr, i+1, 1) i=i+1 Loop

Fun=tStr & tStr End Function

在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写如下的事件过程:

Private Sub Command1_Click() Dim S1 As String S1=\"ABCDEF\"

Text1.Text=LCase(Fun(S1)) End Sub

程序运行后,单击命令按钮,文本框中显示的是( C )。

A) ABCDEF B) abcdef C) defdef D) defabc

23、某人编写了下面的程序:

Private Sub Command1_Click()

Dim a As Integer, b As Integer a=InputBox(\"请输入整数\") b=InputBox(\"请输入整数\") pro a pro b

Call pro(a+b) End Sub

Private Sub pro(n As Integer) While(n>0)

Print n Mod 10; n=n\\10 Wend Print End Sub

此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123 和234,则应该输出:

3 2 1 4 3 2 7 5 3

但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是( A )。

A) 把过程pro 的形式参数 n As Integer 改为 ByVal n As Integer

B) 把Call pro(a+b)改为 pro a+b C) 把n=n\\10 改为 n=n / 10 D) 在pro b语句之后增加语句 c%=a+b ,再把 Call pro(a+b)改为 pro c 24、命令按钮Command1的单击事件过程如下:

Private Sub Command1_Click() x=10 Print f(x) End Sub

Private Function f(y As Integer) f=y * y End Function

运行上述程序,如下叙述中正确的是( A )。

A) 程序运行出错,x变量的类型与函数参数的类型不符 B) 在窗体上显示100 C) 函数定义错,函数名f不能又作为变量名 D) 在窗体上显示10 25、编写如下程序:

Private Sub Command1_Click()

Dim x As Integer, y As Integer x=InputBox(\"输入第一个数\") y=InputBox(\"输入第二个数\") Call f(x, y) Print x, y End Sub

Sub f(a As Integer, ByVal b As Integer) a=a * 2 x=a+b b=b+100 End Sub

程序运行后,单击命令按钮Command1,并输入数值10和15,则输出结果为( D )。

A) 10 115 B) 20 115 C) 35 15 D) 20 15

26、设有如下函数:

Function DelSpace(ch As String)As Integer Dim n%, st$, c$ st=\"\" n=0

For k=1 To Len(ch)

c=Mid(ch, k, 1) If c<>\" \" Then st=st & c Else

n=n+1 End If Next k ch=st

DelSpace=n End Function

函数的功能是( B )。

A) 统计并返回字符串ch中字符的个数 B) 删除字符串ch中的空格符,返回删除字符的个数 C) 统计并返回字符串ch中非空格字符数 D) 删除字符串ch中除空格符外的其他字符,返回删除字符的个数

27、以下关于过程及过程参数的描述中,错误的是( C )。 A) 调用过程时可以用控件名称作为实际参数

B) 用数组作为过程的参数时,使用的是\"传地址\"方式

C) 只有函数过程能够将过程中处理的信息传回到调用的程序中 D) 窗体(Form)可以作为过程的参数

28、以下关于过程及过程参数的描述中,错误的是( C )。 A) 过程的参数可以是控件名称

B) 调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数) C) 只有函数过程能够将过程中处理的信息返回到调用程序中 D) 窗体可以作为过程的参数

29、为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为( B )。 A) Value B) ByVal C) ByRef D) Reference

30、若窗体上有一个名为Command1的命令按钮,并有下面的程序:

Private Sub Command1_Click() Dim arr(5)As Integer For k=1 To 5 arr(k)=k Next k prog arr() For k=1 To 5 Print arr(k); Next k End Sub

Sub prog(a()As Integer) n=UBound(a)

For i=n To 2 step-1 For j=1 To n-1

if a(j)t=a(j):a(j)=a(j+1):a(j+1)=t End If Next j Next i End Sub

程序运行时,单击命令按钮后显示的是( B )。

A) 1 2 3 4 5 B) 5 4 3 2 1 C) 0 1 2 3 4 D) 31、现有程序如下:

Option Base 1

Private Sub Form_Click()

Dim x(5, 6)As Integer, y(5)As Integer For i=1 To 5 For j=1 To 6

x(i, j)=Int(Rnd * 9+1)

4 3 2 0 1 Next j Next i

Call f(5, 6, x, y) For i=1 To 5 Print y(i); Next i End Sub

Sub f(m As Integer, n As Integer, a()As Integer, b()As Integer) For i=1 To m b(i)=0

For j=1 To n

b(i)=b(i)+a(i, j) Next j Next i End Sub

关于上述程序,以下叙述中正确的是( C )。

A) 调用过程语句有错,参数不匹配 B) 程序有错,数组下标越界

C) y数组中保存的是x数组每行数据之和 D) x数组中数据的取值范围是1-10 第七章 菜单与对话框

1、以下关于菜单的叙述中,错误的是( B )。

A) 当窗体为活动窗体时,用Ctrl+E 键可以打开菜单编辑器 B) 把菜单项的Enabled属性设置为False,则可删除该菜单项 C) 弹出式菜单在菜单编辑器中设计

D) 程序运行时,利用控件数组可以实现菜单项的增加或减少

2、设运行程序时弹出的菜单如图所示.关于该菜单,以下叙述中错误的是( B )。

A) 菜单中能够显示分隔线是因为该菜单项的标题为\"-\" B) 分隔线对应的菜单项的Name属性可以为空 C) \"退出\"菜单项的有效性属性被设为False D) 使用PopupMenu方法能够显示如图所示的菜单

3、以下打开Visual Basic菜单编辑器的操作中,错误的是( A )。

A) 执行\"编辑\"菜单中的\"菜单编辑器\"命令 B) 执行\"工具\"菜单中的\"菜单编辑器\"命令 C) 单击工具栏中的\"菜单编辑器\"按钮 D)右击窗体,在弹出的快捷菜单中选择\"菜单编辑器\"命令 4、在菜单编辑器中建立如下图所示的菜单,并为了每个菜单项编写了鼠标单击事件过程。

关于此菜单,以下叙述中错误的是( D )。

A) 针对此菜单进行操作,单击\"斜体\"菜单项时,将执行它的鼠标单击事件过程 B) 针对此菜单进行操作,单击\"下划线\" 菜单项时,\"√\"被去掉

C) 针对此菜单进行操作,单击\"退出\"菜单项时,不能执行对应的单击事件过程

D) 针对此菜单进行操作,单击\"编辑\"菜单项时,打开下拉菜单,但不执行相应的单击事件过程

5、窗体上有一个菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。下列说法错误的是( A )。

A) 在设计\"粘贴\"菜单项时,在菜单编辑器窗口中设置了\"有效\"属性(有\"√\") B) 菜单中的横线是在该菜单项的标题输入框中输入了一个\"-\"(减号)字符 C) 在设计\"选中\"菜单项时,在菜单编辑器窗口中设置了\"复选\"属性(有\"√\") D) 在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了\"可见\"前面的\"√\"

6、如果一个菜单项的Enabled属性被设置为False,则程序运行时,该菜单项( B )。 A) 不显示 B) 显示但无效 C) 有效可用 D) 不显示但有效可用

7、在利用菜单编辑器设计菜单时,为了把组合键\"Alt+X\"设置为\"退出(X)\"菜单项的访问键,可以将该菜单项的标题设置为( B )。

A) 退出(X&) B) 退出(&X) C) 退出(X#) D) 退出(#X)

8、窗体上有一个名称为CD1的通用对话框控件和由四个命令按钮组成的控件数组Command1,其下标从左到右分别为0、1、2、3,窗体外观如图所示。

命令按钮的事件过程如下:

Private Sub Command1_Click(Index As Integer) Select Case Index Case 0

CD1.Action=1 Case 1

CD1.ShowSave Case 2

CD1.Action=5 Case 3 End End Select End Sub

对上述程序,下列叙述中错误的是( C )。

A) 单击\"打开\"按钮,显示打开文件的对话框 B) 单击\"保存\"按钮,显示保存文件的对话框 C) 单击\"打印\"按钮,能够设置打印选项,并执行打印操作 D) 单击\"退出\"按钮,结束程序的运行

9、以下叙述中错误的是( C )。

A) 在程序运行时,通用对话框控件是不可见的

B) 调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可以打开不同的对话框窗口 C) 调用通用对话框控件的ShowOpen方法,能够直接打开在该通用对话框中指定的文件 D) 调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口 10、以下关于通用对话框的叙述中,错误的是( B )。 A) 在程序运行状态下,通用对话框控件是不显示的 B) 通用对话框控件是Visual Basic的标准控件

C) 设计时,通用对话框控件的大小是固定的,不能改变

D) 在同一个程序中,一个通用对话框控件可以作为打开、保存等多种对话框

11、窗体上有一个名称为CD1的通用对话框,一个名称为Command1的命令按钮,相应的事件过程如下:

Private Sub Command1_Click()

CD1.Filter=\"All File|*.*|Text File|*.txt|PPT|*.ppt\" CD1.FilterIndex=2 CD1.InitDir=\"C:\"

CD1.FileName=\"default\" CD1.ShowSave End Sub

关于上述过程,以下叙述中正确的是( B )。

A) 默认过滤器为\"*.ppt\" B) 指定的初始目录为\"C:\\\"

C) 打开的文件对话框的标题为\"default\" D) 上面事件过程实现保存文件的操作 12、下列关于利用通用对话框产生的文件对话框的相关属性的描述中,错误的是( B )。

A) InitDir属性用于设置对话框中显示的起始目录 B) Filter属性用于设置对话框默认的过滤器 C) DefaultExt属性用于设置对话框中默认的文件类型 D) FileTitle属性用于存放对话框中所选择的文件名

13、窗体上有一个名称为CD1的通用对话框,一个名称为Command1的命令按钮,相应的事件过程如下:

Private Sub Command1_Click()

CD1.Filter=\"All File|*.*|Text File|*.txt|Word|*.Doc\" CD1.FilterIndex=2

CD1.FileName=\"E:\\Test.ppt\" CD1.InitDir=\"E:\" CD1.ShowOpen End Sub

关于上述程序,以下叙述中正确的是( B )。

A) 初始过滤器为\"*.*\" B) 指定的初始目录为\"E:\\\"

C) 以上程序代码实现打开文件的操作 D)由于指定文件类型是.ppt,所以导致打开文件的操作失败 14、下列关于通用对话框CommonDialog1的叙述中,错误的是( A )。

A) 只要在\"打开\"对话框中选择了文件,并单击\"打开\"按钮,就可以将选中的文件打开 B) 使用CommonDialog1.ShowColor方法,可以显示\"颜色\"对话框

C) CancelError属性用于控制用户单击\"取消\"按钮关闭对话框时,是否显示出错警告 D) 在显示\"字体\"对话框前,必须先设置CommonDialog1的Flags属性,否则会出错

15、在窗体上画一个通用对话框,其名称为CommonDialog1,则下列与CommonDialog1.ShowOpen方法等效的语句是( A )。

A) CommonDialog1.Action=1 B) CommonDialog1.Action=2 C) CommonDialog1.Action=3 D) CommonDialog1.Action=4

16、窗体上有一个名称为Text1的文本框,一个名称为CD1的通用对话框,一个标题为\"打开文件\"的

命令按钮,如图所示。

命令按钮的单击事件过程如下: Private Sub Command1_Click() CD1.ShowOpen

Open CD1.FileName For Input As#1 MsgBox CD1.FileName Line Input#1,s Text1.Text=s Close#1 End Sub

单击命令按钮,执行以上事件过程,打开选定的文件,读取文件的内容并显示在文本框中.以下叙述中正确的是( A )。

A) 程序没有错误,可以正确完成打开文件、读取文件中内容的操作 B) 执行Open命令时出错,因为没有指定文件的路径

C) Open语句是错误的,应把语句中的For Input改为For Output D) Line Input命令格式错

17、在窗体上画一个通用对话框,程序运行中用ShowOpen方法显示\"打开\"对话框时,希望在该对话框的\"文件类型\"栏中只显示扩展名为DOC的文件,则在设计阶段应把通用对话框的Filter属性设置为( D )。 A) \"(*.DOC)*. DOC\" B) \"(*. DOC)|(.DOC)\" C) \"(*. DOC)||*. DOC\" D) \"(*.DOC)|*. DOC\"

18、在设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框:

Private Sub Command1_Click() CD1.DialogTitle=\"打开文件\" CD1.InitDir=\"C:\"

CD1.Filter=\"所有文件|*.*|Word文档|*.doc|文本文件|*.txt\" CD1.FileName=\"\" CD1.Action=1

If CD1.FileName=\"\"Then Print\"未打开文件\" Else

Print\"要打开文件\"& CD1.FileName End If End Sub

但实际显示的对话框中列出了C:\\下的所有文件和文件夹,\"文件类型\"一栏中显示的是\"所有文件\"。下面的修改方案中正确的是( C )。

A) 把 CD1.Action=1 改为 CD1.Action=2

B) 把\"CD1.Filter=\"后面字符串中的\"所有文件\"改为\"文本文件\" C) 在语句CD1.Action=1的前面添加:CD1.FilterIndex=3 D) 把CD1.FileName=\"\" 改为 CD1.FileName=\"文本文件\" 第八章 键盘与鼠标事件过程

1、以下说法中正确的是( A )。

A) 当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程 B) 因为窗体不接受焦点,所以窗体不存在自己的KeyPress事件过程

C) 若按下的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中的KeyCode参数的值也相同

D) 在KeyPress事件过程中,KeyAscii参数可以省略 2、VB中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光标在Text1文本框中,则每输入一个字母( A )。 A) 这3个事件都会触发 B) 只触发KeyPress事件

C) 只触发KeyDown、KeyUp事件 D) 不触发其中任何一个事件 3、关于KeyPress事件,以下叙述中正确的是( C )。

A) 在控件数组的控件上按键盘键,不能触发KeyPress事件 B) 按下键盘上任一个键时,都能触发KeyPress事件

C) 按字母键时,拥有焦点的控件的KeyPress事件会被触发 D) 窗体没有KeyPress事件

4、在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text1),并把窗体的KeyPreview属性设置为True,然后编写如下代码:

Dim SaveAll As String Private Sub Form_Load() Show

Text1.Text=\"\" Text1.SetFocus End Sub

Private Sub Command1_Click()

Text1.Text=LCase(SaveAll)+SaveAll End Sub

Private Sub Form_KeyPress(KeyAscii As Integer) SaveAll=SaveAll+Chr(KeyAscii) End Sub

程序运行后,直接用键盘输入:VB,再单击命令按钮,则文本框中显示的内容为( A )。 A) vbVB B) 不显示任何信息 C) VB D) 出错 5、以下关于键盘事件的叙述中,错误的是( D )。

A) 按下键盘按键既能触发KeyPress事件,也能触发KeyDown事件 B) KeyDown、KeyUp事件过程中,大、小写字母被视作相同的字符 C) KeyDown、KeyUp事件能够识别Shift、Alt、Ctrl等键 D) KeyCode是KeyPress事件的参数 6、下面不是键盘事件的是( D )。

A) KeyDown B) KeyUp C) KeyPress D) KeyCode 7、设窗体上有2个文本框Text1和Text2,并有下面的事件过程:

Dim n

Private Sub Text1_KeyPress(KeyAscii As Integer)

If \"A\"<=Chr(KeyAscii)And Chr(KeyAscii)<=\"Z\" Then

n=n+1 End If

If KeyAscii=13 Then Text2.Text=n End If End Sub

程序运行时,在文本框Text1中输入\"Visual Basic 6.0\"并按回车键后,在文本框Text2中显示的是( A )。

A) 2 B) 9 C) 13 D) 16

8、窗体上有一个Text1文本框,并编写了下面事件过程:

Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii=KeyAscii+3 End Sub

程序运行时,在文本框中输入字符\"A\",则在文本框中实际显示的是( D )。

A) A B) B C) C D) D

9、下列操作说明中,错误的是( C )。

A) 在具有焦点的对象上进行一次按下字母键操作,会引发KeyPress事件 B) 可以通过MousePointer属性设置鼠标光标的形状 C) 不可以在属性窗口设置MousePointer属性 D) 可以在程序代码中设置MousePointer属性

10、下列事件的事件过程中,参数是输入字符ASCII码的是( C )。

A) KeyDown事件 B) KeyUp事件 C) KeyPress事件 D) Change事件

11、设工程中有2个窗体:Form1、Form2,Form1为启动窗体。Form2中有菜单,其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为\"Teacher\",所有菜单都可见;否则看不到\"成绩录入\"菜单项。为此,某人在Form1窗体文件中编写如下程序:

Private Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then

If Text1.Text=\"Teacher\"Then Form2.input.Visible=True Else

Form2.input.Visible=False End If End If

Form1.Hide Form2.Show End Sub

程序运行时发现刚输入口令时就隐藏了Form1,显示了Form2,程序需要修改。下面修改方案中正确的是( B )。

A) 把Form1中Text1文本框及相关程序放到Form2窗体中 B) 把Form1.Hide、Form2.Show两行移到2个End If之间

C) 把If KeyAscii=13 Then 改为 If KeyAscii=\"Teacher\" Then D) 把2个Form2.input.Visible 中的\"Form2.\"删去

12、在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,再编写如下程序:

Dim ss As String

Private Sub Text1_KeyPress(KeyAscii As Integer)

If Chr(KeyAscii)<>\"\" Then ss=ss+Chr(KeyAscii) End Sub

Private Sub Command1_Click() Dim m As String,i As Integer For i=Len(ss)To 1 Step-1 m=m+Mid(ss,i,1) Next

Text1.Text=UCase(m) End Sub

程序运行后,在文本框中输入\"Number 100\",并单击命令按钮,则文本框中显示的是( D )。 A) NUMBER 100 B) REBMUN C) REBMUN 100 D) 001 REBMUN 13、文本框Text1的KeyDown 事件过程如下:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) ... End Sub

其中参数KeyCode的值表示的是发生此事件时( C )。

A) 是否按下了Alt键或Ctrl键 B) 按下的是哪个数字键 C) 所按的键盘键的键码 D) 按下的是哪个鼠标键

14、窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp事件过程如下:

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Dim c As String

c=UCase(Chr(KeyCode)) Text2.Text=Chr(Asc(c)+2) End Sub

当向文本框Text1中输入小写字母a时,文本框Text2中显示的是( C )。 A) A B) a C) C D) c

15、窗体上有一个名称为Combo1的组合框,要求在其编辑区输入文本并按回车键后,编辑区中的文本被添加到列表中。下面能实现这一功能的是( A )。

A) Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode=13 Then

Combo1.AddItem Combo1.Text End If End Sub

B) Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode=13 Then

Combo1.AddItem Text1.Text End If End Sub

C) Private Sub Combo1_Click() Combo1.AddItem Combo1.Text End Sub

D) Private Sub Combo1_Click() Combo1.AddItem Text1.Text End Sub

16、编写如下程序:

Private Sub Form_Click() Print \"Welcome!\" End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print \"欢迎!\" End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Print \"热烈欢迎!\" End Sub

程序运行后,单击窗体,输出结果为( A )。 A) 欢迎! 热烈欢迎! Welcome!

B) 欢迎! Welcome! 热烈欢迎!

C) Welcome! 欢迎! 热烈欢迎!

D) Welcome! 热烈欢迎! 欢迎!

17、若看到程序中有以下事件过程,则可以肯定的是,当程序运行时( D )。

Private Sub Click_MouseDown(Button As Integer, Shift As Integer,X As Single,Y As Single) Print \"VB Program\" End Sub

A) 用鼠标左键单击名称为\"Command1\"的命令按钮时,执行此过程 B) 用鼠标左键单击名称为\"MouseDown\"的命令按钮时,执行此过程 C) 用鼠标右键单击名称为\"MouseDown\"的控件时,执行此过程 D) 用鼠标左键或右键单击名称为\"Click\"的控件时,执行此过程 18、窗体的MouseUp事件过程如下:

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) …… End Sub

关于以上定义,以下叙述中错误的是( D )。

A) 根据Shift参数,能够确定使用转换键的情况

B) 根据X、Y参数可以确定触发此事件时鼠标的位置

C) Button 参数的值是在MouseUp事件发生时,系统自动产生的 D) MouseUp是鼠标向上移动时触发的事件

19、要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是( C )。

A) Private Sub P1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Print X, Y End Sub

B) Private Sub P1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Picture.Print X, Y End Sub

C) Private Sub P1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

P1.Print X, Y End Sub

D) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) P1.Print X, Y End Sub

20、设有窗体的Form_MouseMove事件过程如下:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If(Button And 3)=3 Then Print \"检查按键\" End If End Sub

关于上述过程,以下叙述中正确的是( C )。

A) 按下鼠标左键时,在窗体上显示\"检查按键\" B) 按下鼠标右键时,在窗体上显示\"检查按键\"

C) 同时按下鼠标左、右键时,在窗体上显示\"检查按键\" D) 不论做何种操作,窗体上都不会显示

21、要求在程序运行时,如果按住鼠标左键不放而移动鼠标,鼠标的位置坐标同步显示在窗体右上角的

标签(名称为Label1)中,如右图所示,放开鼠标左键后,停止同步显示。

下面可以实现此功能的程序是( C )。

A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button=1 Then

Label1=\"X=\" & X & \" Y=\" & Y End If End Sub

B) Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button=1 Then

Label1=\"X=\" & X & \" Y=\" & Y End If End Sub

C) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button=1 Then

Label1=\"X=\" & X & \" Y=\" & Y End If End Sub

D) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1=\"X=\" & X & \" Y=\" & Y End Sub

22、鼠标拖放控件要触发两个事件,这两个事件是( A )。

A) DragOver事件和DragDrop事件 B) Drag事件和DragDrop事件

C) MouseDown事件和KeyDown事件 D) MouseUp事件和KeyUp事件

第九章 多重窗体与数据文件

1、以下关于多重窗体程序的叙述中,错误的是( D )。 A) 对于多重窗体程序,需要单独保存每个窗体

B) 在多重窗体程序中,可以根据需要指定启动窗体 C) 在多重窗体程序中,各窗体的菜单是彼此独立的

D) 用Hide方法不仅可以隐藏窗体,而且还可以清除内存中的窗体 2、以下关于窗体的叙述中错误的是( A )。 A) 窗体的Hide方法将窗体隐藏并卸载

B) 窗体的Show方法可以将窗体装入内存并显示该窗体 C) 若工程中包含多个窗体,则可指定一个为启动窗体 D) 窗体的Load事件在加载窗体时发生

3、设工程中有Form1、Form2两个窗体,要求单击Form2上的Command1命令按钮,Form2就可以从屏幕上消失,下面的事件过程中不能实现此功能的是( C )。

A) Private Sub Command1_Click() Form2.Hide End Sub

B) Private Sub Command1_Click() Unload Me End Sub

C) Private Sub Command1_Click() Form2.Unload End Sub

D) Private Sub Command1_Click() Me.Hide End Sub

4、以下叙述中错误的是( D )。

A) Sub Main 是定义在标准模块中的特定过程 B) 一个工程中只能有一个Sub Main过程 C) Sub Main 过程不能有返回值

D) 当工程中含有Sub Main过程时,工程执行时一定最先执行该过程

5、Visual Basic中的\"启动对象\"是指启动Visual Basic应用程序时,被自动加载并首先执行的对象。下列关于Visual Basic\"启动对象\"的描述中,错误的是( A )。

A) \"启动对象\"可以是指定的标准模块 B) \"启动对象\"可以是指定的窗体 C) \"启动对象\"可以是Sub Main过程

D) 若没有经过设置,则默认的\"启动对象\"是第一个被创建的窗体 6、以下关于VB特点的叙述中,错误的是( C )。

A) VB中一个对象可有多个事件过程 B) VB应用程序能以编译方式运行 C) VB应用程序从Form_Load事件过程开始执行

D) 在VB应用程序中往往通过引发某个事件导致对对象的操作 7、以下叙述中错误的是( D )。

A) 标准模块文件的扩展名是.bas B) 标准模块文件是纯代码文件 C) 在标准模块中声明的全局变量可以在整个工程中使用 D) 在标准模块中不能定义过程

8、下面有关标准模块的叙述中,错误的是( A )。 A) 标准模块不完全由代码组成,还可以有窗体

B) 标准模块中的Private过程不能被工程中的其他模块调用

C) 标准模块的文件扩展名为.bas D) 标准模块中的全局变量可以被工程中的任何模块引用 9、下面关于标准模块的叙述中错误的是( B )。 A) 标准模块中可以声明全局变量

B) 标准模块中可以包含一个Sub Main过程,但此过程不能被设置为启动过程

C) 标准模块中可以包含一些Public过程 D) 一个工程中可以含有多个标准模块

10、在标准模块中用Public关键字定义的变量,其作用域为( B )。

A) 本模块所有过程 B) 整个工程 C) 所有窗体 D) 所有标准模块 11、以下关于VB文件的叙述中,正确的是( B )。

A) 标准模块文件的扩展名是.frm B) VB应用程序可以被编译为.exe文件

C) 一个工程文件只能含有一个标准模块文件 D) 类模块文件的扩展名为.bas 12、以下关于VB文件的叙述中,错误的是( B )。

A) 标准模块文件不属于任何一个窗体 B) 工程文件的扩展名为.frm C) 一个工程只有一个工程文件 D) 一个工程可以有多个窗体文件 13、如果在窗体模块中所有程序代码的前面有语句:Dim x ,则x是( D )。 A) 全局变量 B) 局部变量 C) 静态变量 D) 窗体级变量 14、下列操作中不能向工程添加窗体的是( C )。

A) 执行\"工程\"菜单中的\"添加窗体\"命令 B) 单击工具栏上的\"添加窗体\"按钮 C) 右击窗体,在弹出的菜单中选择\"添加窗体\"命令

D) 右击工程资源管理器,在弹出的菜单中选择\"添加\"命令,然后在下一级菜单中选择\"添加窗体\"命令

15、下列关于顺序文件的描述中,正确的是( D )。

A) 文件的组织与数据写入的顺序无关 B) 主要的优点是占空间少,且容易实现记录的增减操作 C) 每条记录的长度是固定的 D) 不能像随机文件一样灵活地存取数据 16、下面关于文件叙述中错误的是( D )。

A) VB数据文件需要先打开,再进行处理 B) 随机文件每个记录的长度是固定的 C) 不论是顺序文件还是随机文件,都是数据文件

D) 顺序文件的记录是顺序存放的,可以按记录号直接访问某个记录 17、关于随机文件,以下叙述中错误的是( A )。

A) 使用随机文件能节约空间 B) 随机文件记录中,每个字段的长度是固定的 C) 随机文件中,每个记录的长度相等 D) )随机文件的每个记录都有一个记录号 18、以下关于文件的叙述中,错误的是( B )。 A) 顺序文件中的记录是一个接一个地顺序存放 B) 随机文件中记录的长度是随机的

C) 文件被打开后,自动生成一个文件指针 D) EOF函数用来测试是否到达文件尾

19、在窗体上有两个名称分别为Text1、Text2的文本框,一个名称为Command1的命令按钮。运行后

的窗体外观如图所示。

设有如下的类型和变量声明: Private Type Person name As String*8 major As String*20 End Type

Dim p As Person

设文本框中的数据已正确地赋值给Person类型的变量p,当单击\"保存\"按钮时,能够正确地把变量中的数据写入随机文件Test2.dat中的程序段是( C )。

A) Open \"c:\\Test2.dat\" For Output As #1

Put #1, 1, p Close #1

B) Open \"c:\\Test2.dat\" For Random As #1 Get #1, 1, p Close #1

C) Open \"c:\\Test2.dat\" For Random As #1 Len=Len(p) Put #1, 1, p Close #1

D) Open \"c:\\Test2.dat\" For Random As #1 Len=Len(p) Get #1, 1, p Close #1

20、某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中:

Private Sub Command1_Click()

Open \"out.txt\" For Output As #2 Print \"Text1\" Close #2 End Sub

调试时发现没有达到目的,为实现上述目的,应做的修改是( A )。

A) 把Print \"Text1\" 改为Print #2, Text1 B) 把Print \"Text1\" 改为 Print Text1 C) 把Print \"Text1\" 改为Write \"Text1\" D) 把所有 #2 改为 #1 21、下列有关文件的叙述中,正确的是( C )。

A) 以Output方式打开一个不存在的文件时,系统将显示出错信息

B) 以Append方式打开的文件,既可以进行读操作,也可以进行写操作 C) 在随机文件中,每个记录的长度是固定的

D) 无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的 22、设有语句:

Open \"c:\\Test.Dat\" For Output As #1 则以下叙述中错误的是( A )。

A) 该语句打开C盘根目录下的一个文件Test.Dat,如果该文件不存在则出错

B) 该语句打开C盘根目录下一个名为Test.Dat的文件,如果该文件不存在则创建该文件 C) 该语句打开文件的文件号为1

D) 执行该语句后,就可以通过Print #语句向文件Test.Dat中写入信息 23、设在工程文件中有一个标准模块,其中定义了如下记录类型:

Type Books

Name As String * 10 TelNum As String * 20 End Type

在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条Books类型的记录。下列能够完成该操作的事件过程是( A )。

A) Private Sub Command1_Click() Dim B As Books

Open \"Person.txt\" For Output As #1 B.Name=InputBox(\"输入姓名\")

B.TelNum=InputBox(\"输入电话号码\") Write #1, B.Name, B.TelNum Close #1 End Sub

B) Private Sub Command1_Click()

Dim B As Books

Open \"Person.txt\" For Input As #1 B.Name=InputBox(\"输入姓名\")

B.TelNum=InputBox(\"输入电话号码\") Print #1, B.Name, B.TelNum Close #1 End Sub

C) Private Sub Command1_Click() Dim B As Books

Open \"Person.txt\" For Output As #1 B.Name=InputBox(\"输入姓名\")

B.TelNum=InputBox(\"输入电话号码\") Write #1, B Close #1 End Sub

D) Private Sub Command1_Click()

Open \"Person.txt\" For Input As #1 Name=InputBox(\"输入姓名\")

TelNum=InputBox(\"输入电话号码\") Print #1, Name, TelNum Close #1 End Sub

24、设在工程文件中有一个标准模块,其中定义了如下记录类型

Type Books

Name As String * 10 TelNum As String * 20 End Type

在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成该操作的事件过程是( A )。 A) Private Sub Command1_Click()

Dim B As Books

Open \"c:\\Person.txt\" For Output As #1 B.Name=InputBox(\"输入姓名\")

B.TelNum=InputBox(\"输入电话号码\") Write #1, B.Name, B.TelNum Close #1 End Sub

B) Private Sub Command1_Click()

Dim B As Books

Open \"c:\\Person.txt\" For Input As #1 B.Name=InputBox(\"输入姓名\")

B.TelNum=InputBox(\"输入电话号码\") Print #1, B.Name, B.TelNum Close #1 End Sub

C) Private Sub Command1_Click()

Dim B As Books

Open \"c:\\Person.txt\" For Output As #1 B.Name=InputBox(\"输入姓名\")

B.TelNum=InputBox(\"输入电话号码\") Write #1, B Close #1 End Sub

D) Private Sub Command1_Click()

Open \"c:\\Person.txt\" For Input As #1 Name=InputBox(\"输入姓名\")

TelNum=InputBox(\"输入电话号码\") Print #1, Name, TelNum Close #1 End Sub

25、顺序文件在一次打开期间( D )。

A) 只能读,不能写 B) 只能写,不能读

C) 既可读,又可写 D) 或者只读,或者只写

26、窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。以下程序的功能是从顺序文件中读取数据:

Private Sub Command1_Click()

Dim s1 As String, s2 As String Open \"c:\\d4.dat\" For Append As #3 Line Input #3, s1 Line Input #3, s2 Text1.Text=s1+s2 Close End Sub

该程序运行时有错误,应该进行的修改是( A )。

A) 将Open语句中的For Append改为For Input B) 将Line Input改为Line

C) 将两条Line Input语句合并为Line Input #3, s1,s2 D) 将Close语句改为Close #3 27、设在当前目录下有一个名为\"file.txt\"的文本文件,其中有若干行文本。编写如下程序:

Private Sub Command1_Click() Dim ch$, ascii As Integer Open \"file.txt\" For Input As #1 While Not EOF(1)

Line Input #1, ch ascii=toascii(ch) Print ascii Wend Close #1 End Sub

Private Function toascii(mystr As String)As Integer n=0

For k=1 To Len(mystr)

n=n+Asc(Mid(mystr, k, 1)) Next k toascii=n End Function

程序的功能是( A )。

A) 按行计算文件中每行字符的ASCII码之和,并显示在窗体上 B) 计算文件中所有字符的ASCII码之和,并显示在窗体上 C) 把文件中所有文本行按行显示在窗体上 D) 在窗体上显示文件中所有字符的ASCII码值

28、某人编写了向随机文件中写一条记录的程序,代码如下:

Type RType

Name As String * 10 Tel As String * 20 End Type

Private Sub Command1_Click() Dim p As RType

p.Name=InputBox(\"姓名\") p.Tel=InputBox(\"电话号\")

Open \"Books.dat\" For Random As #1 Put #1, , p Close #1 End Sub

该程序运行时有错误,修改的方法是( )。

A)在类型定义\"Type RType\"之前加上\"Private\" B)Dim p As RType必须置于窗体模块的声明部分 C)应把Open语句中的For Random 改为 For Output D)Put语句应该写为Put #1,p.Name , p.Tel (36)有如下程序:

Private Sub Form_Click()

Dim s As Integer, p As Integer p=1

For i=1 To 4 For j=1 To i s=s+j Next j p=p * s Next i Print p End Sub

程序运行后,单击窗体,则输出结果是( A )。

A) 在类型定义\"Type RType\"之前加上\"Private\" B) Dim p As RType必须置于窗体模块的声明部分 C) 应把Open语句中的For Random 改为 For Output D) Put语句应该写为Put #1,p.Name , p.Tel

29、窗体上有一个名称为Text1的文本框,一个名称为CD1的通用对话框,一个标题为\"打开文件\"的

命令按钮,如图所示。

命令按钮的单击事件过程如下: Private Sub Command1_Click() CD1.ShowOpen

Open CD1.FileName For Input As#1 MsgBox CD1.FileName Line Input#1,s

Text1.Text=s Close#1 End Sub

单击命令按钮,执行以上事件过程,打开选定的文件,读取文件的内容并显示在文本框中.以下叙述中正确的是( A )。

A) 程序没有错误,可以正确完成打开文件、读取文件中内容的操作 B) 执行Open命令时出错,因为没有指定文件的路径

C) Open语句是错误的,应把语句中的For Input改为For Output D) Line Input命令格式错

30、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:

Private Type Record ID As Integer

Name As String * 20 End Type

Private Sub Command1_Click()

Dim MaxSize, NextChar, MyChar

Open \"d:\emp\\female.txt\" For Input As #1 MaxSize=LOF(1)

For NextChar=MaxSize To 1 Step-1 MyChar=Input(1, #1) Next NextChar Print EOF(1) Close #1 End Sub

运行程序,单击命令按钮,其输出结果为( A )。 A) True B) False C) 0 D) Null

31、以下叙述中错误的是( B )。

A) Print #语句和Write #语句都可以向文件中写入数据

B) 用Print #语句和Write #语句所建立的顺序文件格式总是一样的

C) 如果用Print #语句把数据输出到文件,则各数据项之间没有逗号分隔,字符串也不加双引号 D) 如果用Write #语句把数据输出到文件,则各数据项之间自动插入逗号,并且把字符串加上双引号

因篇幅问题不能全部显示,请点此查看更多更全内容