VFP习题集

更新时间:2023-03-08 09:22:54 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VFP习题集

班级

姓名

学号

目 录

第一章 数据库系统与VFP概述 ................................................................... 1 第二章 VFP语言基础 .................................................................................... 4 第三章 表的创建和使用 ............................................................................... 15 第四章 数据库的创建和使用 ....................................................................... 24 第五章 查询和视图 ....................................................................................... 28 第六章 对象模型和事件模型 ....................................................................... 37 第七章 表单 ................................................................................................... 39 第八章 控件 ................................................................................................... 42 第十一章 菜单 ............................................................................................... 47

第一章 数据库系统与VFP概述 一、选择题

1. 数据模型是在数据库领域中定义数据及其操作的一种抽象表示。用树形结构表示各类实体及其间的联系的数据模型称为_________模型。

A.层次 B.网状 C.面向对象 D.关系 2.扩展名为 pjx 的文件是 。

A.数据库表文件 B.表单文件 C.数据库文件 D.项目文件

3. 数据管理技术的发展可以划分为三个阶段,__________阶段主要依靠应用程序来管理数据。

A.人工管理 B.文件系统 C.数据库系统 D.没有一个 4. 以下对数据库的描述不正确的是 。

A.数据库通常包括两部分内容即数据和元数据 B.数据库的核心是数据模型

C.数据库中的数据具有教大的冗余度,较高的数据独立性和易扩展性 D.数据库技术与人工智能相结合出现了演绎数据库和知识库

5. 不同类型的文件有不同的默认扩展名。数据库文件、表文件以及查询文件的默认扩展名分别是____。 A..DBT、.FPT、.QPR B..DBT、.FPT、.QPX C..DBC、.MPR、.PRG D..DBC、.DBF、.QPR

6. 数据管理技术的发展可以划分为三个阶段,__________阶段具有较高的数据独立性。

A.人工管理 B.文件系统 C.数据库系统 D.没有一个 7. 以下有关关键字的说法不正确的是 。

A.超关键字由二维表中的一个列或几个列组成,能唯一确定纪录 B.候选关键字由二维表中的一个列组成,能唯一确定纪录 C.可以从二维表的候选关键字中选出一个作为主关键字

D.当一张二维表A的主关键字被包含到另一张二维表B里,则称它为B表的外部关键字 8. 主程序是一个应用系统运行时的起点,是应用系统执行时首先被执行的程序。在“项目管理器”窗口中,可以选择一个文件为主程序。下列各组文件类型中,所有文件类型均可以被设置为主程序的是____________。

A. 菜单、查询、表单和程序(.prg) B. 项目、菜单、查询和表单 C. 数据库、查询、表单和程序(.prg) D. 菜单、查询、表单和表

9. 概念模型是按用户的观点对数据建模,它是对现实世界的第一层抽象。下列各项中属于概念模型的是___________。

A.物理模型 B.关系模型 C.E-R模型 D.逻辑模型 10.目前三种基本的数据模型是 。

A.层次模型、网络模型、关系模型 B. 对象模型、网络模型、关系模型 C.网络模型、对象模型、层次模型 D. 层次模型、关系模型、对象模型 11.在命令窗口中,不能实现的操作是 。

A.复制已执行过的命令 B.重复执行已执行过的命令

C.同时执行多个命令 D.在命令窗口中显示命令执行结果

12.根据提供的数据独立性、数据共享性、数据完整性、数据存取方式等水平的高低,计算机数据管理技术的发展可以划分位三个阶段,其中不包括下列的 。 A.人工管理阶段 C.计算机管理阶段

B.文件管理阶段 D.数据库系统阶段 13.二维表的主关键字是从它的______中选出一个。 A.超关键字 B.候选关键字 C.外关键字 D.合成关键字

14.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间关系是 。 A.DBS包括DB和DBMS B.DBMS包括DB和DBS

第 1 页 共 50 页

C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS

15.关键字是关系模型中的重要概念。当一张二维表(A表)的主关键字被包含到另一张二维表(B表)中时,它就称为B表的_______。 A.主关键字 B.候选关键字 C.外部关键字 D.超关键字 16.一个数据库系统是由________和数据库组成。 A.应用程序、DBMS、支持数据库运行的软、硬件环境和DBA

B.应用程序、DBMS和DBA

C.DBMS、DBA、应用程序和支持数据库运行的软件环境 D.DBMS和DBA 17.“项目管理器”窗口中共分6个选项卡,用来分类显示各数据项。其中,数据库项目位于______选项卡中。

A.“数据” B.“文档” C.“代码” D.“其他”

18.数据模型是在数据库领域中定义数据及其操作的一种抽象表示。用二维表结构表示的实体及其间的联系的数据模型称为______模型。 A.层次 B.网状 C.关系 D.面向对象 19.在关系模型中,超关键字______。 A.可由任意的属性组成

B.只能由一个属性组成,其值能唯一识别该关系模式中的任一元组 C.可由一个或多个属性组成,其值能唯一识别该关系模式中的任一元组 D.以上都不对

20.DBMS的含义是 。

A.数据库系统 B.数据库管理系统 C.数据库管理员 D.数据库 21.从关系中指定若干个属性组成新的关系的运算称为 。

A.联接 B.投影 C.选择 D.排序 22.对于“关系”的描述,正确的是 。 A.同一个关系中允许有完全相同的两行 B.同一个关系中元组必须按关键字升序存放

C.在一个关系中必须将关键字作为该关系的第一个属性 D.同一个关系中不能出现相同的属性名 23.数据库系统的核心是 。

A.数据模型 B.数据库管理系统 C.数据库 D.数据库管理员 24.扩展名为mnx的文件是 。

A.备注文件 B.项目文件 C.表单文件 D.菜单文件 25.Visual FoxPro是一个 。

A.数据库系统 B.数据库管理系统 C.数据库 D.数据库管理员 26. 根据关系模型的有关理论,下列说法中不正确的是 。

A.二维表中的每一列均有唯一的字段名 B.二维表中不允许出现完全相同的两行 C.二维表中行的顺序、列的顺序均可以任意交换 D.二维表中行的顺序、列的顺序不可以任意交换 27.专门的关系运算不包括下列中的 。

A.联接运算 B.选择运算 C.投影运算 D.交运算 28.扩展名为SCX的文件是 。

A.备注文件 B.项目文件 C.表单文件 D.菜单文件

29.数据库技术与其他学科的技术内容相结合,出现可各种新型数据库。例如,数据库技术与人工智能相结合出现了 数据库。

A.多媒体 B.空间 C.智能 D.演绎

30.概念模型是按用户的观点对数据建模,它是对现实世界的第一层抽象。下列各项中属于概念模型的

第 2 页 共 50 页

是 。

A.物理模型 B.关系模型 C.E-R模型 D.逻辑模型 31.下列关于关键字的说法不正确的是 。

A.可以是一个或多个字段 B.它的值唯一区分每条记录 C.可以有很多个 D.不可以是所有字段 32.下列关于项目、数据库和表的描述中,错误的是 。

A.一个项目可以包含多个数据库 B.一个数据库可以包含在多个项目中 C.一个数据库可以包含多个表 D.一个表可以包含在多个数据库中

33.主程序是一个应用系统运行时的起点,是在运行应用系统时首先执行的程序。主程序可以是程序、表单或菜单等,一个项目中能指定 个主文件为主程序。

A.1 B. 2 C.3 D.4 34.项目(project)是VFP中各种文件组织的核心。在下列有关VFP项目的叙述中,错误的是 。

A. 项目的创建既可以利用菜单或工具栏,也可以利用VFP命令 B. 一个VFP窗口中,只能打开一个项目

C. 在VFP窗口中,项目管理器可以折叠成工具栏形式

D. “连编”操作是针对项目而言的,该操作位于“项目”菜单栏

35.创建并保存一个项目后,系统会在磁盘上生成两个文件,这两个文件的文件扩展名分别为 。

A..scx和.sct文件 B..mnx和.mnt文件 C..frx和.frt文件 D..pjx和.pjt文件 36.设有关系R1和R2,经过关系运算得到结果S,则S是 。 A.一个关系 B.一个表单 C.一个数据库 D.一个数组 37.对于二维表的关键字来讲,不一定存在的是 。

A. 主关键字 B. 候选关键字 C. 超关键字 D. 外部关键字

二、填空题

1. E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体集, 表示属性。 2. 在关系模型中设计关系模式时,一般要求满足__ ______NF。

3. 数据库系统的结构定义为三级模式结构:外部层、内部层和___ ______。 4.用二维表的形式来表示实体之间联系的数据模型叫做__ __。

5.在二维表中能够唯一确定记录的一列或多列的组合被称为超关键字。如果一个超关键字去掉其中任何一列后就不再能唯一确定记录了,则称其为 。 6.从数据模型看,VFP属于 型数据库。

7.E-R图是实体-联系模型的图形表示法,它是直接表示概念模型的有力工具。在E-R图中,用矩形表示实体, 表示联系,椭圆表示属性。

8.计算机数据管理技术的发展分为三个阶段:人工管理阶段、文件系统阶段以及数据库系统阶段,其中20世纪60年代以后出现的是 。

9.狭义上讲,数据库系统由数据库、 和有关软件组成。

10.数据库系统(DBS)是实现有组织地、动态地存储大量关联数据,方便用户访问的计算机 资源组成具有管理数据库功能计算机系统。

11.数据库中的数据按一定的数据模型组织、描述和存储、具有较小的 、较高的数据独立性和易扩展性,并可以供各种用户共享。

12.E-R图中,字母缩写E的中文含义为: 。 13.关系表的一列称为 。

14.可以在项目管理器的 选项卡下建立查询文件。

15. E-R图是E-R模型的图形表示法,它是表示概念数据模型的有力工具。在E-R模型中有3个基本的概念,即实体、联系和______,在E-R图中它们分别用矩形框、菱形框和椭圆形框来表示。

16.数据库中通常包含两方面数据,其中存放在数据字典中的各种描述信息通常称为 。

第 3 页 共 50 页

17. 在VFP中,关闭所有的文件,并结束当前VFP系统的运行的命令是 。

18.关系的基本运算有两类。一是传统的集合运算,包括并、差、交运算;二是专门的关系运算,包括:选择、 和联接。

19.数据模型是对现实世界客观事物的抽象描述,这种抽象描述应能确切反映事物、事物的特征和事物之间的联系。从形式上看,数据模型分成两个级别:概念模型和实施模型。其中实施模型侧重与数据库中数据的表达方式和数据库结构的实现方法,主要有层次数据模型、网络数据模型和 数据模型。 20.目前用户通常是在操作系统环境下(如在“我的电脑”或“资源管理器”窗口中)创建和删除文件夹。在VFP中,也可以使用MD命令和 命令来创建新文件夹和删除已建文件夹。

