第一章 数据结构与算法
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) 把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.Width 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