VFP程序设计练习题 下载本文

练习题一 Visual FoxPro基础

一、选择题

1.

关系数据库管理系统应能实现的专门关系运算包括__________。 A)显示、打印、制表 B)关联、更新、排序 C)选择、投影、连接 D)排序、索引、统计 2.

关系是指__________。

A)属性的集合 B)元组的集合 C)实例的集合 D)字段的集合 3.

如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是__________。 A)属性型 B)属性值 C)记录型 D)记录值 4.

关系数据库系统中所使用的数据结构是__________。 A)图 B)树 C)表格 D)二维表 5.

下列数据库技术的术语与关系模型的术语的对应关系中__________是正确的。 A)实例与关系 B)字段与元组 C)记录与属性 D)记录类型与关系模式 6.

下列关于数据库系统的叙述中,正确的是__________。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D)数据库系统避免了数据冗余 7.

关系数据模型__________。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C)只能表示实体间的m:n

D)可以表示实体间的上述三种联系 8.

在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称这个属性为__________。

A)关键字 B)主属性 C)数据项 D)主属性值

1

9. 从数据库的整体结构看,数据库系统采用的数据模型有__________。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D)链状模型、关系模型和层次模型

10. 数据库系统的构成为数据库、计算机硬件系统、用户和__________。

A)数据库管理系统 B)操作系统 C)数据集合 D)文件系统

11. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是

__________。

A)封装结构 B)层次结构 C)网状结构 D)二维表结构 12. DBAS指的是__________。

A)数据库系统 B)数据库管理系统 C)数据库服务系统 D)数据库应用系统 13. 数据库系统与文件系统的主要区别是__________。

A)文件系统简单,而数据库系统复杂

B)文件系统只能管理少量数据,而数据库系统则能管理大量数据 C)文件系统只能管理程序文件,而数据库系统则能管理各种类型的文件 D)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可解决这类问题 14. 在概念模型中,一个实体相对于关系数据库中一个关系中的一个__________。

A)列 B)属性 C)元组 D)关系 15. 数据库系统的应用核心是__________。

A)数据库 B)编译程序 C)操作系统 D)数据库管理系统 16. 一个关系是一张二维表。在VFP中,一个关系对应一个__________。

A)记录 B)字段 C)索引文件 D)数据表文件 17. 关系数据库管理系统所管理的关系是__________。

A)若干个DBC文件 B)一个DBF文件 C)一个DBC文件 D)若干个二维表 18. 项目管理器的文档(DOCS)选项卡可管理__________。

A)表单、数据库、视图 B)表单、报表、标签 C)自由表、报表、标签 D)表单、报表、视图

19. 设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则

2

部门与职员实体之间的联系类型是__________ A)m:n B)1:m C)m:k D)1:1

20. 文件的建立、打开、关闭和退出在FoxPro中可以利用__________菜单来实现。

A)编辑 B)窗口 C)运行 D)文件

二、填空题

1. 是数据库系统的核心。

2. 在E-R模型中,联系的连通词(方式)是指 。 3. 数据库系统不仅可以表示事物内部各数据项之间的联系,而且可以表示 之

间的联系。

4. 开发一个关系数据库应用系统,首先要建立 。它是由若干个 组成。 5. 在关系数据库的基本操作中,从表中取出满足条件元组的操作为 , 从两个

关系中选取属性间满足一定条件的元组的操作称为 。

6. 项目管理器的 选项卡用于显示和管理数据库、自由表和查询等。 7. 关系数据库是采用 作为数据的组织方式。

8. 用二维表数据来表示实体及实体之间联系的数据模型称为 。 9. 可以在项目管理器的 选项卡下建立命令文件。

3

练习题二 数据与数据运算

一、选择题

1.

Visual FoxPro内存变量的数据类型不包括__________。

A)数值型 B)货币型 C)备注型 D)逻辑型 2.

以下赋值语句正确的是__________。

A)store 2,3 to x,y B)store 2 to x,y C)x=y=6 D)x,y=6 3.

下列对内存变量的叙述,不正确的是__________。

A)内存变量是独立于数据库的变量 B)内存变量的形式只有标量 C)内存变量用赋值语句定义 D)内存变量有N,C,L,D,S类型 4.

已知字符串M=\。那么连接运算M-N的运算结果为__________。 A)“12 34 56 78” B)“12 34 56 78” C)“1234 56 78” D)“123456 78” 5.

设有一字段变量“姓名”,目前值为“杨一柳”,又有一内存变量“姓名”,其值为“张一舟”,则命令?姓名的值应为__________。

A)“杨一柳” B)“张一舟” C)杨一柳 D)张一舟 6.

执行命令

STORE '100' TO Sum1 ? TYPE('Sum1') 其结果为__________。

A)D B)C C)L D)N 7.

连续执行以下命令之后,最后一条命令的输出结果是__________。 SET EXACT OFF X=\

?IF(\

A)A BCD B)ABCD C)BCD D)A

4

8. 顺序执行下列命令后,最后一条命令显示的结果是__________。 use CHJ Go 5 Skip -2 ?Recno()

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

9. 在下列各式中,运算结果为数值的是__________。 A)CTOD('04/05/99')-28 B)'123'+'5678' C)120+30=150 D)LEN('ABCD')-1

10. EOF()是测试函数,当正使用的数据表文件的记录指针已达到尾部,其函数值为

__________。

A)1 B)0 C).T. D).F.

11. 设当前数据库有10条记录,在下列三种情况下:当前记录号为1时,当EOF()和BOF()

为真时,命令?RECN()的结果分别是__________。 A)1,10,1 B)1,11,1 C)1,0,11 D)1,11,0 12. 若想从字符串'昆明市'中取出汉字'明',应用函数__________。

A)SUBSTR(\昆明市\)SUBSTR(\昆明市\C)SUBSTR(\昆明市\)SUBSTR(\昆明市\13. 下列常量中为合法的数值型常量的是__________。

A)156 B)156+E8 C)“128.58” D)156*100 14. 关于\和\,下列说法中错误的是__________。