第二章 VFP语言基础一、选择题

1.在下面的表达式中,运算结果为逻辑真的是 。

A.EMPTY(.NULL.) B.LIKE(\ C.AT(\ D.EMPTY(SPACE(10)) 2.下列程序的功能是统计字符串中包含多少个中文字符,多少个英文字符(设字符串中的所有字符均为GB 2312字符集中的字符或ASCII码字符),从语法和语义上看。下列程序中存在 行错误语句。

cString=”在下列VFP的基类中,无Caption属性的基类是哪几个?” STORE 0 TO nCh, nEn DO WHILE (cString)#0

c=LEFT(cString,1) IF ASC(c)<127

nEn=nEn+1

cString=SUBSTR(cString,2) ELSE

nCh=nCh+1

cString=SUBSTR(cString,3) ENDIF ENDDO

WAIT WINDOWS”中西文字符个数分别为”+nCh+nEn

A.1 B.3 C.2 D.4 3.函数ROUND(1234.1962, 3)的返回结果为 。

A.1234.1960 B.1234.1900 C.1234.2000 D.1234.0000 4.在Visual FoxPro中,将只能在建立它的模块中使用的内存变量称为 。

A.局部变量 B.私有变量 C.全局变量 D.不确定 5.在Visual FxoPro系统中,以下函数返回值不是数值型的是 。

A.LEN(“Visual FxoPro”) B.AT(“This”,”ThisForm”) C.YEAR(DATE()) D.LEFT(”ThisForm”,4) 6.在下列有关VFP表达式中,语法上错误的是 。

A.DATETIME()+100 B.DATE()-100

C.DATETIME()-DATE() D.DTOC(DATE())-TTOC(DATETIME()) 7.下列关于.NULL.的叙述中错误的是 。

A.逻辑表达式.F. OR .NULL.的返回值为.F. B.空值排序时优先于其他数据

C.在计算过程中或大多数函数中都可以用到NULL值 D.等价于没有任何值

8.在程序中不需要用public等命令明确声明和建立,可直接使用的内存变量 。

A.局部变量 B.公共变量 C.私有变量 D.以上都不对 9.利用命令DIMENSION X(3,4)定义了一个名为X 的数组后,依次执行三条赋值命令X(3)=10、X(6)=20,则数组元素X(1,1)、X(1,3)、X(2,2)的值分别是 。

第 4 页 共 50 页

A.30、30、30 B..F.、10、20 C.30、10、20 D.0、10、20 10.函数INT(-3.14)的返回结果为 。

A.-3 B.3 C.0 D.1 11.在下列函数中,其返回值为字符型的是 。

A.AT( ) B.TYPE( ) C.VAL( ) D.DOW( ) 12.下列变量名称中不合法的是 。

A.X2 B._avergz C.x+y D.cVar 13.执行? VAL(“12+34”)命令的结果显示 。

A.12+34 B.12.00 C.46 D.0 14.执行如下命令序列后,最后一条命令的显示结果是 。

DIMENSION M(2,2) M(1,1)=10 M(1,2)=20 M(2,1)=30 M(2,2)=40 ? M(2)

A.变量未定义的提示 B.20 C.10 D..F.

15.下列表述中,能将日期“2004年10月16日”赋值给日期型变量D的正确语句是 。

A.D=10/16/2004 B.D=”10/16/2004” C.D=CTOD(”10/16/2004”) D.D=DATE(”10/16/2004”) 16.在DO WHILE(条件){语句组}ENDDO中,若条件设置为.T.,则下列说法中正确的是 。

A. 程序一定出现死循环 B.程序不会出现死循环

C. 在语句组中设置EXIT防止出现死循环 D.在语句组中设置LOOP防止出现死循环 17. 下列关于.NULL.的叙述中错误的是 。

A.排序优先于其他数据

B.与0、空字符串(“”)及空格相同

C.在计算过程中或大多数函数中都可以用到NULL值

D.NULL值会影响到命令、函数、逻辑表达式和参数的行为 18. 在下列VFP命令的叙述中,不正确的是 。

A.在命令窗口中输入并执行DIR,则显示当前目录中所有的表文件的目录 B.rename命令可以完成文件移动的功能

C.所有IF…ENDIF结构的程序段均可以写成IIF( )函数形式 D.?命令与??命令的功能不同

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

A. LOOP B.EXIT C.QUIT D.RETURN 20.以下关于空值(NULL)叙述正确的是 。

A.空值等同于空字符串 B.空值表示字段或变量还没有确定值 C.VFP不支持空值 D.空值等同于数值0 21. 运行下列程序段后,屏幕上显示的内容是 。 STORE 5 TO nX nX=.NULL. ?TYPE(“nX”)

A.C B. N C.L D.NULL 22.在DO WHILE ? ENDDO循环结构中,EXIT命令的作用是 。

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

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

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

第 5 页 共 50 页

23.下列有关名称命名规则的叙述中,不正确的是 。

A. 名称中只能包含字母、下划线“_”、数字符号和汉字 B. 名称的开头只能是字母、汉字或下划线,不能是数字 C. 各种名称的长度均可以是1~128个字符

D. 系统规定的系统变量,其名称均以下划线开头 24.函数MOD(-35, ABS(-6))的返回结果为 。

A.5 B.-1 C.-5 D.1

25.通用数据类型用于在表中存储OLE对象。通用字段包含一个______字节的引用,它指向该字段的真正内容。 A.1 B.4 C.8 D.10

26.下列关系表达式中,运算结果为逻辑真.T.的是______。 A.\副教授\教授\ B.3+5#2*4

C.\计算机\计算机世界\ D.{^2004/05/01}==CTOD(\27.执行? ROUND(135.246,1)+ 2%3命令的结果显示______。 A.135.25 B.135.9 C.137.2 D.显示出错信息 28.下列不表示常量的是 。

A..T. B.?T? C.T D.[T]

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

A.工资>=1210 AND 工资<=1240 B.工资>1210 AND 工资<1240 C.工资<=1210 AND 工资>1240 D.工资>=1210 OR 工资<=1240 30.下列函数中函数返回值为数值型的是 。

A.DATE() B.TIME() C. YEAR() D. DATETIME() 31. 函数len(trim(“_ _vfp_ _ _””))的返回值是_________。

A.8 B.5 C.6 D.3 32. 下列函数中,其返回值为数值型的是 。

A. SUBSTR() B.LEFT() C. AT() D.SPACE() 33.在下面的Visual FoxPro表达式中,运算结果为逻辑真的是 。

A.EMPTY(.NULL.) B.BETWEEN(5, 1,10) C.AT('xy', 'abcxyz') D.ISNULL(SPACE(0)) 34.设X=10, 语句 ?TYPE (\的输出结果是 。

A. N B.C C.10 D. X 35.执行Dimension a(5)命令后,再执行? A(5)命令,结果显示______。 A.0 B.1 C..F. D.A(5) 36.表达式LEN(SPACE(0))的运算结果是 。

A..NULL. B.1 C.0 D.\

37.在VFP集成环境下,用户利用DO命令执行一个程序文件时,系统实质上是执行 文件。

A..prg B..bak C..exe D..fxp

38.在VFP中,可用EMPTY()函数测试表达式的值是否为空,则函数EMPTY(0)和EMPTY(SPACE(0))的返回值分别为______。 A..T.和.T. B..F.和.F. C..T.和.F. D..F.和.T. 39.在下列叙述的操作中,不能关闭VFP集成操作环境窗口的是______。 A.按组合键ALT+F4 B.执行菜单命令“文件→关闭”

C.单击窗口中的“关闭”按钮 D.在“命令”窗口中执行QUIT命令 40.表达式LEN(SPACE(0))的运算结果是______。 A..NULL. B.1 C.0 D.“ ” 41.EMPTY({})和ISNULL({})函数的值分别为______。 A..T.和.T. B..F.和.F. C..T.和.F. D..F.和.T. 42.表达式ASC(?APPEND?)的值为______。

第 6 页 共 50 页

A.128 B.127 C.65 D.‘A’ 43.在命令窗口中,不能实现的操作是 。

A.复制已执行过的命令 B.重复执行已执行过的命令

C.同时执行多个命令 D.在命令窗口中显示命令执行结果 44. 下列表达式中错误的是___________.

A. CTOD(“01/01/98”)- CTOD(“12/22/99”) B.CTOD(“01/09/99”)-200 C. “01/01/90”-“01/01/89” C. “01/01/90”+200

45. 下列表述中,能将日期“2007年5月1日”赋值给日期型变量D的正确语句是________。

A.D=05/01/2007 B.D=”05/01/2007”

C.D=CTOD(”05/01/2007”) D.D=DATE(”05/01/2007”) 46. 执行下面命令后,屏幕上显示的结果是 _____ 。 X= “WHAT IS YOU NAME?” Y= “what” ?ATC(Y,X)

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

47. 在SET EXACT OFF(默认值)时,下列字符串精确比较为.T.的是 。

A.”AB”=”ABCD” B.”AB”=”AB ” C.”ABCD”=”AB” D.” AB”=”AB”

二、填空题

1.函数len(dtoc(date(),1))返回值为 ,函数len(str(12345678901))的函数返回值为 。 2.设X=.F.,则函数IIF(X,1,2)的返回值是 。

3.在VFP中,乘方运算的运算符是**或 。

4.运行以下程序后,VFP主窗口中显示的结果是 。

SET TALK OFF CLEAR

STORE “计算机基础知识和应用能力等级考试” TO a1 Vfp=”二级”

a3=RIGTHT(a1,8) a2=”vfp” ?&a2+a3

5.使用LOCAL、PRIVATE和PUBLIC命令可以指定内存变量的作用域。在VFP命令窗口中创建的任何

内存变量均为 变量。

6.完善下列程序,以显示7~1000以内能被7整除、且含有数字5的所有整数(例如15、45、75等)。 FOR n=7 TO 1000 SETP 7

ch=ALLT(STR(n)) IF ?n ENDIF ENDFOR

7.定义数组时,使用 和DEMENSION声明的数组属于“私有数组”,而使用PUBLIC命令声明的数组属于“全局数组”,使用LOCAL命令声明的数组属于“局部数组”。 8.在VFP中,系统规定:除了自由表的字段名、表的索引标识名至多只能有 个字符以外,其余名称的长度可以长达100多个字符。

9.在Visual FoxPro系统的命令窗口中,输入并执行下列命令后,Visual FoxPro主窗口中显示内容为 。

?3^2+2=MOD(12, 7)+LEN(“FoxPro”)

第 7 页 共 50 页

10.完善程序题。下列程序的功能是统计一个字符串中各个字符的个数(假定字符串仅由大写英文字母A、B、C、D组成): cStr= ?AABBDDCABCDAADBCAACCDDDDBB? STORE 0 TO nA,nB,nC,nD DO WHILE LEN(cStr)>0 c=LEFT(cStr,1) n&c= cStr= ENDDO ?nA,nB,nC,nD

11.下列程序段用来求0~100之间的偶数之和,请将它写完整: S=0 DO WHILE N<=100 N=N+1 IF N%2=1 ELSE S=S+N ENDIF ENDDO

12.运行以下程序后,VFP主窗口显示 行,内容均为 。 CLEAR n=0

DO WHILE n<10

IF INT(n/2)=n/2 ?”W” ENDIF ??”Fox” n=n+1 ENDDO

13. 运行以下程序后,VFP主窗口显示的结果是 。 【程序清单】 CLEAR i=0 n=0

DO WHILE i<=10 IF MOD(i,3) = 0 n = n+1 ENDIF i = i +1 ENDDO ? n

14.设n=234,m=432,k=\,表达式l+&k的值是___ ___ 。

15.在VFP中,命令关键字和函数名一般可 缩写为前四个字母,但是MESSAGEBOX()函数的缩写为 。

16.下列程序的功能是将由任意字符(包括汉字)组成的字符串反序显示,将第五行至第九行用一条命令表示为: 。

第 8 页 共 50 页

STORE ‘VFP程序设计’ TO c,cc ????????????第一行 P=SPACE(0) ????????????第二行 DO WHILE LEN(c)>0 ????????????第三行 X=ASC(LEFT(c,1)) ????????????第四行 IF X>127 ????????????第五行 i=2 ????????????第六行 ELSE ????????????第七行 i=1 ????????????第八行 ENDIF ????????????第九行 P=LEFT(c,i)+P c=SUBSTR(c,i+1) ENDDO

?cc+“的反序为”+P

17.完善下列程序,使其能在屏幕上输出一个如下所示的图形。

********* ******* ***** *** *

CLEAR

FOR i=1 TO 5 ??SPACE(i-1)

FOR j= TO 11-2*i

???*? ENDFOR ?

ENDFOR

18.运行下面程序段后,屏幕显示的运行结果是 。 SET TALK OFF DIMENSION A(6) FOR K=1 TO 6 A(K)=20-2*K ENDFOR K=5 DO WHILE K>=1 K=K-1 ENDDO ?A(1),A(3),A(5)

19.设n=234,m=432,k=\,表达式l+&k的值是_ __ 。

20.下列程序的功能是:求1~100之间非3的倍数的所有奇数之和,完善下列程序。 S=0

FOR i=1 to 100 STEP 2 IF MOD(i,3)=0

ENDIF S=S+i ENDFOR

第 9 页 共 50 页

21.在VFP命令窗口中执行?ATC(“学习”, “学习计算机”)命令后,返回的结果是 。 22.将第2~4个字符为“yan”的所有内存变量保存到mVar内存变量文件中,可以使用命令:

SAVE TO mVar ALL ?yan* 23.在VFP中可以使用 语句跳出SCAN ? ENDSCAN循环体外执行ENDSCAN后面的语句。 24.完善下列程序。使其实现计算数列1!/2!,2!/3!,3!/4!,…的前20项之和的功能。

nSum=0

FOR n=1 TO 20

nSum= ENDFOR

FUNCTION jc

PARAMETER x s=1

FOR m=1 TO x

s=s*m ENDFOR RETURN s

25.在Visual FoxPro系统中,逻辑运算符执行的优先顺序是 。 26.LEFT(“123456789”,LEN(“数据库”))的计算结果是 。 27.表达式Substr(\的运算结果是 。 28.执行下面命令后,屏幕上显示的结果是 。 X= “ARE YOU OK?” Y= “are” ?AT(Y,X)

29.完善下列程序,其功能为:随机产生一个要求在70~80之间的数。 X=0

DO WHILE X=rand( )*100

IF X>70 AND X<80 ENDIF ENDDO ?X

30.下列程序的功能是计算:

n=1/(1*2)+1/(3*4)+1/(5*6)+…+1/(n*(n+1))+…的近似值,当1/(n*(n+1))的值小于0.00001时,停止计算。 s=0 i=1

DO WHILE .T.

p= s=s+1/p

IF 1/p<0.00001

ENDIF i=i+2 ENDDO

31.利用一条 命令(语句)可以给多个内存变量赋同一个值。 32.说明公共变量的命令关键字是 。

33.完善下列程序,使其产生15个随机的大写英文字母:

第 10 页 共 50 页

CLEAR I=1 DO WHILE I<=15 k=INT(RAND()*100) IF &&k的值为某写英文字母 ? CHR(k) ENDIF ENDDO

34.完善下列程序,其功能为:将由ASCII码字符组成的字符串进行反序显示(即字符串’ABCD’显示为’DCBA’)。

store ?abcdef? to c,cc p= do while len(c)>0 p=left(c,1)+p c=substr(c,2) enddo

?cc+’的反序为’+p 35.LEFT(“123456789”,LEN(“数据库”))的计算结果是 。 36. 完善下列程序。使其实现计算数列1!/2!,2!/3!,3!/4!,…的前10项之和的功能。

nSum=0

FOR n=1 TO 10

nSum= ENDFOR

FUNCTION jc

PARAMETER x s=1

FOR m=1

s=s*m ENDFOR RETURN s

37.运行下列程序后,显示结果为 。

CLEAR

c=”南京大学信息管理系” FOR n=1 TO LEN(c)/2

IF n%2<>0

??SUBSTR(C, 2*n-1, 2) ENDIF ENDFOR

38. 下列的程序用一条命令可表示为 。 if x>0 y=1 else

if x=0 y=0 else

y= -1 endif endif

第 11 页 共 50 页

39.完善下列自定义函数STR_RV(),要求其功能为将一个字符串进行“反序”。例如,STR_RV(“ABCD”)的返回值为“DCBA”。 FUNCTION str_rv

PARAMETERS c p=SPACE(0)

DO WHILE LEN(c)>0

x=ASC( ) IF x>127

p=LEFT(c,2)+p c=SUBSTR(c,3) ELSE

p=LEFT(c,1)+p

c=SUBSTR( ) ENDIF ENDDO RETURN P ENDFUNCTION

40.执行命令A=2005/4/2之后,内存变量A的数据类型是 型。 41.如下程序显示的结果是 。

s=1 i=0

do while i<8 s=s+i i=i+2 enddo ?s

42.表示“1962年10月27日”的日期常量应改写为 。 43.执行下面的程序代码:

SET UDFPARMS TO VALUE STORE 6 TO a ?plu(a) ?a

FUNCTION plu PARAMETERS b b=b+2 Return b

则执行语句?plu(a)将显示 ,执行语句?a将显示 。 44.运行下面的程序后,屏幕上显示的运行结果是: 。 SET TALK OFF STORE ?XM? TO NAME XM= ?宿迁学院三系? RESULT=LEN(&NAME-?三系?) ?RESULT

45.已知N=\则表达式X&M&N的值为 。

44.在某个VFP程序中,用DIMENSION命令定义了一个二维数组并为其赋值,具体命令语句如下:

第 12 页 共 50 页

DIMENSION a[3,4]

a=5

则该二维数组含有 个数组元素,其中数组元素a[2,3]的值是 。 45.执行下面程序: SET TALK OFF STORE 1 TO N,S DO WHILE .T. S=S*N N=N+1 IF N>5 EXIT ENDIF ENDDO ?S 当程序运行结束时,S的值是 。

46.下面的自定义函数CountHZ()的功能是:当传递一个字符型参数时,返回这个字符串中汉字的个数。例如,执行命令?CountHZ(?北京奥运2008?),屏幕上显示的是4。请完善代码:

FUNCTION CountHZ

PARAMETERS cHZ nSUM=0 I=1

DO WHILE I

IF ASC(SUBSTR(cHZ,I,1))>127

I=I+2

I=I+1

ELSE ENDIF

RETURN nSUM ENDFUNC

47. 定义变量y=5,则函数IFF(y>=5,”1”,”2”)的返回值是___ ____。

48.完善下列程序段,其功能是将由中英文字符组成的字符串,以竖列的形式(即每行一个字符)输出。 CLEAR

P=”新编VisualFoxPro教程” DO WHILE !EMPTY(p)

i=IIF(ASC(LEFT(p,1))>127,2,1) ?LEFT(p,i)

p=SUBSTR(p, )

ENDDO

49. 函数ABS(20-50)的返回值是 , 函数BETWEEN(?a?,?A?,?P?)的返回值是__ _____。 50.设x=0,y=1,x1=”BC\。表达式:(x+y)/2=0.5 .AND. (y-x)*2>2 .OR. .NOT.y1的值为_ _。 51. 完善下列程序,其功能是计算级数s=1+1/2+1/3+1/4+?+1/i+?,使s的值最接近于2.0且不大于2.0,并输出项数及s的值。

第 13 页 共 50 页

CLEAR s=O n=O

DO WHILE .T. n=n+l s=s+l/n IF s>2.0

s=s- 。 n=n-1

。 ENDlF ENDDO

WAIT WINDOW STR(n,2)+”项之和=”+STR(s,6,2)

52.有一数列1,1,2,3,5,8,13,21,…,从第三项开始,以后的各项均为前两项之和),编程输出此数列的前20项(每行输出4项)请对下面的程序填空: Clear t1=1 t2=1 n=2 ??t1,t2

For i= to 20

t3= ??t3

n= If MOD(n,4)=0 ___ _ EndIf t1=t2 t2=t3 EndFor

53.下列程序段的运行结果是___ _____。(“□”表示半角空格) X=“□□ABCD□□□” Y=“□□ABCD□□□” ?LEN(TRIM(X+Y))+LEN(ALLTRIM(X+Y)) ?? LEN(TRIM(X-Y))+LEN(ALLTRIM(X-Y))

54. 表达式”ABC”>”BC”的值为_____ ______。LEN(ALLTRIM(“3.14”))的值为____________。

55. 自定义函数FX( )实现的功能是:将任意给定的一串字符串倒序返回,如执行函数FX(“ABCD”)则返回”DCBA”。完善函数FX( )的程序代码: FUNCTION FX

PARAMETERS ch I=0 mch=””

DO WHILE I

mch=mch+SUBSTR(ch, ,1) I=I+1 ENDDO

RETURN mch

第 14 页 共 50 页

第三章 表的创建和使用一、选择题

1.设在当前工作区中已打开一张数据库表。下列命令中,不能将该数据库表关闭的命令是 。

A.CLOSE ALL B.CLOSE DATABASE ALL C.USE IN 0 D.CLOSE TABLES 2.以下关于VFP的主索引的说法,正确的是______。 A.在数据库表和自由表中都可以建立主索引

B.可以在一个数据库表中建立多个主索引 C.主索引只适用于数据库表的结构复合索引

D.组成主索引关键字的字段或表达式,在数据库表的所有记录中允许有重复值

3. 打开一张空表(无任何记录的表)后,未作记录指针移动操作时recno( )、eof( )和bof( )函数的值分别为 。

A.0、.T.和.T. B.0、.T.和.F. C.1、.T.和.T. D.1、.T.和.F.

4.打开一张表(有记录的表)后,未作记录指针移动操作时eof( ) 、 bof( ) 和 recno( )函数的值分别为 。

A..F. 、.F. 和1 B..T. 、.F. 0和 C..T. 、.T. 和1 D..T. 、.F. 和1 5.在数据库表中,只能有一个 。

A.候索引 B.主选索引 C.普通索引 D.唯一索引

6.在创建索引时,索引表达式可以包含一个字段或多个字段。在下列数据类型的字段,不能作为索引表达式的字段为 。

A.日期型 B.字符型 C.通用型 D.数值型 7.函数select(0)的返回值为 。

A. 当前工作区 B.当前未被使用的最小工作区号 C.当前未被使用的最大工作区号 D.当前已被使用的最小工作取号

8.设有一张自由表rsda,该表有一个字段名为zc的字段,如果要将字段名zc改为zhicheng,可以使用下列的 命令。

A. ALTER TABLE rsda RENAME COLUMN zc TO zhicheng B. ALTER TABLE rsda RENAME FIELD zc TO zhicheng C. ALTER TABLE rsda COLUMN RENAME zc TO zhicheng D. ALTER TABLE rsda FIELD zc RENAME TO zhicheng

9.在定义表结构时,备注型、逻辑型和日期型的字段宽度都是固定的,它们的宽度分别是 。

A. 1,4,8 B.2,1,8 C.4,1,8 D.4,2,8 10.若所建立索引的字段值不允许重复,并且一个表中只能创建一个,它应该是 A.主索引 B.惟一索引 C.候选索引 D.普通索引 11.在VFP中,建立索引的作用之一是 。 A.节省存储空间 B.便于管理 C.提高查询速度 D.提高查询和更新的速度 12.用户在创建某个表的结构时,如果使用了通用型字段且为表创建了两个索引,则在保存表结构后,系统会自动在磁盘上生成______个文件。 A.1 B.2 C.3 D.4

13.下列有关表及其字段的叙述中,错误的是 。

A. 每个表最多有100多个字段 B.每个数据库表只能属于一个数据库 C. 自由表的字段名最多由10个字符组成 D.字符型字段的默认宽度为10 14.设有一张名为test的表中,有2个日期型字段:参加工作日期(cjgzrq)和出生日期(csrq)。现要创建一个索引,要求先根据参加工作日期排序,参加工作日期相同时,再根据出生日期排序,则索引表达式应为 。

A.cjgzrq+csrq B.DTOC(cjgsrq,1)+DTOC(csrq,1) C.DTOC(cjgsrq)+DTOC(csrq) D.cjgsrq – csrq 15.彻底删除记录数据可以分两步来实现,这两步是 。

第 15 页 共 50 页

A.PACK和ZAP B.DELETE和PACK C.PACK和RECALL D.DELE和RECALL 16.表文件TEST.DBF尚未打开,要将该文件复制为TEST1.DBF,应使用命令______。 A.COPY TO TEST1.DBF B.COPY STRUCTURE TO TEST1.DBF

C.COPY FILE TEST.DBF TO TEST1.DBF D.COPY INDEXES TEST.DBF TO TEST1.DBF 17.有如下一段程序:

CLOSE TABLES ALL USE xs SELE 3 USE js

USE kc IN 0 BROW

上述程序执行后,浏览窗口中显示的表及当前工作区号分别是 。

A.KC、2 B.KC、3 C.JS、3 D.JS、2 18.执行下列一组命令之后,选择“cj”表所在工作区的错误命令是 。

CLOSE ALL USE xs IN 0 USE cj IN 0

A.SELECT cj B.SELECT 0 C.SELECT 2 D.SELECT B 19.在下列有关表索引的叙述中,错误的是 。

A. 数据库表可以有结构复合索引,但自由表不可以 B. 结构复合索引文件随着表的打开而自动打开 C. 数据库表可以创建主索引,但自由表不可以

D. 一个数据库表可以有多个候选索引,但只能有一个主索引

20.在定义表结构时,以下 数据类型的字段宽度都是固定的。

A. 字符型、货币型、数值型 B. 字符型、备注型、二进制备注型 C. 数值型、货币型、整型 D. 整型、货币型、日期时间型 21. 对于VFP自由表来说,不可以创建的索引类型是 。

A.主索引 B.候选索引 C.唯一索引 D.普通索引 22. 下列关于索引文件的叙述中,错误的是 。

A.索引文件是用来保存索引信息的文件

B.结构复合索引文件的扩展名为.cdx,它被看作是表结构的一部分,随着表的打开而自动打开,关闭而自动关闭,其文件名与表文件名相同

C.独立索引文件的扩展名为.idx,文件名用户自定

D.非结构复合索引文件的扩展名为.idx,其文件名与表文件名不同

23. 在有关表操作的命令中,有些命令只能对当前工作区中的表进行操作,而有些命令可以对非当前工作区中的表进行操作。在下列命令中,只能对当前工作区中的表进行操作的命令是 。

A.goto B.skip C.replace D.delete

24.结构复合索引文件是将一张表的一个或多个索引的索引信息存储在一个索引文件中且索引文件的主文件名与表名相同,扩展名为 。

A..dcx B..fpt C..cdx D..dbf 25.在多个工作区操作中,如果选择了1、3、5号工作区并打开相应的数据表,在命令窗口执行命令SELECT 0,其结果是选择 号工作区为当前工作区。

A.0 B.1 C.4 D.2 26.设有一张教师表js,含有一个字符型字段xb(表示教师的性别)。下列命令中语法正确的是 。

A.delete from js for xb=?男? B.delete from js where xb=?男? C.delete table ja where xb=?男? D.delete table ja for xb=?男?

第 16 页 共 50 页

27.已知命令“SEEK ”可以实现记录的快速定位,在定位之前要对数据表 。 A.指针指向第一行 B.清除带删除标记的记录

C.清空数据表 D.搜寻的关键字排序 28.允许出现重复字段值的索引是 。

A.侯选索引和主索引 B.普通索引和惟一索引 C.侯选索引和惟一索引 D.普通索引和侯选索引

29.在创建数据库表结构时,为该表中一些字段建立索引,其目的是 。

A.改变表中记录的物理顺序 B.为了对表进行实体完整性的约束 C.加快数据库表的更新速度 D.加快数据库表的查询速度

30.在Visual FoxPro中,以下关于删除记录的描述中,不正确的是 。

A.我们常说的“删除”,其实只是加上删除标记,并没有从表中删除 B.删除对应的命令是Delete?From 或者是Delete?For C.可以使用Recall命令召回已经加了删除标记的记录 D.可以使用zap命令彻底删除加了删除标记的记录 31.关于候选索引,下列说法不正确的是 。

A.候选索引可以用于数据库表 B.候选索引可以用于自由表

C.一张表只能创建一个候选索引 D.候选索引要求指定的索引表达式的值不能重复 32.修改数据表的字段的名称操作,是在 里完成的。

A.表设计器 B.表编辑器 C.表浏览器 D.表向导

33.当前表中有四个数值型字段:高等数学、英语、计算机、总分。其中三门课程成绩均已录入,总分字段为空。要将所有学生的总分自动计算出来并填入总分字段中,应使用命令______。 A.REPL 总分 WITH 高等数学+英语+计算机

B.REPL 总分 WITH 高等数学,英语,计算机

C.REPL ALL 总分 WITH 高等数学+英语+计算机

D.REPL 总分 WITH 高等数学+英语+计算机 FOR ALL

34.如果要创建一个数据组分组报表,第一个分组表达式是“部门”,第二个分组表达式是“性别”,第三个分组表达式是“基本工资”,当前索引的索引表达式应当是______。 A.部门+性别+基本工资 B.部门+性别+STR(基本工资)

C.STR(基本工资)+性别+部门 D.性别+部门+STR(基本工资) 35.在Visual FoxPro中以下叙述错误的是 。

A.关系也被称作表 B.数据库文件不存储用户数据 C.表文件的扩展名是.dbf D.多个表存储在一个物理文件中

36.使用REPLACE命令时,如果范围短语是ALL或REST,则执行该命令后记录指针指向______。 A.末记录的后面 B.首记录 C.末记录 D.首记录的前面 37.对xsb.dbf表进行删除操作,下列四组命令中功能等价的是 。

1) DELETE ALL 2) DELETE ALL PACK 3) ZAP

4)把xsb.dbf文件拖放到回收站中 A.1)、2)、3) B.3)、4) C.2)、3) D.2)、3)、4) 38.DELETE FROM S WHERE 年龄>60语句的功能是______。 A.删除S表 B.从S表中彻底删除年龄大于60岁的记录

