就业数据资源平台
当前位置:首页 > Visual Basic
2011年9月计算机等级二级VB冲刺试题及答案7

  笔试部分

  一、选择题


  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

就业数据资源平台