A)?从当前光标所在行的下一行第0列开始显示 B)?和??只能输出多个同类型的表达式的值 C)?和??后可以没有表达式 D)??从当前光标处开始显示

15. ROUND(5452.21,1)返回值是__________。

A)5452.2 B)5452.20 C)5452.21 D)5452.211 16. 执行以下命令:

AA=\

5

? SUBSTR(AA,LEN(AA)/2-2,4) 输出的结果是__________。

A)CDEF B)BCDE C)ABCD D)DEFG 17. 当前记录号可用函数__________求得。

A)RECC() B)RECN() C)EOF() D)BOF()

18. 设一个数据库中有15条记录,当EOF()返回真时,当前记录号应为__________。

A)0 B)1 C)15 D)16 19. 下面字符串中非法字符串为__________。

A)'The string' B)\)'The 'string'.' D)\20. 数据表中有20个记录,如果当前记录为第20条记录,把记录指针移到第一个记录,测

试当前记录号函数RECNO()的值是__________。 A)0 B)1 C)19 D)20

21. 执行S=CTOD(\命令后,变量S的数据类型是__________。

A)数值型 B)字符型 C)日期型 D)逻辑型 22. \的结果是__________。

A)使A,B,C,D四个变量的值都为1 B)只使A的值为1,其他变量的值为0 C)只使A的值为.F.,其他变量的值为1 D)只使A的值为1,其他变量的值为.F.

23. 设有变量Pi=3.1415926,执行命令?ROUND(Pi,2)的显示结果为__________。

A)3.1 B)3.14 C)3.141 D)3.142 24. 逻辑型数据的取值不能是__________。

A)T或F B).F.或.T. C).Y. 或.N. D).T. 或.F. 或.Y. 或.N. 25. 在“职工档案”表文件中,婚否是L型字段,性别是C型字段,若检索“已婚的女同志”,

应该用__________逻辑表达式。

A)(婚否=.T.).AND.(性别='女') B)婚否.OR.(性别='女') C)婚否.AND.(性别<>'女') D)已婚.AND.(性别='女')

26. 设字段变量“专业”是字符型的,“成绩”是数值型的,能够表达\专业是中文且成绩

不大于90分\的表达式是__________。

6

A)专业=\中文\成绩<=90 B)专业=\中文\成绩>90 C)专业=中文.AND.成绩<=90 D)专业=\中文\成绩>90

27. 在命令窗口中,显示当前数据库中所有30岁(含30岁)以下,职称为“教授”、“副教

授”的姓名和工资,应使用命令__________。

A)LIST FIEL 姓名,工资 FOR 年龄<=30 AND 职称=\教授\职称=\副教授\B)LIST FIEL 姓名,工资 FOR 年龄<=30 OR 职称=\教授\职称=\副教授\C)LIST FIEL 姓名,工资 FOR 年龄<=30 AND (职称=\教授\职称=\副教授\D)LIST FIEL 姓名,工资 FOR 年龄<=30 OR (职称=\教授\职称=\副教授\28. STR(100.21,5,1)的值是__________。

A)100.2 B)100.21 C)100.215 D)100.2151 29. 下面__________是合法的变量名。

A)AC--1 B)X XZ C)STRDENT.CLASS D)Ac-1 30. 函数INT(数值表达式)的功能是__________。

A)返回数值表达式值的整数部分 B)按四舍五入取数值表达式值的整数部分 C)返回不大于数值表达式的最大整数 D)返回不小于数值表达式的最小整数 31. 顺序执行下列命令后,屏幕最后显示的结果是__________。

A=\A=A+\? A

A).T. B).F. C)错误提示 D)ABC.BDF 32. 下列数据中,不是常量的是__________。

A)\年龄\)NAEM C)\).T. 33. 以下数据__________不是字符型数据。

A)\)\)04/05/07 D) \34. 使用命令DECLARE MM(2,3)定义的数组,包含的数组元素(下标变量)的个数为

__________。

A)2个 B)3个 C)5个 D)6个

35. 如果在一个运算表达式中,若逻辑运算、关系运算和算术运算混合在一起,其中包括括

号,它们的运算顺序是__________。

7

A)括号、逻辑、关系、算术 B)括号、逻辑、算术、关系 C)括号、算术、关系、逻辑 D)关系、逻辑、算术、括号

36. 表T1中有20条记录,在VFP命令窗口中执行以下命令序列后,最后显示的结果是

__________。 USE T1 SKIP 3 COUNT TO N ? N

A)20 B)4 C)3 D)0 37. 执行X=VAL(\后,变量的类型是__________。

A)数值型 B)日期型 C)字符型 D)逻辑型

38. 已知X=\,Y=\,LEN(X)的值为13,则LEN(LTRIM (X-Y))

的结果是__________。

A)0 B)2 C)22 D)24

39. 在VFP中,通用型字段G和备注型字段M在表中的宽度都是__________个字节。

A)10 B)8 C)4 D)2 40. 如下程序的输出结果是__________。

S1=\中国昆明\S2=\昆明\? S1$S2

A).F. B).T. C)0 D)4

二、填空题

1. 二维表中的列称为关系的 ,二维表中的行称为关系的 。 2. 两个日期型数据可进行减法运算,结果为 数据,日期型数据可加或减一个数

值数据,结果为 数据。

3. 工资关系中有工资号、姓名、职务工资、津贴、公积金、所得税等字段,其中可以作为

关键字的字段是 。

8

4. 函数IIF(LEN(SPACE(3))>2,1,-1)的值是 。 5. 命令?TYPE(\的输出结果是 。 6. 选项卡为数据提供了一个组织良好的 视图。

7. 在Visual FoxPro中说明数组后,数组的每个元素在未赋值之前的默认值是 。 8. 表达式STUFF(\的运算结果是 。 L

9

练习题三 表与数据库

一、选择题

1. 不影响关系模型中二维表构成关系的是______。

A)表中是否有重复的字段名 B)表中是否有相同的记录