C.删除S表的年龄列 D.将S表中年龄大于60岁的记录加上删除标记

39.如果要创建一张仅包含一个字段的自由表xs,其字段名为xm,字段类型为字符型,字段宽度为8,则下列______命令是正确的。 A.CREATE TABLE xs xm C(8) B.CREATE TABLE xs (xm C(8))

第 17 页 共 50 页

C.CREATE TABLE xs FIELD xm C(8) D.CREATE TABLE xs FIELD (xm C(8))

40.已知当前表中有60条记录,当前记录为第6条记录。执行命令SKIP 3后当前为第_______号记录。 A.8 B.9 C.10 D.11

41.对某一个数据库建立以出生年月(D,8)和工资(N,7,2)升序的多字段复合索引,正确的索引表达式为______。

A.出生年月+工资 B.出生年月+STR(工资,7,2)

C.DTOC(出生年月,1)+STR(工资,7,2) D.工资+DTOC(出生年月) 42.一个数据库表中多个备注型字段的内容是存放在______。 A.该数据表文件中 B.同一个备注文件中 C.多个备注文件中 D.该表所属的数据库中 43.执行SELECT 0选择工作区的结果是______。 A.选择了0号工作区 B.选择已打开的工作区

C.选择了最大工作区 D.选择了空闲的最小工作区

