《计算机基础与Access数据库程序设计》习
题解答
第1章 习题答案及解析
一、单选题
1. 计算机中实现计算和控制等功能的部件是( )。 A. 内存 B. CPU C. 控制器
D. 算器
答案:B
2. 家用计算机一般是指( )。 A. 工作站 B. 服务器 C. 个人计算机 D. 级计算机
答案:C
3. 二进制数111011.11转换为十进制的结果是( )。 A. 69.75 B. 59.75 C. 67.75 D. 63.75
答案:B
4. 十进制数2809.75转换为二进制的结果是( )。 A. 101111001111.11 B. 111001111011.11 C. 101011111001.11 D. 101101111001.11 答案:C
5. 十进制数678转换为八进制的结果是( )。 A. 1234 B. 2072 C. 1246 D. 1264
答案:C
6. 十进制数9999转换为十六进制的结果是( )。 A. 270F B. 2A4F C. 2278 D.
729A
答案:A
二、思考题
1. 将十进制数5678分别转换为二进制、八进制、十六进制。 答案:(1011000101110)2,(13056)8,(162E)16
2. 将二进制数111001111011.11分别转换为十进制、八进制和十六进制。
1
运
超
答案:(3707.75)10,(7173.6)8,(E7B.E)16
第2章 习题答案及解析
一、单选题
1. 已知关系R1、R2,R1×R2的元组总数是( )。
A. 5 B. 6 C. 3 D. 2 答案:B
2. 一个工作人员可以使用多台计算机,而一台计算机可被多工作人员使用,则工作人员与计算机之间的联系是( )。
A. 一对一 B. 一对多 C. 多对多 D. 多对一 答案:C
3. 实现数据库管理和维护功能的软件是( )。 A. DBMS B. DBS C. DBAS D. DB
答案:A
4. Access数据库是( )。 A. 层次型数据库 B. 关系型数据库 C. 网状型数据库 D. 杂合型数据库 答案: B
5. 数据的完整性是指存储在数据库中的数据要在一定意义下确保是( )。 A. 一致的 B. 正确的、一致的 C. 正确的 D. 规范化的 答案:B
6. 关系数据库是以( )的形式组织和存放数据的。 A. 一条链 B. 一维表 C. 二维表 D. 一个表格 答案:C
7. 数据库中,数据的物理独立性是指( )。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立
C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中的数据的逻辑结构相互独立
2
答案:C
8. 常见的数据模型有3种,它们是( )。 A. 网状、关系和语义 B. 层次、关系和网状 C. 环状、层次和关系 D. 字段名、字段类型和记录 答案:B
二、填空题
1. 关系数据库管理系统能实现的专门关系运算包括 、连接和投影。 答案:选择
2. 数据库系统的三级模式分别为 、内模式与外模式。 答案:数据库模式,概念模式,模式
3. 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、 和用户定义完整性。
答案:参照完整性
4. 数据模型分为3种类型,它们是 数据模型、逻辑数据模型和物理数据模型。
答案:概念
第3章 习题答案及解析
一、单选题
1. Access数据库文件的扩展名是( )。 A. .dbf B. .dbc C. .mdb 答案:C
2. 表的字段名首字符不能是( )。 A. 字母 B. 空格 C. 数字 字
答案:B
3. 文本型字段最多可以存储( )个字符。 A. 255 B. 256 C. 50 答案:A
4. 下列数字中哪个可以保存到字节型字段中( )。 A. 700 B. 100 C. -1000 答案:B
5. 下列值中,哪个可以用是/否型字段保存( )。 A. True B. “海洋” C. 1000 #2011/10/17#
D. .xls
D. 汉
D. 65535
D. 65536
D.
3
答案:A
6. 下列关于表的主键描述中,哪个描述是正确的?( ) A. 主键可以包含一个或多个字段。 B. 主键只能包含一个字段。 C. 主键必须是数字型字段。 D. 以上三个都对。 答案:A
7. 下列选项中哪个是合法的日期型常量?( )。 A. #2009/1/1# B. #2009/22/23# C. “2009/1/1” D. &2009/1/1& 答案:A
8. 下列选项中哪个是合法的逻辑型常量?( )。 A. 是 B. 否 C. False D. Yes 答案:C
9. 下列选项中哪个是合法的字符串常量?( )。 A.“AA” B. \C. [AA] D.?AA? 答案:B
10. 已知表中有一“性别”字段,文本型,字段大小为1,下列哪个表达式可以作为该字段的有效性规则?( )。
A. =“男”或=“女” B. “男”或“女” C. “男”Or“女” D. “男”/“女” 答案:C
11. 已知表中有一“年龄”字段,整型,下列哪个表达式可以作为该字段的有效性规则?( )。
A. 大于19 B. >19 Or <10 C. >=17 And <= 30 D. < 19 答案:C
12. 要控制“学号”字段只能输入数字,应设置( )。 A. 格式 B. 输入掩码 C. 字段有效性规则 D. 表/记录有效性规则 答案:D
13. 下列对数据输入无法起到约束作用的是( )。 A. 输入掩码 B. 有效性规则 C. 字段名称 D. 数据类型
答案:C
14. Access中,设置为主键的字段( )。 A. 不能设置索引 B. 可设置为“有(有重复)”索引 C. 系统自动设置索引 D. 可设置为“无”索引 答案:C
4
15. 在Access中,如果不想显示数据表中的某些字段,可以使用的操作是( )。 A. 隐藏 B. 删除 C. 冻结 D. 筛选 答案:A
二、填空题
1. 在表的设计视图中创建表,必须对每个字段定义的是 和 。
答案:字段名称,数据类型
2. 为方便起见,把当前处于打开状态的数据库叫做 。 答案:当前数据库
3. 是Access数据库的核心对象,用于存储数据库数据。 答案:表
4. Access数据库中实体之间的参照完整性控制是通过表之间的 实现的。
答案:关系
5. Access为用户提供了一些预定义的数据库模型,叫做 。 答案:模板
三、思考题
1. 表tStudent、tScore之间已经通过“学号”字段建立了关系并实施了参照完整性,修改tScore表中记录的“学号”时,可以随意输入学号内容吗?
答案:不可以。
解析:在实施了参照完整性时,只能输入tStudent表中存在的学号,否则就会破坏参照完整性,系统会拒绝接受。
2. 假定tScore表中选修日期不能在输入数据日期之后且选修月份必须是12月或7月,应如何设置字段有效性规则?
答案: 解析:输入数据日期可以用Date()函数获得,选修日期不能在输入数据日期之后可以表示为: 选修月份必须是12月或7月可以表示为: Month([选修日期]) In (7,12) 合并上述表达式即可满足要求,即设置“选修日期”字段的字段有效性规则为: 3. 假定筛选1991年出生的男同学信息,应如何构造筛选条件? 答案:出生年度可以用Year([出生日期])表示,按图3-1设置筛选条件即可。也可以在筛选条件中包含完整的字段名运算表达式,例如,图3-1中的筛选条件也可以按图3-2的方式设置。 5 图3-1 设置筛选条件(1) 图3-2 设置筛选 条件(2) 注意:按图3-2的筛选条件设置并保存后,再次编辑筛选条件时,系统会自动转换为图3-1的形式。因图3-2的设置方式是一种不规范的方式。 第4章 习题答案及解析 一、单选题 1. 下列关于操作查询的描述中哪个是正确的?( )。 A. 操作查询不改变数据库中的数据 B. 操作查询是指建立查询的操作过程 C. 操作查询执行时会使数据库数据发生改变 D. 操作查询是指带有输入参数的查询 答案:C 2. 要设计“民族”字段(文本型)的筛选条件,查询“藏”、“蒙古”、“壮”、“维吾尔”等民族的学生,应选择的筛选条件是( )。 A. LIKE \藏蒙古壮维吾尔\ B. IN(\藏\蒙古\壮\维吾尔\ C. =\藏\蒙古\壮\维吾尔\ D. =\藏蒙古壮维吾尔\答案:B 3. SQL SELECT语句通过( )子句指定查询条件。 A. WHILE B. WHERE C. FOR D. LIKE 答案:B 4. 已知学生“出生日期”字段是日期/时间型的,欲计算生成“年龄”字段,下列哪个选项是正确的?( )。 A. 年龄:Year(Date()-出生日期) B. 年龄:Year(Date())-Year(出生日期) C. 年龄: Date()-出生日期 D. 年龄: Year(出生日期)- Year(Date()) 6 答案:B 5. 已知tStudent表包含“性别”字段,文本型,下列语句中哪个可以查询出“男”同学记录( )。 A. SELECT * FROM tStudent WHERE 性别=男 B. SELECT * FROM tStudent WHERE 性别 LIKE 男 C. SELECT * FROM tStudent WHERE 性别= \男\D. SELECT * FROM tStudent WHERE 性别=“男” 答案:C 6. 已知tStudent表包含“民族”字段,文本型,“出生日期”字段,日期/时间型。下列语句中哪个可以查询出1990年以前出生的“藏族”同学的记录?( )。 A. SELECT * FROM tStudent WHERE 民族 = 藏族 AND 出生日期 < #1990/1/1# B. SELECT * FROM tStudent WHERE民族 LIKE \藏族\AND 出生日期 < #1990/1/1# C. SELECT * FROM tStudent WHERE民族 = \藏族\ AND出生日期 > #1990/1/1# D. SELECT * FROM tStudent WHERE民族 =“藏族” AND 出生日期 < #1990/1/1# 答案:B 7. 已知tStudent表包含“姓名”字段,要建立一个查询查找姓“李”的同学,下列哪个表达式可以作为查询设计视图(查询设计器)中“姓名”字段的筛选条件?( )。 A. Like “李*” B. Like \李? \C. Like \李*\ D. Like “李?” 答案:C 8. 用于分组的SQL子句是( )。 A. HAVING B. GROUP BY C. ORDER BY D. WHERE 答案:B 9. 已知tScore表包含的字段是:学号(文本型,主键字段),课程号(文本型,主键字段),成绩(单精度数字型),下列哪个SQL语句是正确的?( )。 A. INSERT INTO tScore VALUES (\ B. INSERT INTO tScore(学号,成绩) VALUES (\C. INSERT INTO tScore VALUES (\ D. INSERT INTO tScore(学号,成绩, 课程号) VALUES (\答案:D 10. 要从tStudent表中删除记录,下列SQL-DELETE语句中哪个是正确的?( )。 A. DELETE tStudent B. DELETE FROM tStudent 7 C. DELETE ALL tStudent D. DELETE * FROM tStudent ALL 答案:B 11. 下列SQL-UPDATE语句用于修改tStudent表中的记录,哪个是正确的?( )。 A. UPDATE tStudent(出生日期) = #1998-1-2# WHERE 学号=\B. UPDATE tStudent SET 出生日期 = #1998-1-2# WHILE 学号=\C. UPDATE tStudent 出生日期=#1998-1-2# WHERE 学号=\ D. UPDATE tStudent SET 出生日期 = #1998-1-2# WHERE 学号=\答案:D 12. 利用对话框提示用户输入查询条件,这样的查询属于( )。 A. 选择查询 B. 参数查询 C. 操作查询 D. SQL查询 答案:B 13. 通配符“*”的含义是( )。 A. 通配任意多个连续字符 B. 通配任何单个字符 C. 通配任意个数的数字字符 D. 通配任何单个数字字符 答案:A 14. 下列表达式计算结果为日期型的是 ( )。 A. #2011/10/23# - #2011/2/3# B. #2011/2/3# + 10 C. Date - #2011/2/3# D. Len(\答案:B 15. Access查询的数据源可以来自( )。 A. 表 B. 查询 C. 表和查询 D. 报表 答案:C 二、填空题 1. Access中常用的表达式有 表达式、字符表达式、日期表达式、关系表达式、逻辑表达式等。 答案:算术 2. 关系表达式是由 运算符连接两个同类型(数值、字符、日期)运算量(常量、字段或函数)所形成的有运算意义的式子。 答案:关系 3. 从一个或多个相互关联的表中查找符合条件的记录的查询称为 。 答案:选择查询 4. 创建交叉表查询时,需要对行标题和 进行分组操作。 答案:列标题 5. 在SQL-SELECT语句中,使用 函数统计记录个数。 答案:COUNT,COUNT(*) 8 三、思考题 1. 设计一个查询查找哪些课程没有任何学生选修。 答案:本题有两种解决办法。 第一种解法是用“查找不匹配项查询向导”解决,查找tCourse表与tScore表不匹配的记录,这些记录即是没有学生选修的课程记录。 第二种解决办法是利用查询设计器解决,查询输出所有课程号没在tScore表中出现的tCourse表记录即可,如图4-1所示。 图4-1 查询设计器查询(1) 2. 建立一个统计各民族男、女生人数的交叉表查询,民族作为行,性别作为列。 答案:本题也有两种解决办法。 第一种方法是利用“交叉表查询向导”实现,选择tStudent表为数据源,选择行标题字段为“民族”字段,列标题字段为“性别”字段,交叉点计算字段为“学号”字段,计算函数为计数。 第二种方法是直接利用查询设计器实现。按图4-2所示设置即可。 图4-2 查询设计器查询(2) 3. 建立一个查询,输出1991年出生的男同学信息。 答案:此题与第3章思考题3的解法相同。 第一种解法用计算字段条件解决,如图4-3所示。 9 图4-3 第一种解法 第二种解法在条件中包含字段名,如图4-4所示。 图4-4 第二种解法 条件对应的字段名可以任意选择,图4-4选择的是“出生日期”,选择其他字段都可以,不影响条件结果。 注意:同第3章思考题3一样,这里的第二种解法是一种不规范解法,保存之后,再次在设计器中打开时,系统自动将其转换为第一种解法的格式。 第5章 习题答案及解析 一、单选题 1. 下列关于窗体节的描述中,正确的是( )。 A. 窗体中必须包含“窗体”节 B. 窗体中必须包含“主体”节 C. 窗体中必须包含“窗体页眉”节 D. 窗体中必须包含“窗体页脚”节 答案:B 2. 打开窗体时,窗体标题栏显示的标题文字应该通过哪个窗体属性设置?( )。 A. 默认视图 B. 标题 C. 记录源 D. 筛选 答案:B 3. 如果窗体用于进行数据源记录编辑,应把哪个窗体属性设置为“是”?( )。 10 A. 记录锁定 B. 允许筛选 C. 允许编辑 D. 允许输入 答案:C 4. 要使窗体以对话框方式打开,应设置哪个窗体属性为“是”?( )。 A. 弹出方式 B. 默认视图 C. 导航按钮 D. 模式 答案:D 5. 将窗体“弹出方式”属性设置为“是”时,运行时窗体( )。 A. 不能移出父窗体 B. 叠放在最底层 C. 叠放在最顶层 D. 叠放在最顶层且可移出父窗体 答案:D 6. 拖动数据源文本型字段到窗体上时会自动生成相应的控件,生成控件的类型取决于 ( )。 A. 字段“格式”属性设置 B. 字段“显示控件”属性设置 C. 字段“输入掩码”属性设置 D. 字段“有效性规则”属性设置 答案:B 7. 窗体运行时可以通过标签控件( )。 A. 编辑字段值 B. 显示文本 D. 控制用户操作 D. 输入数据 答案:B 8. 要使标签控件显示的内容为“标签举例”,应该设置的标签属性是( )。 A. 名称 B. 可见性 C. 标记 D. 标题 答案:D 9. 要改变文本框控件显示的文本大小,应设置( )属性。 A. 格式 B. 输入掩码 C. 字号 D. 控件来源 答案:C 10. 文本框控件的“输入掩码”属性用于( )。 A. 控制输入 B. 控制文本显示 C. 控制字段值 D. 控制数字输入 答案:A 11. 组合框既可以从下拉列表中选择固定的值,也可以( )。 A. 删除值 B. 编辑输入值 C. 隐藏值 D. 筛选值 答案:B 12. 要使命令按钮无效,应设置的属性是( )。 11 A. 可见性 B. 可用 C. 何时显示 D. 标题 答案:B 13. 要使列表框控件内容显示为两列,应设置的属性是( )。 A. 行来源 B. 控件来源 C. 列数 D. 绑定列 答案:C 14. 要使数据库打开时自动打开某一窗体,应( )。 A. 在“启动”对话框“显示窗体/页”组合框中选择该窗体 B. 在“启动”对话框“应用程序标题”文本框中输入该窗体的名称 C. 在“启动”对话框“启动窗体”文本框中输入该窗体的名称 D. 在“启动”对话框“菜单栏”组合框中选择该窗体 答案:A 15. 假定窗体数据源(记录源)为tStudent表,该表有“出生日期”字段,日期型。在窗体上有一文本框控件tYear,用于显示出生年度,该文本框的“控件来源”属性应设置为( )。 A. =Year(出生日期) B. Year([出生日期]) C. Year(出生日期) D. =Year([出生日期]) 答案:D 二、填空题 1. 一个窗体必须包含 节,其他节可以有或没有。 答案:主体 2. 自动创建窗体向导有3个: 、表格式和数据表。 答案:纵栏式 3 控件用于在窗体上画一条静态的线段。 答案:直线 4. 一般把切换面板页简称为 。 答案:切换面板 5. 窗体的数据来源可以是表或 。 答案:查询 6. 可以利用文本框控件实现计算处理,称之为计算控件,其控件来源属性为一以 号开头的表达式即可。 答案:等,等于,= 7. 在窗体处于活动状态时,按Tab键可以选择下一个焦点控件,要改变焦点控件次序,应设置 键次序。 答案:Tab 8. 在窗体处于活动状态时,按下某一控件的 可以使相应控件立即获得焦点。 12 答案:访问键 第6章 习题答案及解析 一、单选题 1. 报表用于( )。 A. 输入数据 B. 输出数据 C. 编辑数据 D. 汇总数据 答案:B 2. 报表的5个基本节区是( )。 A. 页面页眉、页面页脚、组页眉、组页脚、主体 B. 页面页眉、页面页脚、表头、表尾、主体 C. 报表页眉、报表页脚、组页眉、组页脚、主体 D. 报表页眉、报表页脚、页面页眉、页面页脚、主体 答案:D 3. 报表分组时,可以按字段分组,也可以按( )分组。 A. 字段名 B. 字段表达式 C. 节区 D. 内容 答案:B 4. 要在报表的每页末尾输出页码信息,应设置的节区是( )。 A. 报表页眉 B. 页面页眉 C. 报表页脚 D. 页面页脚 答案:D 5. 要对整个报表的某些字段进行汇总,应在报表的( )节区添加计算控件。 A. 报表页眉 B. 页面页眉 C. 报表页脚 D. 页面页脚 答案:C 6. 在报表中要显示格式为“共N页,第N页”的页码,正确的页码格式设置是( )。 A. =\共\页,第\页\B. =\共\页,第\页\ C. =\共\页,第\页\D. =\共\页,第\页\ 答案:C 二、填空题 1. 设计报表时,要想查看一下打印效果,应选择( )视图。 答案:打印预览 2. 要对整个报表进行汇总,应在( )节区添加汇总计算控件。 答案:报表页脚 3. 以图表形式输出信息的报表属于( )报表。 13 答案:图表 4. 报表记录源属性用于设置报表的( )来源。 答案:数据 5. Page系统变量中保存的是报表( )打印页码数据。 答案:当前 6. Pages系统变量中保存的是报表( )页数。 答案:总 第7章 习题答案及解析 一、单选题 1. InputBox函数的返回值类型是( )。 A. 数值 B. 字符串 C. 变体 D. 视输入的数据而定 答案:B 2. 可以运行宏的宏命令是( )。 A. RunCode B. RunApp C. RunMacro D. RunCommand 答案:C 3. 已知窗体上命令按钮事件属性如下图所示,其含义是( )。 A. 必须为“单击”事件编写事件过程 B. 只能为“单击”事件编写事件过程 C. 已经为“单击”事件编写了事件过程 D. “单击”事件无事件过程 答案:C 4. 要判断x、y是否都是奇数,哪个表达式是正确的?( )。 A. x Mod 2 = 0 And y Mod 2 = 0 B. x Mod 2 = 0 Or y Mod 2 = 0 C. x Mod 2 = 1 And y Mod 2 = 1 D. x Mod 2 = 1 Or y Mod 2 = 1 答案:C 14 5. 假定窗体Fm1上有一命令按钮Cmd1,Fm1窗体和Cmd1命令按钮的“单击”事件过程分别为( )。 A. Fm1_Click(),Cmd1_Click() B. Form_Click(),Cmd1_Click() C. Fm1_Click(),Command_Click() D. Form_Click(),Command_Click() 答案:B 6. 如果在被调用的过程中改变了形参变量的值,调用后实参变量并未改变,该参数的传递方式一定是( )。 A. 值传递 B. 地址传递 C. ByRef传递 D. 按参数传递 答案:A 7. 执行下列程序段的结果是( )。 For i = 10 To 1 Step 0 Debug.Print \ Next A. 形成死循环 B. 立即结束循环 C. 执行一次循环后结束循环 D. 出现语法错误 答案:B 解析:当增量>=0时,循环变量值大于终值时循环结束,本题循环变量初值即已大于终值,所以循环体没被执行,循环立即结束。 8. 运行下列过程,对话框输出结果是( )。 Private Sub Exa() f0 = 1: f1 = 1: k = 1 Do While k <= 5 f = f0 + f1 f0 = f1 f1 = f k = k + 1 Loop MsgBox \End Sub A. f = 5 B. f = 7 C. f = 8 D. f = 13 答案:D 解析:本题循环依次执行5次,各次变量赋值变化如下表所示。 循环次k f0 f1 f 数 1 1 1 1 2 2 2 1 2 3 3 3 2 3 5 4 4 3 5 8 15 5 5 5 8 13 9. 运行下列过程,对话框输出结果是( )。 Private Sub Exa1() Dim x As Integer,y As Integer x=1:y=0 Do Until y<=25 y=y+x*x x=x+1 Loop MsgBox \End Sub A. x=1,y=0 B. x=4,y=25 C. x=5,y=30 D. 其他结果 答案:A 解析:本题开始判断即满足结束循环条件。x,y没有变化。 10. 窗体有命令按钮Commandl和文本框Textl,对应的事件代码如下: Private Sub Commandl_Click() For i=1 To 4 x=3 For j=1 To 3 For k=1 To 2 x=x+3 Next k Next j Next i Text1.Value=Str(x) End Sub 运行以上事件过程,文本框中的输出是( )。 A. 6 B. 12 C. 18 D. 21 答案:D 解析:本题为三重嵌套循环,最外层i循环对x结果没有影响。在i循环最后一次循环时,x初值为3,然后j循环、k循环共执行6次x=x+3,结果为3+3*6,即21。 11. 程序段 For i=1 To 9 Step -3 ... Next 中的循环结构,其循环体将被执行( )。 A. 0次 B. 1次 C. 4次 D. 5次 答案:A 解析:本题增量为赋值,循环变量值小于终值时结束循环,赋初值后即满足结束条件,循环体一次都未执行。 16 12. 在窗体上有一个命令按钮Commandl,编写事件代码如下: Private Sub Command1_Click() Dim x As Integer, y As Integer x = 12: y = 32 Call Proc(x, y) Debug.Print x; y End Sub Public Sub Proc(n As Integer, ByVal m As Integer) n = n Mod 10 m = m Mod 10 End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是( )。 A. 2 32 B. 12 3 C. 2 2 D. 12 32 答案:A 解析:过程Proc参数n为地址传递,m为值传递。实参x传递给n,y传递给m。过程修改n的结果返回给x,修改m的结果不影响y的值,所以x为2,y为32。 13. X是一个正的实数,要保留两位小数并将千分位四舍五入,正确的是( )。 A. 0.01*Int(x+0.05) B. 0.01*Int(100*(X+0.005)) C. 0.01*Int(x+0.005) D. 0.01*Int(100*(X+0.05)) 答案:B 14. 窗体中有命令按钮Commandl,其单击事件过程如下: Private Sub Commandl_Click() Dim y As Integer Dim x As Integer x=10 y=5 y=f(x) Debug .Print x;y End Sub Public Function f(x As Integer) As Integer Dim y As Integer x=20 y=2 f=x*y End Function 运行程序,单击命令按钮,则立即窗口中显示的内容是( )。 A. 10 5 B. 10 40 C. 20 5 D. 20 40 答案:D 解析:函数过程参数x为地址传递,函数执行时的修改结果返回给实参x。 17 15. 在模块的声明部分使用“Option Base 1”语句,然后定义二维数组A(2 to 5,5),则该数组的元素个数为( )。 A. 20 B. 24 C. 25 D. 36 答案:A 解析:数组下标下界说明为1,因此A数组有4行、5列,共20个数组元素。 二、填空题 1. 在VBA中要判断一个字段的值是否为Null,应该使用的函数是 。 答案:IsNull 2. 宏可以被分成3种基本类型:简单宏、条件宏和 。 答案:宏组 3. 赋值语句首先求解表达式并将计算结果值赋给指定的 。 答案:变量 4. VBA程序一般被分成不同的功能单位,叫做 。 答案:过程 5. 对象包含属性、 和方法。 答案:事件 6. 是同类型变量的有序集合。 答案:数组 7. 过程中定义的参数叫做 。 答案:形式参数,形参 8. 调用过程时为形参指定的参数叫做 。 答案:实际参数,实参 9. 在窗体上有一个命令按钮Commandl,其单击事件代码如下: Private Sub Command1_Click() Dim a(10), p(3) As Integer k = 5 For i = 1 To 10 a(i) = i * i Next i For i = 1 To 3 p(i) = a(i * i) Next i For i = 1 To 3 k = k + p(i) *2 Next i MsgBox k End Sub 打开窗体运行后,单击该命令按钮,消息框中输出的结果是 。 答案:201 10. 数据库中有工资表,包括“姓名”、“工资”和“职称”等字段,现要对不同职称 18 的职工增加工资,规定教授职称增加15%,副教授职称增加10%,其他人员增加5%。下列程序的功能是按照上述规定调整每位职工的工资,并显示所涨工资之总和。请在空白处填入适当的语句,使程序可以完成指定的功能。 Private Sub Updatesalary() Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset Dim gz As DAO.Field Dim zc As DAO.Field Dim sum As Currency Dim rate As Single Set db = CurrentDb() Set rs = db.OpenRecordset(\工资表\ Set gz = rs.Fields(\工资\ Set zc = rs.Fields(\职称\ sum = 0 Do While Not rs.Edit Select Case zc Case Is = \教授\ rate = 0.15 Case Is = \副教授\ rate = 0.1 Case Else rate = 0.05 End Select sum = sum + gz * rate gz = gz + gz * rate rs.MoveNext Loop rs.Close db.Close Set rs = Nothing Set db = Nothing MsgBox \涨工资总计:\End Sub 答案:rs.EOF,rs.Update 解析:Do While循环需要对每个记录执行一次,循环条件是Not rs.EOF,因此第一个空白处应填rs.EOF。 19 修改记录时,记录集Edit方法和Update方法必须结合使用,Edit方法在修改记录集字段变量之前调用,修改之后,调用Update方法更新修改结果到数据库表中,因此,第二个空白处应填rs.Update。 第8章 习题答案及解析 一、单选题 1. 通过数据访问页可以把( )发布到互联网上。 A. 静态数据 B. 数据库中保持不变的数据 C. 数据库中的变动数据 D. 数据库数据 答案:D 2. 可以在( )中设计数据访问页。 A. 页面视图 B. 设计视图 C. 浏览器 D. 文本编辑器 答案:B 3. 纵栏式数据访问页中能够同时显示( )数据源记录。 A. 一条 B. 多条 C. 全部 D. 指定数目的 答案:A 4. 一个数据访问页上可以有多个控件,每个控件都有各自的Id属性,任一控件的Id属性值( )。 A. 必须与其他控件Id属性值相同 B. 可以与其他控件Id属性值相同 C. 不能与其他控件Id属性值相同 D. 取值不受限制 答案:C 二、填空题 1. Access数据库中的 、查询、窗体和报表等对象可以直接存储为数据访问页。 答案:表 2. 通过 设置可以使所有页面具有一致的风格。 答案:主题 3. Access数据访问页有两种视图,分别是设计视图和 视图。 答案:页面,页 4. Access数据访问页以 文件格式保存。 答案:HTM,htm 20 A. 桌子 C. 狗 B. 飞机 D. 苹果的颜色 答案:D 13. 信息隐蔽是通过( )实现的。 A. 抽象性 B. 封装性 C. 继承性 D. 传递性 答案:B 14. 面向对象的开发方法中,类与对象的关系是( )。 A. 具体与抽象 B. 抽象与具体 C. 整体与部分 D. 部分与整体 答案:B 15. 以下不属于对象的基本特点的是( )。 A. 分类性 B. 多态性 C. 继承性 D. 封装性 答案:C 16. 在对象之间传递信息的是( )。 A. 方法 B. 属性 C. 事件 D. 消息 答案:D 17. 在软件测试设计中,软件测试的主要目的是( )。 A. 实验性运行软件 B. 证明软件正确 C. 找出软件中全部的错误 D. 发现软件错误而执行程序 答案:D 18. 下列不属于静态测试方法的是( )。 A. 代码检查 B. 白盒法 C. 静态结构分析 D. 代码质量度量 答案:B 19. 在软件工程中,白盒测试法可以用于测试程序的内部结构。此方法将系统看做是( )。 A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 20. 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是( )。 A. 黑盒测试法 B. 白盒测试法 C. 错误推测法 D. 安装测试法 答案:A 21. 检查软件产品是否符合定义的过程称为( )。 A. 确认测试 B. 集成测试 C. 验证测试 26 D. 验收测试 答案:A 二、填空题 1. 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 。 ? 答案:软件生命周期 2. 结构化程序设计方法的主要原则包括 、逐步求精、模块化和限制使用GOTO 语句等4 条原则。 答案:自顶向下 3. 按照程序段本身语句行的自然顺序,一条语句一条语句地执行程序,这样的程序结构称为 。 答案:顺序结构 4. 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,它由 和可执行的一组操作共同组成。 答案:数据 5. 类是对象的抽象,而一个对象则是其对应类的一个 。 答案:实例 6. 在面向对象的程序设计中, 是指一个类实例和另一个类实例之间传递的信息。 答案:消息 7. 使用已经存在的类定义作为基础建立新的类定义,这样的技术叫做 。 答案:继承 8. 对象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为 。 答案:多态性 9. 为了便于对照检查,测试用例由输入数据和预期的 两部分组成。 答案:输出结果 27