C)表中同一列中的数据类型是否相同 D)表中行或列的先后次序

2. 关系数据库管理系统所管理的关系是______。

A)一个DBF文件 C)一个DBC文件

B)若干个二维表 D)若干DBC文件

3. 可以惟一确定存储在表中的每一个记录的标识称作表的______。

A)主关键字 C)索引关键字

4. 表字段变量的属性不包括______。

A)字段个数

B)字段宽度

C)字段名

D)是否允许为空

B)外部关键字 D)记录关键字

5. 在Visual FoxPro中字段的数据类型不可以指定为______。

A)日期型

B)时间型

C)通用型

D)备注型

6. 逻辑型/通用型/日期型字段的宽度由系统自动给出,分别为__________。

A)1/4/8

B)4/4/10

C)1/10/8

D)2/8/8

7. 表STUDENT中的通用型字段中的数据均存储到______文件中。

A)STUDENT.DOC C)STUDENT.DBT

B)STUDENT.MEM D)STUDENT.FPT

8. 表STUDENT中的备注型字段中的数据均存储到__________备注文件中。

A)STUDENT.FPT C)STUDENT.BAT

9. 可以使用______命令创建一个新表。

10

B)STUDENT.TXT D)STUDENT.DBT

A)CREATE FORM B)CREATE C)CREATE DATABASE D)CREATE FILE

10. 可以使用______命令来关闭表。

A)USE

B)EXIT

C)QUIT D)CLOSE

11. 关于自由表的叙述正确的是__________。

A)自由表和数据库表是完全相同的 B)自由表不属于任一数据库 C)自由表不可以加入到数据库中 D)自由表不能建立索引 12. 修改表结构在______窗口进行。

A)表向导

B)表设计器

C)表浏览器

D)表编辑器

13. 在浏览窗口查看表记录时,选择“显示”菜单中的______即可输入记录。

A)输入记录 B)插入记录

C)追加方式 D)“浏览”

14. 所有可选项缺省时,表记录输出命令LIST和DISPLAY的区别是__________。

A)LIST显示全部记录,DISPLAY显示当前一条记录 B)DISPLAY显示全部记录,LIST显示当前一条记录 C)LIST和DISPLAY都只显示当前一条记录 D)LIST和DISPLAY都显示全部记录

15. 将当前表中所有职工的工龄增加1年的命令是__________。

A) REPLACE 工龄 WITH 工龄+1 B) CHANGE 工龄 WITH 工龄+1 C) CHANGE ALL工龄 WITH 工龄+1 D) REPLACE ALL工龄 WITH 工龄+1

16. 使用LOCATE命令后,__________命令将记录指针指向下一个符合条件的记录。A)SKIP

B)CONTINUE C)NEXT

D)GO TO NEXT

17. 定位记录指针的命令是__________。

A)USE

B)SELECT

C)GO

D)LIST

18. 表中相对移动记录指针和绝对移动记录指针的命令分别为__________。

A) LOCATE和FIND

B)LOCATE和SKIP

11

C) LOCATE和GO D)SKIP和GO

19. 为了确保指针定位在物理记录号为1的记录上,应该使用的命令是__________。

A)GO 1

B)GO TOP

C)SKIP 1

D)GO TO 1

20. 当记录指针指向第5号记录时,执行“REPLACE REST工资 WITH 工资+100\命令后,

记录指针指向__________。 A)末记录

B)第6号记录

C)文件头

D)文件尾

21. 对数据表中暂时不使用的记录可以进行__________。

A)物理删除

B)逻辑删除

C)不加处理

D)数据过滤器

22. 要从某表文件中真正删除一条记录,应当__________。

A)直接用PACK命令 C)直接用ZAP命令

23. ZAP命令的功能是__________。

A)删除数据库文件 C)删除做过删除标记的记录 24. 可以同时使用__________个工作区。

A)10

B)225

C)32767

D)无限制

B)删除表文件

D)删除已打开的表文件中的所有记录 B)先用DELETE命令,再用PACK命令 D)先用DELETE命令,再用ZAP命令

25. 选择工作区所使用的命令为__________。

A)USE

B)OPEN

C)SELECT

D)CREATE

26. 执行SELECT 0选择工作区的结果是__________。

A)选择了0号工作区 C)显示出错信息

B)选择了一个空闲的工作区 D)选择了空闲的最小号工作区

27. 关闭多区的表文件,并释放所有的内存变量,命令为__________。

A)CLEAR ALL或 CLOSE ALL C)CLEAR ALL或 CLOSE

28. 创建数据库文件的命令是 。

A)CREATE

B)CREATE FILE D)CREATE DATABASE B)CLEAR 或 CLOSE ALL D)CLEAR 或 CLOSE

C)CREATE TABLE

29. 当已经打开某个数据库文件时,下列__________描述是正确的。

A)可以创建自由表,不可以创建数据库表

12

B)不能创建自由表,可以创建数据库表 C)既可以创建自由表,也可以创建数据库表 D)不能创建自由表,也不能创建数据库表 30. 下面有关索引的描述正确的是__________。

A)建立索引后,原来的数据库表文件中记录的物理顺序将被改变 B)创建索引是创建一个指向数据库表文件记录的指针构成的文件 C)索引与数据库表的数据存储在一个文件中 D)使用索引并不能加快对表的查询操作 31. 相当于主关键字的索引是______。

A)主索引

B)普通索引

C)惟一索引

D)排序索引

32. 在Visual FoxPro中,建立索引的作用之一是______。

A)避免数据错误 B)减少数据冗余 C)建立永久联系

D)建立临时联系

33. 不可以作为索引的字段是______字段。

A)货币型

B)逻辑型

C)日期时间型

D)备注型