44.若为xs.dbf表添加一个宽度为6的字符型字段mc,以下命令中正确的是______。 A.ALTER TABLE xs ADD mc C(6) B.ALTER xs.dbf ADD COLUMN mc C(6)

C.ALTER xs.dbf ADD mc C(6) D.ALTER TABLE xs ADD FIELD mc C(6) 45.用表设计器创建一个自由表时,不能实现的操作是______。 A.设置某字段可以接受NULL值 B.设置表中某字段为通用型

C.设置表的索引 D.设置表中某字段的默认值 46.下列关于自由表的说法中,错误的是______。 A.在没有打开数据库的情况下所建立的数据表,就是自由表 B.自由表不属于任何一个数据库

C.自由表不能转换为数据库表 D.自由表可以转换为数据库表

47.建立一个表文件,表中包含字段:姓名(C,6)、出生日期(D)和婚否(L),则该表中每条记录所占的字节宽度为______。 A.15 B.16 C.17 D.18 48.在当前工作区中已打开一张数据库表。下列命令中,不能将该数据库表关闭的命令是______。 A.CLOSE ALL B.CLOSE TABLES

C.USE IN 0 D.CLOSE DATABASE ALL

49.在“项目管理器”窗口中选择一个表,然后单击“修改”或“浏览”按钮,则指定的表将被打开(假定该表在这之前未被打开)。在下列有关该表所在工作区的叙述中,正确的是______。 A.在1号工作区中打开 B.在当前工作区中打开

