2010年计算机等级考试二级VB模拟试题及参考答案(7)
编辑推荐:
2010年全国计算机二级考试各科模拟试题冲刺专题
VB菜单和对话框全真试题训练与参考答案
VB菜单和对话框历届最新考题汇编与解答
更多考试大信息:
考试大教育全国计算机等级考试在线测试平台
全国计算机等级考试论坛
笔试部分
一、选择题
1.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,该二叉树后序遍历为( )
A)GEDHFBCA B)DGEBHFCA
C)ABCDEFGH D)ACBFEDHG
【参考答案】 B
2.树是结点的集合,它的根结点数目是
A)有且只有1 B)1或多于1 C)0或1 D)至少2
【参考答案】 A
3.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D)任意顺序
【参考答案】 B
4.在设计程序时,应采纳的原则之一是
A)不限制goto语句的使用 B)减少或取消注解行
C)程序越短越好 D)程序结构应有助于读者理解
【参考答案】 D
5.程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)对象成分 B)变量成分 C)语句成分 D)传输成分
【参考答案】 D
6.下列叙述中,不属于软件需求规格说明书的作用的是
A)便于用户、开发人员进行理解和交流
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)作为确认测试和验收的依据
D)便于开发人员进行需求分析
【参考答案】 D
7.下列不属于软件工程的3个要素的是
A)工具 B)过程 C)方法 D)环境
【参考答案】 D
8.单个用户使用的数据视图的描述称为
A)外模式 B)概念模式 C)内模式 D)存储模式
【参考答案】 A
9.将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性 B)关系 C)键 D)域
【参考答案】 B
10.SQL语言又称为
A)结构化定义语言 B)结构化控制语言 C)结构化查询语言 D)结构化操纵语言
【参考答案】 C
11.用二维表数据来表示实体及实体之间联系的数据模型为
A)层次模型 B)网状模型
C)关系模型 D)E-R模型
【参考答案】 C
12.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是
A)DB包括DBS和DBMS B)DBS包括DB和DBMS
C)DBMS包括DB和DBS D)3者属于平级关系
【参考答案】 B
13.若内存变量名与当前的数据表中的一个字段“student”同名,则执行命令?student后显示的是
A)字段变量的值 B)内存变量的值 C)随机显示 D)错误信息
【参考答案】 A
14.下列日期表达式错误的是
A){^2004/03/09}+15 B){^2004/02/25}+date()
C){^2004/03/09}-15 D){004/02/25^}-date()
【参考答案】 B
15.以下每两组表达式中,其运算结果完全相同的是(□代表空格)
A)LEFT("VFP□",3)与SUBSTR("□VFP□",2,3)
B)YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2)
C)VARTYPE("40-4*5")与VARTYPE(40-4*5)
D)假定A= "visual□□",B= "□□foxpro",则A-B与A+B
【参考答案】 A
16.在逻辑运算中,3种运算符的优先级别依次排列为
A)NOT. >.AND.> .OR.
B)AND. >.NOT. > .OR.
C)NOT. >. OR.> . AND.
D)OR. >.AND.> .NOT.
【参考答案】 A
17.在Visual FoxPro中,以共享方式打开数据库文件的命令短语是
A)EXCLUSIVE B)SHARED C)NOUPDATE D)VALIDATE
【参考答案】 B
18.下列索引中,不具有“惟一性”的是
A)主索引 B)候选索引 C)惟一索引 D)普通索引
【参考答案】 D
19.如要设定学生年龄有效性规则在18至20岁之间,当输入的数值不在此范围内,则给出错误信息,我们必须定义
A)实体完整性 B)域完整性 C)参照完整性 D)以上各项都需要定义
【参考答案】 B
20.命令SELECT 0的功能是
A)选择编号最小的空闲工作区 B)选择编号最大的空闲工作区
C)随机选择一个工作区的区号 D)无此工作区,命令错误
【参考答案】 A
21.假设工资表中按基本工资升序索引后,并执行过赋值语句N=800,则下列各条命令中,错误的是
A)SEEK N B)SEEK FOR 基本工资=N C)FIND 1000 D)LOCATE FOR 基本工资=N
【参考答案】 B
22.下列关于自由表的说法中,错误的是
A)在没有打开数据库的情况下所建立的数据表,就是自由表
B)自由表不属于任何一个数据库
C)自由表不能转换为数据库表
D)数据库表可以转换为自由表
【参考答案】 C
23.查询设计器中包含的选项卡有
A)字段、联接、筛选、排序依据、分组依据、杂项
B)字段、联接、筛选、分组依据、排序依据、更新条件
C)字段、联接、筛选条件、排序依据、分组依据、杂项
D)字段、联接、筛选依据、分组依据、排序依据、更新条件
【参考答案】 A
24.为视图重命名的命令是
A)MODIFY VIEW B)CREATE VIEW C)DELETE VIEW D)RENAME VIEW
【参考答案】 D
25.在Visual FoxPro中,程序文件的扩展名为
A).QPR B).PRG C).PJX D).SCX
【参考答案】 B
26.下列关于过程调用的叙述中,正确的是
A)被传递的参数是变量,则为引用方式
B)被传递的参数是常量,则为传值方式
C)被传递的参数是表达式,则为传值方式
D)传值方式中形参变量值的改变不会影响实参变量的取值,引用方式则刚好相反
【参考答案】 D
27.将文本框的PasswordChar属性值设置为星号(*),那么,当在文本框中输入“电脑2004”时,文本框中显示的是
A)电脑2004 B)***** C)******** D)错误设置,无法输入
【参考答案】 C
28.在表单中,有关列表框和组合框内选项的多重选择,正确的叙述是
A)列表框和组合框都可以设置成多重选择
B)列表框和组合框都不可以设置成多重选择
C)列表框可以设置多重选择,而组合框不可以
D)组合框可以设置多重选择,而列表框不可以
【参考答案】 C
29.Visual FoxPro的系统菜单,其主菜单是一个
A)条形菜单 B)弹出式菜单 C)下拉式菜单 D)组合菜单
【参考答案】 A
30.下列关于报表带区及其作用的叙述,错误的是
A)对于“标题”带区,系统只在报表开始时打印一次该带区所包含的内容
B)对于“页标头”带区,系统只打印一次该带区所包含的内容
C)对于“细节”带区,每条记录的内容只打印一次
D)对于“组标头”带区,系统将在数据分组时每组打印一次该内容
【参考答案】 B
31.下列命令中,不能用做连编命令的是
A)BUILD PROJECT B)BUILD FORM C)BUILD EXE D)BUILD APP
【参考答案】 B
第32~35题使用如下的设备表。
设备型号 设备名称 使用日期 设备数量 单价 使用部门 进口
W27-1 微机 01/10/03 1 143000.00 生产一间 T
W27-2 微机 02/06/03 2 98000.00 生产一间 F
C31-1 车床 03/30/03 2 138000.00 生产二间 T
C31-2 车床 04/05/03 2 97500.00 生产二间 T
M20-1 磨床 02/10/03 3 98000.00 生产二间 F
J18-1 轿车 05/07/03 2 156000.00 办公室 T
F15-1 复印机 02/01/03 2 8600.00 办公室 F
32.从设备表中查询单价大于100000元的设备,并显示设备名称,正确的命令是
A)SELECT单价>100000 FROM 设备表 FOR设备名称
B)SELECT 设备名称 FROM 设备表 FOR 单价>100000
C)SELECT单价>100000 FROM 设备表 WHERE 设备名称
D)SELECT 设备名称 FROM 设备表 WHERE 单价>100000
【参考答案】 D
33.为设备表增加一个“设备总金额N(10,2)”字段,正确的命令是
A)ALTER TABLE 设备表 ADD FIELDS设备总金额 N(10,2)
B)ALTER TABLE设备表ADD 设备总金额 N(10,2)
C)ALTER TABLE设备表 ALTER FIELDS设备总金额 N(10,2)
D)ALTER TABLE设备表 ALTER 设备总金额 N(10,2)
【参考答案】 B
34.利用SQL数据更新功能,自动计算更新每个“设备总金额”字段的字段值,该字段值等于“单价*设备数量”的值,正确命令为
A)UPDATE 设备表 SET 设备总金额=单价*设备数量
B)UPDATE 设备表 FOR 设备总金额=单价*设备数量
C)UPDATE 设备表 WITH 设备总金额=单价*设备数量
D)UPDATE 设备表 WHERE 设备总金额=单价*设备数量
【参考答案】 A
35.有如下SQL语句:
SELECT 使用部门,SUM(单价*设备数量)AS 总金额FROM 设备表;
WHERE .NOT.(进口);
GROUP BY 使用部门
执行该语句后,第一条记录的“总金额”字段值是
A)196000.00 B)143000.00 C)294000.00 D)17200.00
【参考答案】 A
二、填空题
1.某二叉树中度为2的结点有18个,则该二叉树中有【1】个叶子结点。
【参考答案】
【1】19
2.在面向对象方法中,类的实例称为【2】。
【参考答案】
【2】对象
3.诊断和改正程序中错误的工作通常称为【3】。
【参考答案】
【3】程序调试
4.在关系数据库中,把数据表示成二维表,每一个二维表称为【4】。
【参考答案】
【4】关系
5.问题处理方案的正确而完整的描述称为【5】。
【参考答案】
【5】算法
6.在奥运会游泳比赛中,一个游泳运动员可以参加多项比赛,一个游泳比赛项目可以有多个运动员参加,游泳运动员与游泳比赛项目两个实体之间的联系是【6】联系。
【参考答案】
【6】多对多
7.执行命令A=2005/4/2之后,内存变量A的数据类型是【7】型。
【参考答案】
【7】数值
8.如下程序显示的结果是【8】。
s=1
i=0
do while i<8
s=s+i
i=i+2
enddo
?s
【参考答案】
【8】13
9.在Visual FoxPro中,可以在表设计器中为字段设置默认值的表是【9】表。
【参考答案】
【9】数据库表
10.Visual FoxPro中数据库文件的扩展名(后缀)是【10】。
【参考答案】
【10】DBC
11-13题使用如下三个数据库表:
金牌榜.DBF 国家代码 C(3),金牌数 I,银牌数 I,铜牌数 I
获奖牌情况.DBF 国家代码 C(3),运动员名称 C(20),项目名称 C(3),名次 I
国家.DBF 国家代码 C(3),国家名称 C(20)
"金牌榜"表中一个国家一条记录;"获奖牌情况"表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:
国家代码 运动员名称 项目名称 名次
001 刘翔 男子110米栏 1
001 李小鹏 男子双杠 3
002 菲尔普斯 游泳男子200米自由泳 3
002 菲尔普斯 游泳男子400米个人混合泳 1
001 郭晶晶 女子三米板跳板 1
001 李婷/孙甜甜 网球女子双打 1
11.为表"金牌榜"增加一个字段"奖牌总数",同时为该字段设置有效性规则:奖牌总数>=0,应使用SQL语句
ALTER TABLE 金牌榜【11】奖牌总数I【12】奖牌总数>=0
【参考答案】
【11】ADD 【12】CHECK
12.使用"获奖牌情况"和"国家"两个表查询"中国"所获金牌(名次为1)的数量,应使用SQL语句
SELECT COUNT(*) FROM 国家 INNER JOIN 获奖牌情况;
【13】国家.国家代码=获奖牌情况.国家代码;
WHERE 国家.国家名称="中国" AND 名次=1
【参考答案】
【13】ON
13.将金牌榜.DBF中的新增加的字段奖牌总数设置为金牌数、银牌数、铜牌数三项的和,应使用SQL语句【14】金牌榜【15】奖牌总数=金牌数+银牌数+铜牌数。
【参考答案】
【14】UPDATE 【15】SET
上机部分
1.基本操作题
在考生文件夹下,完成如下操作:
(1)创建一个新的项目“客户管理”。
(2)在新建的项目“客户管理”中创建数据库“订货管理”。
(3)在“订货管理”数据库中建立表order_list,表结构如下:
客户号 字符型(6)
订单号 字符型(6)
定购日期 日期型
总金额 浮动型(15,2)
(4)为order_list表创建一个主索引,索引名和索引表达式均是“订单号”。
【参考答案】
(1)具体步骤如下:
① 从“文件”菜单中选择“新建”命令,在弹出的“新建”对话框中选中“项目”单选按钮,单击“新建文件”按钮。
② 在弹出的“创建”对话框中将项目保存为“客户管理”,单击“保存”按钮。
(2)具体步骤如下:
① 打开项目管理器,单击“数据”选项卡,选择“数据库”选项,单击“新建”按钮,在弹出的“新建数据库”对话框中单击“新建数据库”按钮。
② 在弹出的“创建”对话框中将数据库保存为“订货管理”,单击“保存”按钮。
(3)具体步骤如下:
① 打开项目管理器,在“数据”选项卡中的“订货管理”数据库选项下选择“表”选项,单击“新建”按钮,在弹出的“新建表”对话框中单击“新建表”按钮。
② 在弹出的“创建”对话框中将表保存为order_list,单击“保存”按钮。
③ 系统打开“表设计器”对话框,按如图4-9所示输入字段内容。
(4)具体步骤如下:
① 打开“表设计器”对话框,选择“索引”选项卡。
2.简单应用题
在考生文件夹下完成如下简单应用:
(1)将order_list1表中的全部记录追加到order_list表中,然后用SQL SELECT语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到results表中(其中客户号、客户名取自customer表,订单号、总金额取自order_list表)。
(2)打开FORM1表单,并按如下要求进行修改(注意:最后保存所做的修改):
① 表单中有5个随机排列的命令按钮,不要移动或改变“基准按钮”的位置(否则影响成绩),使其他命令按钮与“基准按钮”左部对齐;
② 在这组命令按钮的右边添加一个表格控件,并将它的RecordSourceType属性设置为“表”,然后设置另一个相关属性,使在表格控件中显示customer表的记录。
【参考答案】
(1)在“命令”窗口中执行以下命令:
USE order_list1
COPY TO order_list
SELECT customer.客户号,客户名,订单号,总金额 FROM customer;
INNER JOIN order_list ON customer.客户号=order_list.客户号;
ORDER BY 总金额 DESC INTO TABLE results
(2)具体步骤如下:
① 打开表单文件FORM1。
② 选择“基准按钮”,再分别选择其他4个按钮,单击“布局”工具栏中的“左对齐”图标按钮。
③ 单击控件工具栏中的“表格”按钮,在表单的右边位置单击,添加一个表格,在“属性”窗口中更改RecordSourceType属性为“表”,更改RecordSource属性为customer。
④ 保存表单即可。
3.综合应用题
当order_detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:
(1)根据order_detail表中的记录重新计算order_list表的总金额字段的值。
(2)一条order_list记录可以对应几条order_detail记录。
(3)在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意,只能追加一次)。
(4)最后将order_list表中的记录按总金额降序排序存储到od_new表中(表结构与order_list表完全相同)。
(5)将程序保存为prog1.prg文件。
【参考答案】
实现此功能的程序如下:
set talk off
open database 订货管理
sele 1
use order_list
do while not eof()
ddh=订单号
sele 2
use order_detail
locate for 订单号=ddh
je=0
do while not eof()
je=je+单价*数量
cont
endd
sele 1
repl 总金额 with je
skip
endd