34. 可以随着表文件的打开/关闭而自动打开/关闭______文件。

A)单一索引

B)复合索引

C)结构复合索引

D)非结构复合索引35. 可以随着表文件中记录的修改而自动修改______文件。

A)单一索引

B)复合索引

C)结构复合索引

D)非结构复合索引36. 在一对多联系中,位于一方的表称为______。

A)父表

B)子表

C)相关表

D)纽带表

37. 在一对多联系中,位于多方的表称为______。

A)父表

B)主表

C)子表

D)纽带表

38. 在数据库中建立表间的永久联系时,父表中的索引一定是______索引。

A)主索引

B)候选索引 C)惟一索引

D)普通索引

39. 为了建立一对多联系,应在父表中建立______索引

A)父索引

B)主索引

C)惟一索引

D)普通索引

40. 为了建立一对多联系,应在子表中建立______索引。

A)主索引

B)候选索引 C)惟一索引 D)普通索引

13

41. 下列各按钮中,__________是数据工作期窗口中没有的。

A) 属性

B) 打开

C) 修改

D) 关系

42. 将年龄字段值限制在18~30岁之间属于__________。

A)参照完整性

B)实体完整性

C)域完整性

D)字段完整性

43. 触发器控制对表中已存在记录的非法操作。Visual FoxPro中的触发器不包括_________。

A)有效触发器

B)更新触发器

C)插入触发器

D)删除触发器

44. 不可以在“表设计器”中设置______。

A)字段有效性

B)记录有效性

C)触发器

D)参照完整性

45. 只能在______之间设置参照完整性。

A)自由表与自由表 C)同一数据库中的数据库表

B)自由表与数据库表 D)不同数据库中的数据库表

46. 参照完整性规则的类型有__________。

A)更新规则、删除规则、恢复规则 B)循环规则、输入规则、插入规则 C)更新规则、删除规则、插入规则 D)查询规则、删除规则、排序规则

47. 如果指定参照完整性的删除规则为“级联”,则当删除父表中的记录时 。

A)系统自动备份父表中被删除记录到一个新表中 B)若子表中有相关记录,则禁止删除父表中记录 C)会自动删除子表中所有相关记录

D)不作参照完整性检查,删除父表记录与子表无关

48. 如果指定参照完整性的删除规则为“限制”,则当删除父表中的记录时 。

A)系统自动备份父表中被删除记录到一个新表中 B)若子表中有相关记录,则禁止删除父表中记录 C)会自动删除子表中所有相关记录

D)不作参照完整性检查,删除父表记录与子表无关

49. 如果指定参照完整性的删除规则为“忽略”,则当删除父表中的记录时______。

A)系统自动备份父表中被删除记录到一个新表中 B)若子表中有相关记录,则禁止删除父表中记录

14

C)会自动删除子表中所有相关记录

D)不作参照完整性检查,删除父表记录与子表无关

50. 参照完整性设置为:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关

子表记录中的对应值,此时应选择__________方式。 A)级联

B)限制

C)忽略

D)级联或限制

二、判断题

1. 索引可以在表设计器中建立,所以索引存储在表文件(.dbf 文件)中。 2. 在相关联的数据表间,父表中的记录在对应的子表中都必须有子记录存在。 3. 可以通过在浏览窗口中改变列宽的方式来改变表中字段的长度。 4. ZAP命令删除表中的所有记录。

5. 数据库文件中存储了数据库表中的记录的内容。

6. 向表中成批地追加记录时,其内容来源可以是EXCEL表、LOTUS表、TEXT文件等不

同类型的文件。

7. 可以使用“恢复记录”命令恢复从磁盘上彻底删除的记录。

8. 在“命令”窗口中输入“ZAP”命令可为表中的所有记录加上删除记号。

9. 若有多个记录符合定位的条件,使用“定位”命令可以同时查出满足条件的所有记录。 10. 在VFP中打开一个新的数据库时,其他已打开的数据库将自动关闭。 11. 数据库中的数据表可以同时属于若干个数据库。

12. 所谓“一对多”联系,是指一个父表与多个子表建立联系。

三、填空题

1. 备注型和通用型字段的宽度为_____ ,日期型和日期时间型字段的宽度为 __ ___ ,

逻辑型字段的宽度为 _____ ,货币型字段的宽度为 _____,整型字段的宽度为 _____ ,双精度型字段的宽度为 _______ 。

2. 在Visual FoxPro中,最多同时允许打开 个数据库表和自由表。

3. 删除记录的操作通常分为两步:先给要删除记录作 ,然后再从磁盘上对其

进行 。

15

4. Visual FoxPro支持两类索引文件,即 和 。

5. 可以在SELECT命令中使用别名或使用 选择工作区,选定的工作区称

为 。

6. 字段名以字母或汉字开头,由字母、汉字、数字、下划线等组成,其长度不超过 个

字符。

7. 在SORT命令中,记录按关键字值 序排序时使用ASCENDING参数, 序排

序时使用参数DESCENDING, 参数可以缺省。

8. 在Visual FoxPro中,参照完整性规则包括 规则、 规则和 规则。 9. 表的有效性规则包括 和 。

10. 结构复合索引文件的主名与 相同,它随表的打开而打开,在增删记录时会自

动维护,因而使用最方便。

11. 在Visual FoxPro中数据库文件的扩展名是 ,数据库表文件的扩展名是 。

12. 选择一个没有使用的、编号最小的工作区的命令是 。

16

练习题四 查询和视图

一、选择题

1. 视图不能单独存在,它必须依赖于__________。

A)数据库 B)数据表 C)视图 D)查询 2. 下列说法中,错误的是__________。

A) 在数据库中,可以包含表、视图、查询以及表间永久关系 B) 可以通过修改视图中数据来更新数据源中数据,但查询不可以 C) 查询和视图都是用select-SQL语言实现的,都要以数据表作为数据源 D) 视图虽然具备了一般数据表的特征,但它本身并不是表 3. 下面关于查询描述正确的是__________。