C.在当前工作区的下一个工作区中打开,且该工作区被设置为当前工作区 D.在当前未被使用的最小工作区中打开,且该工作区被设置成当前工作区 50.在Visual FoxPro中,关于自由表叙述正确的是

A.自由表和数据库表是完全相同的 B.自由表不能建立字段级规则和约束 C.自由表不能建立候选索引 D.自由表不可以加入到数据库中 51.表文件及其索引文件已经打开,要确保记录指针定位到记录号为1的记录上,应使用的命令是______。 A.GO TOP B.GO BOF() C.GO 1 D.SKIP 1

52.打开了一个建立了结构复合索引的数据表,表记录的顺序将按______排列。 A.第一个索引标识 B.最后一个索引标识 C.主索引标识 D.原顺序

53. 在VFP中,用表设计器建立一个自由表文件,该文件有两个备注字段,有三个通用型字段,还在表设计器中为该表建立了四个索引,则该表保存时将产生__________个文件。

A.1 B.3 C.7 D.10

54. 下列__________索引文件会随着表的打开自动打开,随着表的关闭自动关闭。

A.结构复合索引文件 B.非结构复合索引文件 C.单关键字索引 D.以上都可以 55. 在VFP环境中,有下列命令:USE RSDA IN 10 ALIAS RS,则下列__________不能使打开RSDA的工作区成为当前工作区。。

第 18 页 共 50 页

A.SELECT 10 B.SELECT J C.SELECT RSDA D.SELECT RS 56. 打开一张表(共有10条纪录)后,执行下列命令:

Goto 3 Skip

Goto BOTTOM Skip -2

则关于记录指针的位置说法正确的是 。

A.记录指针指向第3条记录 B.记录指针指向第10条记录 C.记录指针的位置取决于记录的个数 D.记录指针指向第8条记录

57. 在有关表操作的命令中,有些命令只能对当前工作区中的表进行操作,而有些命令可以对非当前工作区中的表进行操作。在下列命令中,可以对非当前工作区中的表进行操作的命令是 。

A.USE B.INSERT INTO C.BROWSE D.UPDATE

二、填空题

1.数据库名为SJK,为了确定该数据库是否打开,使用函数__ ________。

2. 在VFP中,与表操作相关的系统函数有多个,例如EOF()、BOF()、USED()等。用于返回当前选定工作区已打开表的字段数目的函数是 __ 。

3.在VFP的指针定位命令中,将指针定位到当前顺序最后一行的命令是 。

4.下程序段中的后三条命令,可用一条功能等价的命令来实现,这条命令是 。

SET TALK OFF SELECT 1 USE xs SELECT 0 USE cj SELECT xs

5.表达式LEN(TRIM(STR(24)))的计算结果为 ;设有一表文件xs.dbf且已在当前工作区中打开,则使用命令COPY TO ,可以将该表的数据复制到ASCII码文件xs.txt中。 6.将学生表(xs.dbf)中年龄(字段名:nl,类型: N)字段的值加1的命令是: Update xs set nl = 7.与xb$”男女” (xb:表示性别)等价的表达式为__ _____。

8.在VFP的指针定位命令中,将指针定位到当前记录下一行的命令是 。

9.若要实现多字段排序,即先按班级(BJ,N,1)顺序排序,同班的同学在按出生日期(CSRQ,D)顺序排序,同班且出生日期也相同的再按性别(XB,C,2)顺序排序,其索引表达式为 __。

10.在Visual FoxPro系统中,对于包含备注型字段或 字段的表来说,在创建表结构时系统会自动生成和管理一个相应的备注文件,用于存储备注内容。备注文件的文件名与表文件名相同,其扩展名为.fpt。

11.执行下列命令后:

CLOSE TABLES ALL SELECT 1

USE xs ALIAS stu USE cj IN 0 USE kc IN 2

函数USED(“cj”)的值是 ,函数SELECT()的值是 ,函数ALIAS()的值是 。

10.VFP的索引共有4类,分别是:主索引、候选索引、 和唯一索引。 11.如下命令将“产品”表的“名称”字段名修改为“产品名称”:

ALTER TABLE 产品 RENAME 名称 TO 产品名称。

第 19 页 共 50 页

12.设有自由表xsb,表的各个字段名均以英文字母开头。请完善下列程序,要求将xsb表的各个字段名的开头字母转换成A。 CLOSE TABLES ALL USE xsb n=

FOR t=1 TO n c=FIELD(t) cc= “A”+SUBSTR(c,2) TABLE xbs RENAME COLUMN &c TO &cc ENDFOR

CLOSE TABLES ALL

13.下面的命令是修改教师表(JS.DBF)中JBGZ(基本工资)字段的值。条件是:GL(工龄)字段的值在10年(含10年)以下的教师的基本工资加200,其他教师的基本工资加400。请将该命令补充完整:

UPDATE JS JGBZ=IIF( , JBGZ+200, JBGZ+400)

14.若已在第1~5、7、9、12~15工作区中打开表,则使用命令SELECT 0后,当前工作区为第 工作区。

15.某XS(学生)表中含有学号(xh,C,8)字段,且已建立了主索引xsxh,索引表达式为xh。完善下列程序段,其功能按学号降序浏览学生表:

USE xs

TO xsxh DESC BROW

16.用户使用CREATE TABLE-SQL命令创建表的结构,字段类型必须用单个字母表示。对于货币型字段,字段类型用单个字母表示时为 。 17.XS(学生)表的结构为: 字段名 XH XM XB 中文含义 学号 姓名 性别 类型 字符 字符 字符 长度 6 8 2 CSRQ 8 出生日期 日期 下列命令用来创建XS表的结构,请将它完善: CREATE (XH C(6),XM C(8),XB C(2),CSRQ D) 18.选择当前未使用的最小工作区号,可以使用命令 。

19.VFP中的指针定位命令中,将指针定位到逻辑顺序的第一条记录的命令是 。

20.VFP的replace更新命令中,for子句和范围用于指定要更新的记录,当for子句和范围均缺省时表示仅对 进行替换。

21.下列两段程序是基于xs.dbf表的记录浏览及数据统计程序(表中已有若干个记录),分别运行两段程序后,mSum与nSum输出结果是否相同: 。(回答“相同”或“不相同”) SET TALK OFF SET TALK OFF USE xs USE xs mSum=0 nSum=0 DO WHILE NOT EOF() SCAN ?xh,xm ?xh,xm mSum=mSum+1 nSum=nSum+1 SKIP SKIP ENDDO ENDSCAN USE USE ? mSum ? nSum 22.在VFP中,与表操作相关的系统函数有多个,例如EOF()、BOF()、USED()等。用于返回当前选定工 作区已打开表的字段数目的函数是 。 第 20 页 共 50 页

23.虽然结构复合索引文件随表的打开而自动打开的,但复合索引中的任何一个索引都不会被自动设置为主控索引,此时表中的记录仍按记录的 顺序显示和访问。 24.自由表的扩展名是 。

25.VFP语句中,不带条件的 Delete 命令将删除指定表的 记录。

26.设XB为某表中的字符型字段,其宽度为2,则与XB=\男\女\等价的表达式为 。 27. 完善下列命令,某银行存款表(ck.dbf)的表结构如下所示。 字段名 zh crrq cq je 字段类型 字符型 日期型 数值型 货币型 宽度 15 8 3 8 小数位数 0 字段含义 帐号 存入日期 存期(月) 金额(元) 1)创建ck表的表结构,可以使用下列命令:

CREATE TABLE ck(zh C(15), crrq D, cq N(3,0),je )

2)修改ck表的表结构,将字段名crrq更名为csrq可以使用下列命令: ALTER TABLE ck RENAME COLUMN 3)向ck表中插入如下一条记录:

INSERT INTO ck(zh, crrq, cq, je) (?10001?, {^2006/06/01}, 2, $10000)

28.已知学生教材数据表 BOOK.DBF中含有价格字段,按价格在15元以下、15~30元、30元以上统计三类教材的数量。请填空完善程序。

SET TALK OFF CLEAR

STORE 0 TO S1,S2,S3 USE BOOK SCAN

DO CASE

CASE 价格<15 S1=S1+1 CASE 价格>30 S3=S3+1 S2=S2+1 ENDSCAN

? 价格在15元以下的教材有:+STR(S1,2)+册 ? 价格在15~30元之间的教材有:+STR(S2,2)+册 ? 价格在30元以上的教材有:+STR(S3,2)+册

USE

29.用UPDATE-SQL语句修改TS(图书)表中作者字段(zz,C)的值时,若要在所有记录的作者后面加汉字“等”(假设字段宽度足够),可以使用命令: UPDATE ts SET zz= +?等?

30. VFP中的指针定位命令中,将指针定位到物理顺序的第一条记录的命令是 。

31. 在VFP系统中,表的顺序有两种,分别是物理顺序和 ,前者是指表中的记录按其输入的时间顺序存放的顺序;后者是指表中的记录按照某个字段值或某些字段值排序的顺序。

第 21 页 共 50 页

32.下列程序段用于显示aa表中所有类型为字符型的字段的字段名: USE aa

FOR n=1 TO

IF TYPE(FIELD(n))=?C?

?FIELD(n) ENDIF ENDFOR USE

33.如果在第一个工作区中打开一个数据表文件,然后在另一个工作区上再次打开该数据表文件,且不关闭前一个工作区上打开的,必须加短语 。

34.设教师(JS)表中含有100条记录,运行下列程序后,屏幕上显示的记录有 条。

SET TALK OFF CLEAR USE JS SCAN