A) 可以使用CREATE VIEW打开查询设计器 B) 使用查询设计器可以生成所有的SQL查询语句 C) 使用DO语句执行查询时,可以不带扩展名

D) 使用查询设计器生成的SQL语句存盘后将存放在扩展名为QPR的文件中 4. 查询设计器中包含的选项卡有__________。

A) 字段,筛选,排序依据 B) 字段,条件,分组依据 C) 条件,排序依据,分组依据 D) 条件,筛选,杂项 5. 下面有关对视图的描述正确的是__________。

A) 使用SQL对视图进行查询时必须事先打开该视图所在的数据库 B) 可以使用MODIFY STRUCTURE命令修改视图的结构 C) 视图不能删除,否则影响原来的数据文件 D) 视图是对表的复制产生的

6. 修改本地视图使用的命令是__________。

A) CREATE SQL VIEW B) MODIFY VIEW C) RENAME VIEW D) DELETE VIEW 7. 在Visual FoxPro中,关于视图的正确叙述是____________

A)视图与数据库表相同,用来存储数据

17

B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作

D)视图是从一个或多个数据库表中导出的虚拟表 8. 在Visual FoxPro中以下叙述正确的是__________。

A)利用视图可以修改数据 B)利用查询可以修改数据 C)查询和视图具有相同的作用 D)视图可以定义输出去向 9. 下列关于查询的说法中,不正确的是

A)查询是预先定义好的一个SQL SELECT语句 B)查询是Visual FoxPro支持的一种数据库对象 C)通过查询设计器,可完成任何查询

D)查询是从指定的表或视图中提取满足条件的记录,可将结果定向输出 10. 下列关于视图的说法中,不正确的是 。

A)在Visual FoxPro中,视图是一个定制的虚拟表 B)视图可以是本地的、远程的,但不可以带参数 C)视图可以引用一个或多个表 D)视图可以引用其他视图

18

练习题五 关系数据库标准语言SQL

一、选择题

1. 预处理方式是__________的实现方式。

A)所有SQL B)嵌入式SQL C)交互式SQL D)高级语言 2. 下列__________语言被作为关系数据库的标准语言。

A)SQL B)ISBL C)QBF D)QUEL

3. SQL语言的数据库操作语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,

也是使用最频繁的语句是__________。

A)INSERT B)SELECT C)DELETE D)UPDATE 4. SQL语句中修改表结构的命令是__________。

A)MODIFY TABLE B)ALTER TABLE C)MODIFY STRUCTURE D)ALTER STRUCTURE 5. SQL语句是一种__________标准语言,具有理论基础扎实、形式简洁、功能丰富等诸多

优点。

A)关系数据库 B)高级算法 C)人工智能 D)函数型 6. SQL语言是__________。

A)高级语言 B)宿主语言 C)第三代语言 D)结构化查询语言 7. SQL语言是__________语言。

A)非数据库 B)网络数据库 C)层次数据库 D)关系数据库

8. SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也

是使用最频繁的语句是__________。

A)INSERT B)SELECT C)DELETE D)UPDATE 9. SQL是哪几个英文单词的缩写__________

A)Standard Query Language B)Structured Query Language C)Select Query Language D)以上都不是 第(10)~(14)题使用如下表的数据:

部门表:

19

部门号 部门名称

40 家用电器部 10 20 30

电视录摄像机部 电话手机部 计算机部

商品表:

部门号 商品号 商品名称 40 40 40 20 40 20 20 40 30 30

0101 0104 0105 1032 0107 0110 0112 0202 1041 0204

单价 数量

产地 广东 广东 广东 上海 北京 广东 广东 广东 广东 上海

A牌电风扇 200.00 10 A牌微波炉 350. 00 10 B牌微波炉 600. 00 10 C牌传真机 1000.00 20 D牌微波炉 420.00 10 A牌电话机 200.00 50 B牌手机 2000.00 10 A牌电冰箱 3000.00

2

B牌计算机 6000.00 10 C牌计算机10000.00 10

10. SQL语句:

SELECT部门号,MAX( 单价*数量)FROM商品表GROUP BY 部门号 查询结果有几条记录? __________。 A)1 11. SQL语句:

SELECT 产地,COUNT(*) 提供的商品种类数; FROM 商品表; WHERE 单价>200;

GROUP BY 产地 HAVING COUNT(*)>=2; ORDER BY 2 DESC

查询结果的第一条记录的产地和提供的商品种类数是__________。 A)北京,1

20

B)4 C)3 D)10

B)上海,2 C)广东,5 D)广东,7

12. SQL 语句:

SELECT 部门表.部门号 ,部门名称,SUM(单价*数量); FROM 部门表,商品表 ;

WHERE 部门表.部门号=商品表.部门号; GROUP BY 部门表.部门 查询结果是__________。 A)各部门商品数量合计 C)所有商品金额合计 13. SQL 语句:

SELECT 部门表.部门号 ,部门名称,商品号,商品名称 ,单价; FROM 部门表,商品表;、

WHERE 部门表.部门号=商品表.部门号; ORDER BY 部门表.部门号 DESC,单价

查询结果的第一条记录的商品号是 __________。 A)0101 14. SQL 语句:

SELECT 部门名称 FROM 部门表 WHER E 部门号 IN;

(SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000) 查询结果是 __________。 A)家用电器部、电话手机部

B)家用电器部、计算机部

B)0202

C)0110

D)0112

B) 各部门商品金额合计 D) 各部门商品金额平均值

C)电话手机部、电视录摄像机部 D)家用电器部、电视录摄像机部

15. 在SQL语句中,与表达式\工资BETWEEN 1210 AND 1240\功能相同的表达式是__________。

A)工资>=1210 AND 工资<=1240 B)工资>1210 AND 工资<=1240 C) 工资>1210 AND 工资<1240 D)工资>=1210 OR 工资<=1240

16. “图书”表中有字符型字段“图书号”,要求用SQL-DELETE命令将图书号以字母A

开头的图书记录全部打上删除标记,正确的命令是__________。 A)DELETE FROM 图书 FOR 图书号 LIKE “A%”

21

B)DELETE FROM 图书 WHILE 图书号 LIKE “A%” C)DELETE FROM 图书 WHERE 图书号=“A*” D)DELETE FROM 图书 WHERE 图书号LIKE “A%”

17. 设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,如下SQL语句检索选修的每门课程

的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是__________。 A)SELECT学号,姓名,性别FROM s WHERE EXISTS

(SELECT* FROM SC WHERE SC.学号=s.学号AND成绩<=85) B)SELECT学号,姓名,性别FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.学号=s.学号AND成绩<=85) C)SELECT学号,姓名,性别FROM S WHERE EXISTS

(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩>85) D)SELECT学号,姓名,性别FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.学号=S.学号AND成绩<85)

18. 从“订单”表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL语句

是__________。

A)DROP FROM 订单WHERE签订日期<={^2004-l-10} B)DROP FROM 订单 FOR 签订日期<={^2004-l-lO} C)DELETE FROM 订单 WHERE 签订日期<={^2004-1-10} D)DELETE FROM 订单 FOR 签订日期<={^2004-l-10) 19. Visual FoxPro在SQL方面,不提供的功能是__________。

A)数据查询 B)数据定义 C)数据操纵 D)数据控制

20. 检索职工表中工资大于800元的职工号,正确的命令是__________。

A)SELECT 职工号 WHERE 工资>800 B)SELECT 职工号 FROM 职工 SET 工资>800 C)SELECT 职工号 FROM 职工 WHERE 工资>800 D)SELECT 职工号 FROM 职工 FOR 工资>800

21. 语句“DELETE FROM 成绩表WHERE 计算机<60”的功能是__________。

A) 物理删除成绩表中计算机成绩在60分以下的学生记录

22

B) 物理删除成绩表中计算机成绩在60分以上的学生记录 C) 逻辑删除成绩表中计算机成绩在60分以下的学生记录

D) 将计算机成绩低于60分的字段值删除,但保留记录中其他字段值 第(22)~(24)题使用如下的仓库表和职工表。 仓库表 仓库号 A1 A2 A3 A4

所在城市 北京 上海 天津 广州

工资 2000.00 2500.00 1800.00 1500.00 1200.00

职工表

职工号 仓库号 M1 M3 M4 M5 M6

A1 A3 A4 A2 A4

22. 有如下SQL语句:

SELECT SUM(工资) FROM 职工表 WHERE 仓库号 IN;

(SELECT 仓库号 FROM 仓库表 WHERE 所在城市=\北京\所在城市=\广洲\执行语句后,工资总和是__________。

A)1500.00 B)3000.00 C)5000.00 D)10500.00 23. 求至少有两个职工的每个仓库的平均工资的正确SQL语句是__________。

A)SELECT 仓库号,COUNT(*),AVG(工资) FROM 职工表; HAVING COUNT(*)>=2

B)SELECT 仓库号,COUNT(*),AVG(工资) FROM 职工表; GROUP BY 仓库号 HAVING COUNT(*)>=2

C)SELECT 仓库号,COUNT(*),AVG(工资) FROM 职工表; GROUP BY 仓库号 SET COUNT(*)>=2

23

D)SELECT 仓库号,COUNT(*),AVG(工资)FROM 职工表; GROUP BY 仓库号 WHERE COUNT(*)>=2

24. 有如下SQL语句:

SELECT DISTINCT 仓库号 FROM 职工表 WHERE 工资>=ALL; (SELECT 工资 FROM 职工表 WHERE 仓库号=\执行语句后,显示查询到的仓库号有__________。

A)A1 B)A3 C)A1,A2 D)A1,A3 第(25)~(27)题使用如下的设备表。 设备型号 W27-1 W27-2 C31-1 C31-2 M20-1 J18-1 F15-1

设备名称 微机 微机 车床 车床 磨床 轿车

使用日期 01/10/03 02/06/03 03/30/03 04/05/03 02/10/03 05/07/03 02/01/03

设备数量 1 2 2 2 3 2 2

单价 使用部门

进口 T F T T F T F

143000.00 生产一间 98000.00 生产一间 138000.00 生产二间 97500.00 生产二间 98000.00 生产二间 156000.00 办公室 8600.00 办公室

复印机

25. 从设备表中查询单价大于100000元的设备,并显示设备名称,正确的命令是__________。

A)SELECT单价>100000 FROM 设备表 FOR设备名称 B)SELECT 设备名称 FROM 设备表 FOR 单价>100000 C)SELECT单价>100000 FROM 设备表 WHERE 设备名称 D)SELECT 设备名称 FROM 设备表 WHERE 单价>100000

26. 为设备表增加一个“设备总金额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) 27. 有如下SQL语句:

SELECT 使用部门,SUM(单价*设备数量) AS 总金额 FROM 设备表; WHERE .NOT.(进口);

24

GROUP BY 使用部门

执行该语句后,第一条记录的“总金额”字段值是__________。

A)196000.00 B)143000.00 C)294000.00 D)17200.00

25

练习题六 程序设计基础

一、选择题

1. 简单分支结构语句是__________。

A)CASE?ENDCASE B)SCAN?ENDSCAN C)DO?ENDDO D)IF?ENDIF 2. 命令文件的扩展名是__________。

A).IDX B).FRM C).DBF D).PRG 3. 不属于VFP中循环结构的语句是__________。

A)IF?ENDIF B)SCAN?ENDSCAN C)DO?ENDDO D)FOR?ENDFOR 4. 有关SCAN循环结构,叙述正确的是__________。

A)SCAN循环结构中的LOOP语句,可将程序流程直接指向循环开始语句SCAN,首先判断EOF()函数的真假