?RECNO(), gh, xm &&gh、xm为JS表中的字段 SKIP ENDSCAN USE 运行下列程序后,显示结果为 。 35.设学生表(xs.dbf)含有记录数据如下表所示: USE xs 学生表(xs.dbf)含有内容 XH 010201 010203 010202 010301 010402 010302 010401 XM 王 玲 李 刚 张 山 刘 芳 王勇敢 李圆圆 张 勇 XB 女 男 男 女 男 女 男 CSRQ 06/02/82 06/09/82 02/08/81 09/08/83 02/28/82 12/12/81 10/09/82 STORE 0 TO nSum DO WHILE .NOT.EOF() IF SUBSTR(xh,3,2)=”03” nSum= nSum+1 ENDIF SKIP ENDDO ? nSum USE 36.已知TEMP1的三个字段,分别是:姓名C/8,年龄N/2,职称C/10,则下列程序的执行结果是 。 USE TEMP1 A=??

FOR I=1 TO FCOUNT() A=A+FIELD(I) ENDFOR ?A

37. 如果依次执行下列命令,则xs表在两个工作区中同时打开,其别名分别为 和 。 close tables all use xs select 30 use xs again

38.如果要彻底删除当前工作区中已经做了删除标记的记录,可以使用______ _______命令。 39.选择当前未使用的最小工作区号,可以使用命令 。 40.为“xs”(学生表)增加一个“AvgCj”字段的命令是:

ALTER TABLE xs ADD AvgCj N(5,2) 41.执行以下一组命令:

第 22 页 共 50 页

CLOSE TALBES ALL SELECT 0

USE xs ALIAS stu

则函数SELECT()的值是 ,ALIAS()的值是 。 42.XS(学生)表的结构为:

字段名 中文含义 类型 长度 XH 学号 字符 6 XM 姓名 字符 8 XB 性别 字符 2 CSRQ 出生日期 日期 8 ZZMM 政治面貌 逻辑 1 BZ 备注 备注 4 下列命令用来创建XS表的结构,请将它完善:

CREATE (XH C(6),XM C(8),XB C(2),CSRQ D, ,BZ M) 43.在教师表(js)中按如下要求更改基本工资(jbgz): 工龄在10年以下(不含10年) 基本工资加 20 工龄在10--19年 基本工资加 35 工龄在20年以上(含20年) 基本工资加 50 可用UPDATE命令完成上述更改: UPDATE js jbgz=;

IIF(js.gl<10, ,IIF( ,jbgz+50,jbgz+35)) 44.要在CJ(成绩)表中插入一条记录,应该使用的语句:

CJ(XH,kcdh,cj) (“070605121”,“12”,78) 45.在VFP的命令窗口中,依次输入并执行以下命令: SET EXCLUSIVE ON USE xs SELECT 0 USE xs SHARED AGAIN

则第二次打开xs表时,该表将以 方式打开。

46.如果学生表(xs.dbf)已在当前工作区中打开,要筛选出专业代号zydh为“102001”的记录的命令是 ,要取消该筛选的命令是 。

47. 表的浏览BROWSE命令中,______ _______指定不可修改记录。

48、表打开后,执行命令SKIP –1,BOF()函数将返回_______。将指针定位到最后一条记录,使用命令_______ __________,执行命令 SKIP ,EOF()函数返回___ ___。

49.设有自由表XSB,请完善下列程序,要求将XSB表中的各个字符型字段的字段名显示出来,统计并显示共有多少个字符型的字段。 CLOSE ALL USE XSB SUM=0 FOR I=1 TO IF TYPE(FIELD(I))= ?C? ?FIELD(I) ENDIF ENDFOR ?SUM

50.设JS表中含有JBGZ(基本工资,N)、GZRQ(工作日期,D)字段。下列命令可以将JS表中所有工龄

第 23 页 共 50 页

满30年(假设不考虑月日)的教师的基本工资加100,请完善程序: CLOSE TABLES ALL USE js REPLACE jbgz WITH FOR 51.索引可分为多种类型,其中 只适用于数据库表。 52. 某XIM(系名)表的数据如图1所示(共有9条记录),则运行 下列程序段后,输出结果为 。 CLEAR

USE xim SKIP n=0

SCAN FOR LEN(ALLTRIM(ximing))=6 n=n+l

ENDSCAN ?n

53.为了测试当前工作区号,使用函数表达式____________。 54. 已知学生表(cj.dbf)中的数据如下: 记录号 1 2 3 4 5 6 学 号 000104 000101 000103 000102 000106 000105 姓 名 王 凯 李 兵 刘 华 陈 刚 胡媛媛 张一兵 性别 男 男 女 男 女 男 出生日期 09/02/82 04/09/83 10/06/82 12/09/82 09/08/82 02/06/83 02 02 02 02 02 02 图1

系名代号 则依次执行下列命令后,屏幕上显示的结果为 。

USE CJ

SET ORDER TO CSRQ &&CSRQ索引标识已建,它是根据出生日期字段创建的升序索引 GO TOP SKIP 2 ?RECNO( ) GO BOTTOM ?RECNO( )

第四章 数据库的创建和使用一、选择题

1.数据库表移出数据库后,变成自由表,该表的 仍然有效。

A.字段的格式 B.结构复合索引文件中候选索引 C.表的长表名 D.字段的默认值 2. 根据数据库表的字段的扩展属性,通过对 的设置可以限定字段的内容仅为数字字符。

A. 字段格式 B. 输入掩码 C. 字段标题和注释 D. 字段级规则 3.关于数据库的操作,下列叙述中正确的是 。

A.数据库被删除后,它包含的数据库表也随之被删除 B.打开了新的数据库,则原先打开的数据库将被关闭 C.数据库被关闭后,它所包含的数据库表均不能被打开

D.数据库被删除后,它所包含的数据库表不能自动地变成自由表 4.数据库表的参照完整性规则包括更新规则、删除规则和插入规则。其中,删除规则可以设置为 。

A. 限制或忽略 B. 级联或忽略 C. 级联或限制 D. 级联、限制或忽略

第 24 页 共 50 页

5.针对某数据库中的两张表创建永久关系时,下列叙述中不正确的是 。

A. 主表必须创建主索引或候选索引 B.子表必须创建主索引或候选索引或普通索引 C. 两张表必须有同名的字段 D.子表中的记录数不一定多于主表

6. 用户创建一个数据库并保存在软盘上,则在该软盘上会生成 个相应的文件。

A.1 B.2 C.3 D.4 7. 数据库表移出数据库后,变成自由表,该表的 仍然有效。

A.字段的有效性规则 B.结构复合索引文件中候选索引 C.表的长表名 D. 字段的显示类 8.对于VFP中的参照完整性规则,下列叙述中不正确的是 。

A.更新规则是当父表中记录的关键字值被更新时触发 B.删除规则是当父表中记录被删除时触发 C.插入规则是当父表中插入或更新记录时触发 D.插入规则只有两个选项:限制和忽略 9.参照完整性的规则不包括 。

A.更新规则 B.删除规则 C.插入规则 D.检索规则 10. 在VFP中,关于字段的格式和输入掩码,说法正确的是_________。

A. 字段的格式和输入掩码都是用于指定字段显示时的格式

B. 字段的格式和输入掩码都是用于指定字段中输入数据的格式 C. 字段的格式和输入掩码都可以在数据库表和自由表中设置 D. 字段的格式和输入掩码只能在数据库表中设置 11.以下关于视图的描述正确的是 。

A.视图保存在项目文件中 B.视图保存在数据库文件中 C.视图保存在表文件中 D.视图保存在视图文件中 12.下面有关表间永久关系的描述中,不正确的是 。 A.永久关系中的父表一定有主索引

B.永久关系中的子表一定具有普通索引或者是主索引

C.永久关系中子表的记录指针会随父表的记录指针的移动而移动 D.关联中父表的记录指针会随子表的记录指针的移动而移动

13.在创建数据库表结构时,给该表指定了主索引,这属于数据完整性中的 。

A.参照完整性 B.实体完整性 C.域完整性 D.用户定义完整性 14.VFP中指定两个表的参照完整性的删除规则为“级联”,则当删除父表中的记录时 。

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

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

15.下列命令中, 可以将XS表的xh字段的标题属性设置为“学号”。

A. DBSETPROP(“xs.xh”, ”FIELD”?, ”Caption”, ”学号”) B. DBSETPROP(“xs.xh”, ”Caption”, ”学号”)

C. DBSETPROP(“xs.xh”, ”FIELD”?, ”Caption=学号”) D. DBSETPROP(“xs.xh”, ”TABLE”?, ”Caption”, ”学号”) 16.有关参照完整性的删除规定,正确的描述是 。

A.如果删除规则选择的是“限制”,则当用户删除父表中的记录时,系统将自动删除子表中的 所有相关记录。

B.如果删除规则选择的是“级联”,则当用户删除父表中的记录时,系统将禁止删除子表相关 的父表中的记录。

C.如果删除规则选择的是“忽略”,则当用户删除父表中的记录时,系统不负责做任何工作。 D.上面三种说法都不对

17.打开数据库的命令是 。

第 25 页 共 50 页

A.USE B.USE DATABASE C.OPEN D.OPEN DATABASE

18.参照完整性使用来控制数据的一致性,在VFP中,系统提供的参照完整性机制不能实现的是 。

A. 设置“更新级联”,更新主表主关键字段的值,用新的关键字段值更新子表中所有相关记录 B. 设置“删除级联”,主表可以任意的删除记录,同时删除子表中的所有相关记录 C. 设置“删除限制”,如子表中有相关记录,则主表禁止删除记录 D. 设置“插入级联”,主表插入新的记录后,在子表自动插入相应的记录

19.在参照完整性的设置中,当主表中删除记录后,如果子表中有相关的记录,禁止删除,则应将“删除”规则设置为 。

A.忽略 B.级联 C.限制 D.任意

20.如果对一个数据库表中的所有记录不允许作修改操作,则可将该表的______。 A.UPDATE触发器设置为.F. B.DELETE触发器设置为.F.

C.INSERT触发器设置为.F. D.记录有效性规则设置为.T. 21.当成功执行以下一组命令后,下列不正确的说法是______。 OPEN DATABASE jxsj OPEN DATABASE rsda A.由于打开了第二个数据库rsda,而关闭了数据库jxjs

B.当前数据库是rsda

C.表达式DBUSED(“jxsj”) AND DBUSED(“rsda”)的值为.T. D.当再执行CLOSE DATABASE命令后,jxjs库没有被关闭 22.参照完整性作用是______控制。 A.字段数据的输入 B.记录中相关字段之间的数据有效性

C.表中数据的完整性 D.相关表之间的数据一致性 23.以下______操作不会激活记录的有效性规则检验。 A.修改表的结构并保存时 B.修改表的某一记录时