B)在使用SCAN循环结构时,必须打开某一个数据库 C)SCAN循环结构的循环体中必须写有SKIP语句

D)SCAN循环结构,如果省略了子句和FOR条件子句,则直接退出循环 5. 在FOR...ENDFOR循环结构中,如省略步长则系统默认步长为__________。

A)0 B)-1 C)1 D)2 6. 有如下程序:

STORE 0 TO N,S DO WHILE.T. N=N+1 S=S+N IF N>=10 EXIT ENDIF ENDDO ?\

26

本程序的运行结果是__________。

A)S=55 B)S=50 C)S=5 D)S=0

7. 在Visual FoxPro中DO CASE?ENDCASE属于__________结构。

A)顺序 B)选择 C)模块 D)循环 8. 在DO WHILE?ENDDO循环结构中,LOOP命令的作用是__________。

A)退出过程,返回程序开始处

B)转移到DO WHILE语句行,开始下一个判断和循环

C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D)终止程序执行

9. 以下程序的运行结果为__________。

x=1.5 DO CASE CASE x>2 y=2 CASE x>1 y=1 ENDCASE RETURN

A)1 B)2 C)O D)语法错误

10. 在DO WHILE ? ENDDO循环结构中,EXIT命令的作用是__________。

A)退出过程,返回程序开始处

B)转移到DO WHILE语句行,开始下一个判断和循环

C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D)终止程序执行

11. 下列命令中,不能使程序跳出循环的是 。

A)LOOP B)EXIT C)QUIT

D)RETURN

12. 下列程序段有语法错误的行为第 行。

1 if b*b-4*a*c>0 2 s=sqrt(d)

27

3 else s=sqrt(-d) 4 endif

A)1 B)2 C)3 D)4 13. 循环结构中EXIT语句的功能是 。

A)放弃本次循环,重新执行该循环结构 B)放弃本次循环,进入下次循环 C)退出循环,执行循环结构的下一条语句 D)退出循环,结束程序的运行

二、填空题

1. 运行XY.PRG程序后,将在屏幕上显示如下乘法表:

1) 1 2) 2 4 3) 3 6 9 4) 4 8 12 16 5) 5 10 15 20 25 6) 6 12 18 24 30 36 7) 7 14 21 28 35 42 49 8) 8 16 24 32 40 48 56 64 9) 9 18 27 36 45 54 63 72 81 请对下面的程序填空: SET TALK OFF CLEAR FOR J=1 TO 9 ?STR(J,2)+')' FOR ?? ENDFOR

28

? ENDFOR RETURN

2. 下列程序用来计算长方形的面积,请将它写完整:

X=3 Y=5 S=0

DO WITH X,Y,S ?S

PROCEDURE AREA S1=X*Y RETURN

3. 阅读下列程序,并填写运行结果 。

CLEAR x=\

STORE \学习\ok=\努力\? &x+(y)

4. 写出程序执行结果 。

SET TALK OFF S=0 N=50

DO WHILE N>5 S=S+N N=N-10 ENDDO

? S

5. 写出程序执行结果 。

29

SET TALK OFF M=3

DO WHILE M<10 N=2

DO WHILE N<=M-1 IF INT(M/N)=M/N EXIT ENDIF IF N=M-1 ? M ENDIF N=N+1 ENDDO M=M+1 ENDDO

6. 给出以下程序的运行结果 。

SET TALK OFF X=0 Y=0

DO WHILE X<10 X=X+1

IF INT(X/2)=X/2 LOOP ELSE Y=Y+X ENDIF ENDDO ?\RETURN

30

练习题七 表单设计

一、选择题

1. 在Visual FoxPro 中,运行表单“学生.SCX”的命令是 。

A) DO 学生 B) RUN FORM 学生 C) DO FORM 学生 D) DO FROM 学生

2. 新创建的表单默认标题为Form1,为了修改表单的标题,应设置表单的 。

A) Name属性 C) Closable属性

B) Caption属性 D) AlwaysOnTop属性

3. 有关控件对象的Click事件的正确叙述是 。

A) 用鼠标双击对象时引发

B) 用鼠标右键双击对象时引发

C) 用鼠标右键单击对象时引发 D) 用鼠标单击对象时引发

4. 在Visual FoxPro中,为了将按钮的Click事件代码设置为表单从内存中释放(清除),

应使用的退出命令是 。 A) ThisForm.Refresh C) ThisForm.Hide

B) ThisForm.Delete

D) ThisForm.Release

5. 以下属于非容器类控件的是 。

A) Form C) Page

B) Label D) Container

6. 假定表单中包含有一个命令按钮,那么在运行表单时。下面有关事件引发次序的陈述中,

正确的是 。

A) 先命令按钮的Init事件,然后表单的Init事件,最后表单的Load事件 B) 先表单的Init事件,然后命令按钮的Init事件,最后表单的Load事件 C) 先表单的Load事件,然后表单的Init事件,最后命令按钮的Init事件 D) 先表单的Load事件,然后命令按钮的Init事件,最后表单的Init事件 7. 如果想用一幅图片来作为表单的背景,可以设置表单的 属性来实现。

31

A) Caption属性 B) Picture属性

C)Name属性 D) Fontsize属性

8. 在创建表单时,如果要同时添加多个同类型控件,可以选择“表单控件工具栏”上

的 ,就可同时添加多个控件。 A)“生成器锁定” C)“按钮锁定”

B)“数据环境”

D)“文本框生成器”

9. 设计表单时,如果要改变标签文本的字体,可使用属性窗口的 属性来设置。

A) Fontname

B) Fontsize

D) Fontcolor

C) Fontbold

10. 每一个表单都可以包含一个数据环境,设置数据环境可以在 中设置。

A)“数据环境设计器” B)“表单设计器” C)“数据环境生成器” D)“数据设计器” 11. 页框(PageFrame)能包容的对象是 。

A) 表单集(FormSet) C) 列(Column)

B) 标头(Header) D) 页面(Page)

12. 下列控件均为容器类的是 。

A) 表单、命令按钮组、命令按钮 C) 表格、列、文本框

B) 表单集、列、组合框

D) 页框、列、表格

13. 子类或对象具有延用父亲的属性、事件和方法的能力,称为类的 。

A) 继承性 C) 封闭性

B) 抽象性 D) 多态性

14. 以下都是VFP中的对象,其中不能直接加到表单中的对象是 。

A) Grid

B) Colum

C) CommandGroup D) Text

15. 如果要让一个文本框中显示的值不能更改,应该设置 属性为.F.。

A) ReadOnly C) Hidden

B) Enabled

D) Disabled

16. 能够将表单的Visible属性设置为.T.,并使表单成为活动对象的方法是 。

A) Hide

32

B) Show

C) Release D) SetFocus

17. 确定列表框内的某个条目是否被选定应使用的属性是 。

A) Value

B) ColumnCount C) ListCount D) Selected

18. 不可以作为文本框控件数据来源的是 。

A) 备注型字段 B) 内存变量 C) 字符型字段 D) 数值型字段 19. 下列关于“类”的描述,错误的是 。

A) 类只是实例对象的抽象

B) 一个类包括了相似的有关对象的特征和行为方法 C) 类并不实行任何行为操作,它仅仅表明该怎样做 D) 类可以按所定义的属性、事件和方法进行实际的行为操作 20. 以下属于容器类控件的是 。

A) Form B) Text C) CommandButton D) Label

二、判断题

1. Thisform.release 与Release Thisform这两条语句是等效的。 2. 在新建一个表单时,可以添加新的属性、方法和事件。 3. 事件代码也可以像方法一样被显示调用。

4. 使用语句Thisform.label1.value=time()可以在当前表单的LABEL1控件上显示

系统时间。

5. 在表单中为表格控件和列表框控件指定数据源的属性都是ControlSource。 6. 不可以在表单数据环境设计器中设置表之间永久关系。

7. 当表单运行时,数据环境中的表处于只读状态,只能显示不能修改。 8. 在将设计好的表单存盘时,系统生成扩展名分别是SCX和SPT的两个文件。 9. 单击表单的标题栏,会引发表单的CLICK事件。 10. 释放表单时,UNLOAD事件在DESTROY之后引发。

33

三、填空题

1. 表单中控件的属性,既可在属性对话框中设置,又可在 中设置。 2. 类是对象的集合,它包含了相似的有关对象的特征和行为方法,而 是类

的实例。

3. 在命令窗口中执行 命令,即可打开表单设计窗口。 4. 在表单中确定控件是否可见的属性是 。

5. 使用语句Thisform.Label1. = Time( ) 可以在当前窗体的Label1控

件上显示系统时间。

6. 在VFP中,运行当前文件夹下的表单“学生.SCX”的命令是 。

34

练习题八 报表与标签设计

一、选择题

1.在利用报表设计器创建报表时, 带区不是报表设计器默认的带区。

A)页标头 B)标题 C)细节 D)页注脚 2. 报表的数据源可以是数据库表、自由表和 。

A)其他报表 B)表单 C)视图 D)标签 3.在“报表设计器”中使用的控件是 。

A)数据源和布局 B)标签、域控件和列表框 C)标签、域控件和线条 D)标签、文本框和列表框 4. 在创建快速报表时,基本带区包括 。

A)标题、细节和总结 B)页标头、细节和页注脚 C)组标头、细节和组注脚 D)报表标题、细节和页注脚 5. 报表文件的扩展名是 。

A)FMT B)FPT C)FRX D)FRT

二、判断题

1. 报表包括三个基本部分:数据源、布局和控件。

2. 报表设计器不仅仅是按行列打印出数据源的内容,它还综合了统计、计算等功能。 3. 报表文件不保存数据源中每个数据字段的值,只保存它们的位置和格式信息。 4. 报表中可以对数据进行分组,而在视图或查询中则不行。 5. 报表可以同时引用多个表中的数据。

6. 每次运行报表时,如果报表文件所用的数据源的字段内容被修改过,则报表中打印出来的内容也会有相应的变化。

7. 在设计报表时,给控件添加的注释不打印到报表中,只作为控件的说明文字。 8. 利用“一对多报表向导”创建的一对多报表,把来自两个表中的数据分开显示,父表

35

中的数据显示在标题带区,而子表中的数据显示在细节带区。

9. 利用布局工具栏中的按钮可以对选定的控件进行居中、对齐等多种操作。 10.“图片/ ActiveX 绑定控件”按钮用于显示“通用型字段”和“图片”的内容。

36

练习题九 菜单设计

一、选择题

1. 不可以用“向导”创建。

A)表单 B)菜单 C)查询 D)报表

2. 在设计菜单时,在“菜单名称”栏中输入 ,可将菜单项分组。

A )\\-

B) \\<

C)\\<-

D) \\_<

3. 为菜单指定任务时,可以用 代码来运行表单。

A)DO FORM 表单名称 B)DO 表单名称 C)RUN 表单名称 D)RUN FORM 表单名称

4. 如果要为菜单项指定要执行的某个操作或任务,在“结果”框中则应该选择 。

A)子菜单 B)命令

C)填充名称/菜单项 D)过程

5. 要为表单设计下拉式菜单,则必需将表单的 属性设置为2,使其成为顶层表单要。

A)Caption 属性 B)ShowWindow 属性 C)Order 属性 D)Value 属性 6. 设计菜单要完成的最终操作是 。

A)创建主菜单及子菜单 B)指定各菜单任务 C)浏览菜单 D)生成菜单程序 7. 菜单文件的扩展名是 。

A)MEM B)MNX C)MPR D)MNT

二、填空题

1. 弹出式菜单可以分组,插入分字符组线的方法是在\菜单名称\项中输入 。 2. 用户设计菜单时,既可通过 实现,也可通过 来实现。

37