C.修改了记录值并执行SKIP命令时 D.修改了数据并关闭表时 24.有关参照完整性的删除规定,正确的描述是______。 A.如果删除规则选择“限制”,则当删除父表中记录时系统自动删除子表相关记录

B.如果删除规则选择“级联”,则当删除父表中记录时系统禁止删除子表相关记录 C.如果删除规则选择“忽略”,则当删除父表中记录时系统不负责做任何工作 D.以上三种说法均不对

25. 关于数据库和数据库表,下列叙述中正确的是_________。 A. 当打开数据库中的某张数据库表时,该数据库也将自动地打开

B. 如果数据库中的某张数据库表以独占方式打开,则该数据库中的其他数据库表也只能以独占方式打开 C. 当数据库打开时,该数据库所包含的数据库表也将自动地打开

D. 如果数据库以独占方式打开,则该数据库中的数据库表也只能以独占方式打开 26. 下列关于数据库、表和视图操作的叙述中,错误的是_______________。

A.关闭一个数据库,将自动关闭其所有已打开的数据库表 B.打开一个数据库表,将自动打开其所对应的数据库 C.关闭一个视图所对应的基表,将自动关闭该视图 D.关闭一个视图,不会自动关闭其所对应的基表 27. 在VFP中,如果指定两个表的参照完整性的删除规则为“级联”,则当删除父表中的记录时,________。 A.系统自动备份父表中被删除记录到一个新表中 B.若子表中有相关记录,则禁止删除父表中记录 C.自动删除子表中所有相关记录 D.不作参照完整性检查,删除父表记录与子表无关 28.数据字典里不包含的内容是__________。

A.字段级和纪录级有效性规则 B.数据库表之间的永久性关系 C.插入、更新、删除事件的触发器 D.表的候选索引

第 26 页 共 50 页

29. 在下列有关VFP表索引的叙述中,错误的是:

A.SEEK命令只能基于索引字段进行搜索

B.对于数据库表来说,可以创建VFP系统支持的所有类型的索引 C.在表打开时,系统会自动地将默认的第一个索引作为主控索引 D.表的唯一索引并不能控制字段数据输入时的重复

二、填空题

1.已知某数据库中有学生表和成绩表,且两个表之间已设置了参照完整性(学生表为主表,成绩表为子表)。若在对学生表中的某条记录实施删除操作,因该同学在成绩表中有关的成绩记录而禁止删除,则在这两个表之间一定设置了参照完整性规则: 。

2.在Visual FoxPro中,参照完整性规则包括更新规则、删除规则和 规则。

3.VFP中的数据完整性规则包括:域完整性规则、 、参照完整性规则和用户自定义完整性规则。

4.触发器是绑定在表上的逻辑表达式,当表中的任何记录被指定的操作命令操作时,触发器被激活。触发器的返回值为.T.或.F.,如果为.F.,则 相应的操作。

5.在设置标之间的参照完整性规则时,系统给定的更新和删除规则有3个,即级联、限制和忽略,而插入规则仅有2个,即 。

6.在VFP中创建一个新的数据库后,系统会生成3个文件,其文件扩展名分别为 (数据库文件)、.dct(数据库备注文件).dcx(数据库索引文件)。

7.如果意外地删除了某个数据库文件,由于该数据库中包含的数据库表仍然保留对该数据库引用的后链,因此这些数据库表也不能被添加到其他的数据库中。这时需要利用 命令删除存储在数据库表中的后链,使之成为自由表。

8.VFP数据库由数据库表、 、连接和存储过程四部分组成。

9. 设数据库sjk.dbc真表xs.dbf已设置了主索引、字段的默认值。如果将xs.dbf移出sjk.dbc,则主索引转换为 ,字段的默认值变成无效。

10.在VFP中, 是保存在数据库中的过程代码,它由一系列用户自定义函数(过程)或在创建表之间参照完整性规则时系统创建的函数(过程)组成。

11.触发器是绑定在表上逻辑表达式,当表中的任何记录被指定的操作命令操作时,触发器被激活。如果触发器的返回值是 ,则系统不执行相应的操作。

12.利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表的字段或视图的有关属性。例如,要设置当前数据库中JS表的gh字段的标题属性,可以使用函数: DBSETPROP(“js.gh”,” ”,”Caption”,”工号”)

13.设sjk1.dbc、sjk2.dbc、sjk3.dbc、sjk4.dbc和sjk5.dbc分别是存在在当前工作路径中的五个数据库文件名,用户可以使用OPEN DATEABSE命令打开数据库。在VisuM FoxPro系统的命令窗口中,依次执行下列命令后,则被打开的数据库文件个数有 。

CLOSE DATEABSE ALL OPEN DATEABSE sjk1 OPEN DATEABSE sjk2 OPEN DATEABSE sjk3 OPEN DATEABSE sjk4 OPEN DATEABSE sjk5

14、利用DBGETPROP( )函数,可以返回当前数据库的属性,也可以返回当前数据库中表、表的字段或视图的有关属性。例如,要得到JS表的记录级有效性规则表达式,可以使用函数:DBGETPROP(“js”,” ”, “RuleExpression”)。

15.将数据库表变为自由表的命令是 TABLE。 16.以下是数据库表xs.dbf中csrq字段的属性设置图示。

第 27 页 共 50 页

现在命令窗口中执行下述命令: OPEN DATA sjk &&打开xs表所属的数据库sjk ?DBGETPROP (“xs.csrq”, “FIELD”, “RuleText”) 则在VFP主窗口中显示的信息是: 。 17.“参照完整性”是用来控制数据的完整性,尤其是控制数据库中相关表之间的主关键字和外部关键字之间数据一致性的规则。要建立参照完整性的相关表必须在数据库中,且已建立了 ,参照完整性规则的代码被保存在数据库的存储过程中,而规则的实施由主表和子表的 完成。 18.“参照完整性”是用来控制数据的完整性,尤其是控制数据库中相关表之间的主关键字和 之间数据一致性的规则。

19.表之间的临时关系可建立于任何表之间,但永久性关系只能建立于 表之间。

20.若数据库表的插入触发器设置为.F.,则当向该表中插入一条空记录时,屏幕显示 。

21. 数据库表的触发器是在对表的记录进行操作时实施的检验规则。触发器分为更新触发器、 和插入触发器三种。

22. 利用DBSETPROP()函数,可以给当前数据库或当前数据库中表的字段、表或视图设置属性。例如要设置表中字段的标题属性,可以使用函数:

DBSETPROP(“CJ.CJ”,”FIELD”,”___ ___”,”成绩”)

23.在VFP中所谓自由表就是那些不属于任何 的表。

24. 利用DBGETPROP()函数,可以返回当前数据库的属性,或返回当前数据库中表的字段或视图的有关属性。例如,要返回当前数据库中CJ表的记录有效性规则,可以使用函数: DBGETPROP(“CJ”,”_______ _______”,”RuleExpression”)

25.在 Visual FoxPro 中视图可以分为本地视图和 视图。

第五章 查询和视图一、选择题

1.利用查询设计器创建的查询,其查询结果输出去向的默认类型时 。

A.临时表 B.浏览 C.表 D.屏幕 2.下列关于视图和查询的叙述中,不正确的是 。

A.查询是只读型数据,而视图可更新数据源 B.视图具有更新源表中的数据,存在与数据库中 C.视图不以独立的文件形式存储,没有文件名 D.查询可以更新数据源,视图也有此功能 3.将查询结果放在数组里,就使用______短语。 A.INTO CURSOR B.TO ARRAY C.INTO TABLE D.INTO ARRAY 4.下列说法中正确的是 。

A. 视图文件的扩展名是.vcx B. 查询文件中保存的是查询的结果

第 28 页 共 50 页

22. 在一个工资管理数据库中,有一个表GZGL,其结构如表所示。

字段名 GH XM ZC GZ 类型 C C C N 长度 6 8 10 6 小数位 2 含义 工号 姓名 职称 工资 现在要查询出各种职称的人数及平均工资,查询结果中只包含人数超过1的人的职称分组信息。使用的SELECT 语句如下,请补充完整。

SELECT GZGL.ZC, , AVG(GZ) AS 平均工资;

FROM GZGL; GROUP BY ZC; ORDER BY 人数;

23.教学管理数据库中含有课程表(kc)及成绩表(cj)。课程表中有以下字段:课程代号(kcdh),课程名(kcm),学分(xf);成绩表中有以下字段:学号(xh),课程代号(kcdh), 成绩(cj)。成绩表记录了全体学生所学各门课程的成绩。现根据上述两表查询总学分已超过100的所有学生情况(要求输出:学号,平均分,总学分,并按学号的升序排列),可使用下述命令。(注:成绩小于60分的学分设置为0)

SELECT xh AS学号, AS平均分,sum(iif(cj>=60,xf,0)) AS总学分; FROM kc , cj

WHERE ; GROUP BY xh ;

HAVING 总学分>=100; ORDER BY xh

24.在SELECT-SQL 语句中为了将查询结果存储到临时表应该使用into 短语。 25.商品数据库中有两个表:商品基本信息表(spxx.dbf)和销售情况表(xsqk.dbf),表结构分别如下,且spxx表已经建立结构复合索引,索引表达式为spbh。

商品基本信息表(spxx.dbf) | 销售情况表(xsqk.dbf) 商品编号 spbh C,6 | 流水号 lsh C,6 商品名称 spmc C,20 | 销售日期 xsrq D 进货价 jhj N,12,2 | 商品编号 spbh C,6 销售价 xsj N,12,2 | 销售数量 xssl N,8,2 备注 bz M | 销售金额 xse N,12,2

要求在向销售情况表中添加记录时,对流水号自动加1,对位数不足字段宽度的流水号,在字符串前以字符\补足,如\补\后应为\。下列程序段就是用来完成上述功能,请将它写完整: SELECT MAX(lsh) FROM xsqk INTO CURSOR cMaxlshtmp LOCAL lcMaxlsh,lcNextlsh

lcMaxlsh= cMaxlshtmp.lsh &&求出xsqk表中最大的流水号 lcNextlsh= (lcMaxlsh)+1 &&下一个流水号在最大流水号上加1 INSERT INTO xsqk (lsh) VALUE(PADL(lcNextlsh,5,'0'))

USE cMaxlshtmp &&将临时表关闭

27.Select语句支持并运算,使用关键字 可以把多条查询语句结果合并成到一起。

28.现要求基于数据库sjk中的学生表(xs.dbf)和成绩表(cj.dbf)查询计算机科学系中所有成绩总分在465分以上(含465分),并且各门课程的成绩均不得低于60分的学生。要求在查询的结果中包含每个学生的学号、姓名、总分、平均分和各门课程的最低分,并按照总分的降序排序。 请根据上述要求完善以下SELECT-SQL命令。

第 34 页 共 50 页

学生表(xs.dbf) 字段名 XH(学号) XM(姓名) XB(性别) ZYDH(专业代号) XIMING(系名) 类型 C C C C C 宽度 8 8 2 6 16 字段名 CCXH(学号) 成绩表(cj.dbf) 类型 C C N C 宽度 8 4 3 2 小数位 0 KCDH(课程代号) CJ(成绩) DJ(等级) SELECT XS.XH,XS.XM,SUM(CJ.CJ) AS 总分, AVG(CJ.CJ) AS 平均分,; AS 最低分; FROM sjk!xs INNER JOIN sjk!cj ON XS.XH= ; WHERE XS.XIMING= “计算机科学系”; GROUP BY XS.XH; HAVING 总分>=465 AND ; ORDER BY 3

28.设某图书资料室的“图书管理”数据库中有三张表:TS.dbf(图书表)、DZ.dbf(读者表)与JY.dbf(借阅表),表结构如下: TS.dbf结构 字段名 编号 分类号 书名 出版单位 作者 单价 藏书册数 C(10) C(10) C8) C(20) C(8) N(7,2) N(4) DZ.dbf结构 字段名 借书证号 单位 姓名 性别 职称 地址 字段类型 C(6) C(18) C(8) C2) C(10) C20) JY.dbf结构 字段名 借书证号 编号 借书日期 还书日期 字段类型 C(6) C(10) D(8) D(8) 字段类型 完善下列语句以查询该图书资料室各出版单位出版图书的藏书册数、总金额和平均单价: SELECT 出版单位, SUM(藏书册数) AS 藏书总册数,;

AS 总金额, AVG(单价) AS 平均单价; FROM 图书管理!TS; GROUP BY 出版单位

完善下列语句以查询借阅次数在10次(含10次)以上的读者的借书证号、姓名、单位和借阅次数: SELECT DZ.借书证号, DZ.姓名, DZ.单位, COUNT( * ) AS 借阅次数,;

FROM 图书管理! DZ INNER JOIN 图书管理!JY; ON DZ.借书证号= ; GROUP BY 1;

借阅次数>=10

29.设有教师表和和教师任课表结构如下表所示: 字段名 gh xm xb ximing C C C C 教师表(js.dbf) 类型 宽度 5 8 2 20 含义 工号 姓名 性别 系名 字段名 gh kch kcmc kss 教师任课表(rk.dbf) 类型 C C C N 宽度 5 2 30 5 含义 工号 课程号 课程名 课时数 每位教师的基本教学任务是300课时,超额部分按每课时40元发放超课时费。下列命令用来查询每个教师的超课时费总数(一个教师可以上多门课),并将其存放到表ksf.dbf中,请将其完善。

第 35 页 共 50 页

SELECT js.gh,js.xm,SUM(rk.kss) AS 总课时; FROM js,rk; WHERE js.gh=rk.gh; GROUP BY ; INTO CURSOR zksTmp SELECT gh,xm, (总课时-300)*40 AS 超课时费; FROM zksTmp; WHERE 总课时>300; 30.已知某数据库sjk中有两张表:学生表(xs.dbf)和成绩表(cj.dbf),如下表所示。下列的SELECT语句用于查询那些至少有一门课程不及格的学生的平均成绩。请完善代码: 学生表(xs.dbf) 字段名 xh xm xb csrq 类型 C C C D 宽度 8 8 2 8 含义 学号 姓名 性别 出生日期 字段名 xh kcdh cj 成绩表(cj.dbf) 类型 C C N 宽度 8 2 3 含义 学号 课程代号 成绩 SELECT Xs.xh, Xs.xm, AVG(Cj.cj) as 平均成绩;

FROM sjk!xs INNER JOIN sjk!cj ON Xs.xh = Cj.xh; GROUP BY ; HAVING ;

ORDER BY 3 DESC

31.已知某数据库中有教师表(js.dbf)和职称表(zc.dbf),如下表所示。请完善下列的SELECT语句,查询各职称中教师参加工作时年龄最小的教师的姓名、职称、出生日期、工作日期和参加工作年龄。

教师表(js.dbf) 字段名 gh xm xb zcdh csrq gzrq jl 类型 C C C C D D M 宽度 6 8 2 2 8 8 4 含义 工号 姓名 性别 职称代号 出生日期 工作日期 简历 字段名 zcdh zc 职称表(zc.dbf) 类型 C C 宽度 2 10 含义 职称代号 职称 SELECT Js.xm,Zc.zc,Js.csrq,Js.gzrq,MIN( ) AS 最小工作年龄; FROM sjk!js INNER JOIN sjk!zc ON js.zcdh=zc.zcdh; GROUP BY ; ORDER BY 5

32. 设USER表(右图所示)含有工号(gh,C,4)和奖金(jj,N,4)等字段,其数据如下:针对该USER表,执行下列查询命令:

GH JJ SELECT COUNT(*) AS 人数, AS 奖金总和,;

1101 300 AVG(jj) AS 平均奖金;

1102 200 FROM user

则查询得到的记录数为 . 1103 .NULL. 33.设某图书管理数据库中有三张表:图书.dbf、读者.dbf与借阅.dbf。表结构如下:

1104 100 1105 第 36 页 共 50 页

.NULL. 图书.dbf 字段名 总编号 分类号 书名 出版单位 作者 单价 字段类型 C(10) C(10) C(28) C(20) C(8) N(7,2) 读者.dbf 字段名 借书证号 单位 姓名 性别 职称 地址 字段类型 C(6) C(18) C(8) C(2) C(10) C(10) 借阅.dbf 字段名 借书证号 总编号 借书日期 字段类型 C(6) C(10) D(8) 完善下列语句以查询各出版社出版图书的最低单价、平均单价和册数。 SELECT 出版单位,MIN(单价) AS 最低单价,;

AVG(单价) AS 平均单价,COUNT(*) AS 册数; FROM 图书管理!图书;

完善下列语句以查询借阅了4本(含4本)以上图书的读者姓名和单位。 SELECT 姓名,单位 FROM 图书管理!读者 WHERE 借书证号 IN;

(SELECT 借书证号 FROM 图书管理!借阅;

GROUP BY 1 HAVING )

34. 某数据库中有下列所述结构的两张表(brda和mxb),并且已创建了一对多关系。

病人档案表(brda) 字段名 病历号 姓名 性别 年龄 联系地址 类型 C C L N C 宽度 6 8 1 3 40 病人取药明细情况表(mxb) 字段名 病历号 药品编号 单价 数量 日期 类型 C C N N D 宽度 6 8 7,2 3 8 (1)下列的查询语句用于查询病人用药总金额大于5000的病人信息(病历号、姓名、总金额),请完善该语句: SELECT 病历号,姓名,SUM(单价*数量) AS 总金额;

FROM brda,mxb;

WHERE ; GROUP BY 1;

HAVING (2)如果对mxb.dbf表按病历号升序排序,在病历号相同的情况下,按日期升序排序,则索引表达式为_____________。

第六章 对象模型和事件模型一、选择题

1.下列控件中, 均不能直接添加到表单上。

A.文本框、页框 B.页面、选项按钮 C.形状、命令按钮 D.列表框、组合框

2.一些关联的类可以包含同名的方法程序,但方法程序的内容可以不同。类的这种特征称为类的______。 A.多态性 B.抽象性 C.封装性 D.继承性 3.下列几组控件中, 都是容器控件。

A.命令按钮组、选项按钮、形状 B.页面、表格、页框

C.表格列、命令按钮、标签 D.列表框、微调框、选项按钮组

第 37 页 共 50 页

4.对于列表框控件,当其控件中的内容发生改变时,将触发 事件。

A.InteractiveChange B.Init C.Destroy D.GotFocus 5.下列四个事件:Init、Load、Activate、Destroy发生的顺序为 。

A.Init、Load、Activate、Destroy B.Load、Init、Activate、Destroy C.Activate、Init、Load、Destroy D.Destroy、Load、Init、Activate 6.下列基类中,不能以 基类创建子类。

A.选项按钮 B.页框 C.标签 D.容器 7.对于任何子类或对象,一定具有的属性是 。

A.Caption B.BaseClass C.FontSize D.ForeColor 8.下列控件中, 均能以表单为他们的直接容器。

A.组合框、页面、标签 B.页框、表格、文本框 C.选项按钮、命令按钮、形状 D.容器、表格列、编辑框 9.用户在VFP中创建子类或表单时,不能新建的是 。

A.属性 B.方法 C.事件的方法代码 D.事件 10.如果要引用当前对象,则可以使用下列 关键字。

A.Thisform B.This C.Parent D.都可以 11.在事件代码中相对引用当前表单集的关键字是 。

A.This B.Thisform C.Thisformset D.都可以 12.子类或对象具有延用父类的属性、事件和方法的能力,称为类的 。 A.继承性 B.抽象性 C.封装性 D.多态性 13.创建对象时发生 事件。

A.LostFoucs B.IneractiveChage C.Init D.Click

14.从CommandButton基类创建子类cmdA和cmdB,再由cmdA类创建cmdAA子类,则cmdA、cmdB和cmdAA必具有相同的 。

A.Caption属性 B.Name属性 C.BaseClass属性 D.ParentClass属性 15. 如果要引用一个控件所在的直接容器对象,则可以使用下列 属性。

A.This B.Thisform C.Parent D.都可以 16.有关控件对象的Click事件的正确叙述是 。

A.用鼠标双击对象时引发 B.用鼠标单击对象时引发

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

17.关闭当前表单的程序代码是ThisForm.Release,其中的Release是表单对象的 。

A.标题 B.属性 C.事件 D.方法 18.下列几组控件中,均可以包含其它控件的是 。 A.选项按钮组、表单集、计时器 B.列表框、页框、文本框

C.列、命令按钮组、页面 D.命令按钮、表单、组合框 19.下面关于类、对象、属性和方法的叙述中,错误的是 。

A.类是对一类相似对象的描述,这些对象具有相同种类的属性和方法 B.属性用于描述对象的状态,方法用于表示对象的行为

C.基于同一个类产生的两个对象可以分别设置自己的属性值 D.通过执行不同对象的同名方法,其结果必然是相同的 20.让控件获得焦点,使其成为活动对象的方法是 。

A.SHOW B. RELEASE C.SETFOCUS D.GOTFOCUS

21.类具有包含和隐藏对象信息,如内部数据结构和代码的能力。这称为类的______。 A.继承性 B.抽象性 C.封装性 D.多态性 22.建立事件循环的命令为 。

A.READ EVENTS B.CLEAR EVENTS C.DO WHILE ENDDO D.FOR…ENDFOR 23.下列关于子类的存储的说法中正确的是______。

第 38 页 共 50 页

本文来源:https://www.bwwdw.com/article/y3q3.html

Top