VFP习题

更新时间:2024-06-13 02:18:01 阅读量: 综合文库 文档下载

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

第一章 数据库系统基础知识

一、单选题及解析

1.信息世界的主要对象称为( )。 A. 关系 B. 属性 C. 记录 D. 实体

【解析】本题考查的知识点是实体、关系及相关的概念。客观存在并可以相互区分的事物叫实体,它可以是人、物等实际的对象,也可以指事物与事物之间的联系。一个实体具有不同的属性,属性描述了实体某一方面的特性。在Visual FoxPro中,用“表”来表示同一类实体,通常将一个没有重复行、重复列的二维表看作一个关系。表中的行称为记录,代表一个具体实体,但记录是计算机世界的术语。因此选项D正确。 【答案】D

2.用Visual FoxPro进行工资管理,属于计算机的( )。 A. 科学计算应用 B. 过程控制应用 C. 数据处理应用 D. 辅助工程应用

【解析】本题考查的知识点是数据处理的概念。数据处理是将数据进行收集、整理、存储、加工、分类、维护、排序、检索和传输等处理。它不仅可以对数值进行计算,而且需要处理大量的文字信息和其他信息。因此选项C正确。 【答案】C

3.数据库系统和文件系统的主要区别是( )。 A.文件系统简单,而数据库系统能管理各种类型的文件 B.文件系统只能管理数据文件,而数据库系统能管理大量数据 C.文件系统只能管理少量数据,而数据库系统能管理大量数据 D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以.

【解析】本题考查的知识点是数据管理技术的发展。计算机管理数据的方式经历了人工管理、文件系统和数据库系统三个发展阶段。数据库系统提供了数据共享功能,较好解决了数据冗余的问题。同时将数据与处理数据的程序分开,解决了数据独立性问题。因此选项D正确。选项A错误的原因是文件系统并不简单。选项B、C错误的原因是文件系统也能管理大量数据,而数据库系统也能管理数据文件。 【答案】D

4.在关系运算中,查找满足一定条件的元组的运算称之为 ( ) 。 A. 复制 B. 选择 C. 投影 D. 连接

【解析】本题考查的知识点是关系的基本运算。关系运算有三种:选择、投影和连接。选择运算是从关系中查找符合指定条件的元组;投影是从关系中选取若干个属性的操作;连接运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作。复制就是拷贝的意思。因此,选项A、C、D错误。 【答案】B

5.如果一个关系中的属性或属性组不是该关系的关键字,但它们是另外一个关系的关键字,则称这个关键字为该关系的( )。

A. 主关键字 B. 内关键字 C. 外部关键字 D. 关系

【解析】本题考查的知识点是关键字的概念。关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。关键字又包含候选关键字、主关键字和外部关键字,但没有内关键字的说法。关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。在候选关键字中选定一个作为关键字,称为该关系的主关键字。因此选项

C正确。 【答案】C

6.数据库、数据库系统、数据库管理系统这三者之间的关系是( )。 A.数据库系统包含数据库和数据库管理系统。 B.数据库管理系统包含数据库和数据库系统。 C.数据库包含数据库系统和数据库管理系统。 D.数据库系统就是数据库,也就是数据库管理系统。

【解析】本题考查的知识点是数据库系统的基本概念。数据库系统是由计算机系统、数据库DB(Database)及其描述机构、数据库管理系统(DBMS)和有关人员,例如DBA (Database Administrator等)组成的具有高度组织性的总体。可见,数据库管理系统和数据库都是数据库系统的组成部分。因此选项A正确。 【答案】A

7.一个关系相当于一张二维表,二维表中的各栏目相当于该关系的( )。 A. 数据项 B. 元组 C. 结构 D. 属性

【解析】本题考查的知识点是关系模型的基本概念。一个关系就是一张二维表,表的每一行在关系中称为元组,表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。因此选项D正确。表结构还包括属性的数据类型、长度等,因此选项C错误。 【答案】D

8.在关系型数据库管理系统中,所谓关系是指( )。 A.各条数据记录之间存在着一定的关系。 B.各个字段数据之间存在着一定的关系。

C.一个数据库与另一个数据库之间存在着一定的关系。 D.满足一定条件的一个二维数据表格。

【解析】本题考查的知识点是关系的概念。关系型数据库管理系统支持的数据模型是关系型,一个关系就是一张二维表格。因此选项D正确。 【答案】D

9.一个数据库管理系统是( )。

A.一个软件 B. 一台存有大量数据的计算机 C. 一种设备 D.一个负责管理大量数据的机构。

【解析】本题考查的知识点是数据库管理系统的定义。在Visual FoxPro中,数据库管理系统是用于实现数据管理的系统软件。因此选项A正确。 【答案】A

10.一个关系型数据库管理系统应具备的三种基本关系操作是( )。 A. 选择、投影与联接 B编辑、浏览与替换 C. 插入、删除与修改 D.排序、索引与查询。

【解析】本题考查的知识点是关系型数据库管理系统的基本关系运算。Visual FoxPro是一种关系型DBMS,它应具备三种基本关系运算,分别是选择、投影和联接。 【答案】A

11.Visual FoxPro数据库管理系统的数据模型是( )。 A. 结构型 B. 关系型 C. 网状型 D. 层次型

【解析】本题考查的知识点是数据模型的分类。数据库管理系统支持的数据模型分三种,分别是层次型、网状型和关系型。Visual FoxPro 6.0是一种关系数据库管理系统。因此选项B正确。 【答案】B

12.在关系理论中,把能够惟一地确定一个元组的属性或属性组合称之为( )。 A. 索引码 B. 关键字 C. 域 D. 外码

【解析】本题考查的知识点是关系模型的有关概念。关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。属性的取值范围称为域。外码即外部关键字,当关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。所以,选项C、D不正确。 【答案】B

13.设“职工档案”数据表中有职工编号、姓名、年龄、职务、籍贯等字段,其中可作为关键字的字段是( )。

A. 职工编号 B. 姓名 C. 年龄 D. 职务

【解析】本题考查的知识点是关键字的概念。关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。每个职工的职工编号的值是惟一的,能惟一区分、确定不同元组,因此职工编号可作为关键字段。而姓名、年龄、职务的值都有可能出现重复值的情况,不能惟一区分、确定不同元组,所以B、C、D选项不正确。 【答案】A

14.关系代数运算是以( )为基础的运算,它的基本操作是并、差、笛卡儿积、投影和选择。 A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算

【解析】本题考查的知识点是关系代数运算的特点。传统的集合运算,包括并、差、交、广义笛卡儿积,这类运算将关系看成是元组的集合,其运算是从关系的“水平”方向,即“行”的角度来进行的。 【答案】C

15.在已知的教学环境中,一名学生可以选择多门课程,一门课程可以被多名学生选择,这说明学生记录型与课程记录型的联系是( )。

A. 一对一 B. 一对多 C. 多对多 D. 未知

【解析】本题考查的知识点是实体之间的联系。实体之间的联系有三种,第一种是一对一联系(1:1):如果两个不同型实体集中,一方的一个实体只与另一方的一个实体相对应,称这种联系为—对一联系。第二种是一对多联系(1:n):如果两个不同型实体集中,一方的一个实体对应另一方若干个实体,而另一方的一个实体只对应本方的一个实体,称这种联系为一对多联系。第三种是多对多联系(m:n):如果两个不同型实体集中,两实体集中任一实体均与另一实体集中若干个实体对应,称这种联系为多对多联系。因此答案C正确。 【答案】C

16.用户启动Visual FoxPro后,若要退出系统,回到windows环境,可在命令窗口中输入( )命令。

A. QUIT B. EXIT C. CLOSE D. CANCEL

【解析】本题考查的知识点是退出Visual FoxPro的命令。使用命令方式退出Visual FoxPro系统的正确操作是在命令窗口输入QUIT命令后按回车键,因此选项A正确。CLOSE命令的功能是关闭某个文

件。EXIT和CANCEL命令在交互方式下不起作用。 【答案】A

二、填空题及解析

1.要想显示或隐藏常用工具栏,可单击____________菜单中的“工具栏”命令,在工具栏中选择“常用”,单击“确定”按钮。

【解析】本题考查的知识点是工具栏的定制操作。要显示或隐藏工具栏,可选择“显示”菜单中的“工具栏”命令。 【答案】显示

2.数据库管理系统支持的数据模型有层次型、网状型和 三种。

【解析】本题考查的知识点是数据模型。数据模型是对客观事物及其联系的数据描述,它反映实体内部和实体之间的联系。数据库管理系统支持的数据模型有层次模型、网状模型和关系模型三种。 【答案】关系型

3.为改变关系的属性排列顺序,应使用关系运算中的 运算。

【解析】本题考查的知识点是关系运算。关系运算有三种:选择、投影和连接。从关系中选取若干个属性的操作是投影运算。命令中选用FILEDS子句或设置字段过滤器,也能实现投影运算。 【答案】投影

4.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是 。

【解析】本题考查的知识点是数据库系统的基本概念。数据库系统是由计算机系统、数据库DB(Database)及其描述机构、数据库管理系统(DBMS)和有关人员,例如DBA(Database Administrator等)组成的具有高度组织性的总体,因此,数据库系统包含数据库和数据库管理系统。 【答案】数据库系统包含数据库和数据库管理系统。

5.在Visual FoxPro中,一个数据记录是由若干个 组成的,而若干个记录则构成了一个 。

【解析】本题考查的知识点是Visual FoxPro关系数据库的组成。在Visual FoxPro中,表由表结构与若干个数据记录组成,表结构对应关系模式。每个记录由若干个字段构成,而若干个记录则构成了一个数据表。

【答案】字段、数据表

6.二维表中的每一列称为字段,或称为关系的一个 ;在二维表中的每一行称为一个记录,或称为关系的一个 。

【解析】本题考查的知识点是关系模型的基本概念。二维表的每一行在关系中称为元组。在Visual FoxPro中,一个元组对应表中一个记录。二维表的每一列在关系中称为属性,一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。 【答案】属性、元组

7.在一个关系中有这样一个或几个字段,它们的值可以惟一地标识一条记录,这样的字段被称为 。 【解析】本题考查的知识点是关键字的基本概念。关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。 【答案】关键字

8. Visual FoxPro是运行于Windows平台的 系统,它在支持标准的面向过程的程序设计方式的同时,还支持 的程序设计方式。

【解析】本题考查的知识点是Visual FoxPro的特点。Visual FoxPro是一种运行在Windows平台的数据库管理系统,它在支持标准的面向过程的程序设计方式的同时,还支持面向对象 的程序设计方式。

【答案】数据库管理、面向对象

9.关系数据库中的每个关系的形式是 。

【解析】本题考查的知识点是关系模型的基本概念。一个关系就是一张二维表。通常将一个没有重复行和重复列的二维表看成一个关系,每个关系都有一个关系名。在Visual FoxPro中,一个关系对应于一个表文件,其扩展名为.dbf。 【答案】二维数据表

10. Visual FoxPro的三种基本操作方式是:命令操作方式、 和 方式。

【解析】本题考查的知识点是Visual FoxPro的操作方式。Visual FoxPro系统为用户提供了三种各具特点的操作方式,分别是菜单操作方式、命令操作方式、程序工作方式。用户可根据需要选择合适的操作方式,实现数据库的操作和应用。 【答案】菜单操作方式、程序工作方式

11.信息是有用的 。

【解析】本题考查的知识点是信息与数据这两个概念及二者关系。数据和信息是两个相互联系但又相互区别的概念。数据是信息的具体表现形式,一定形式的数据表示某一确定的信息,但并非所有数据都能成为信息;信息是数据有意义的表现,同一信息可以用不同形式的数据表示。 【答案】数据

12.数据库系统应当由数据库及描述机构、 、 和有关人员,例如DBA(Database Administrator等)4部分组成。

【解析】本题考查的知识点是数据库系统的组成。数据库系统是由计算机系统、数据库DB(Database)及其描述机构、数据库管理系统(DBMS)和有关人员,例如DBA(Database Administrator等)组成的总体。 【答案】计算机系统、数据库管理系统

13.关系模型的三种数据完整性约束指 、 、 。 【解析】本题考查的知识点是关系的完整性约束。关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。实体完整性和参照完整性是关系模型必须满足的完整性约束条件。用户定义完整性则是根据应用环境的要求和实际需要,对某一具体应用所涉及的数据提出约束条件。这—约束机制一般不应由应用程序提供,而应该由关系模型提供定义并检验。 【答案】实体完整性、参照完整性、用户定义完整性

14.实体间的联系分为 、 、 。

【解析】本题考查的知识点是实体之间的联系。实体间的联系是指一个实体集中可能出现的每一个实体与另一实体集中多少个具体实体存在联系。实体之间有各种各样的联系,归纳起来有三种类型,分别是一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)。 【答案】一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)。

29.执行下列命令后的显示结果是( )。 D=CTOD(\ ?DTOC(D)+10

A.16/12/05 B.06/22/05 C.06/12/15 D.以上答案都不对

【解析】本题考查的知识点是运算符与表达式。CTOD(\将字符型常量\转换为日期型数据,DTOC(D)又将日期型数据转换成字符型,而10是数值型,DTOC(D)+10两个操作数类型不匹配,因此选项D正确。 【答案】D

30.执行下列命令后的显示结果是( )。 X=4 ?X=X+10

A..T. B..F. C.4 D.14

【解析】本题考查的知识点是运算符与表达式。X是一个数值型变量,X=X+10是关系表达式,很明显4不等于14,因此选项B正确。 【答案】B

31.要判断变量X是否能够被5整除,错误的条件表达式是( )。 A.MOD(X,5)=0 B.0=MOD(X,5) C.INT(X/5)=X/5 D.INT(X/5)=MOD(X/5)

【解析】本题考查的知识点是运算符与表达式。要判断一个整数是否被另一个整数整除,一个办法是看其余数是否为0,选项A和B都是这个办法,另一个办法是看商是否为整数,选项C采用这个办法,而选项D是判断商是否等于余数,不能判断是否整除,因此选项D正确。 【答案】D

32.下列表达式的值为逻辑真的是( )。 A.\ B.345>1235

C..F.>.T. D.CTOD(\

【解析】本题考查的知识点是运算符与表达式。字符型、数值型、日期与时间型、逻辑型等数据类型都可以进行关系运算,字符型数据比较时,对于西文字符,按其ASCII码大小进行比较:空格最小,数字其次,然后是大写字母,最大的小写字母,对于汉字则国标码大小排列,常用的汉字可以根据其拼音来排序,故选项A为逻辑真,因此选项A正确。数值型数据按值的大小进行比较,因此选项B为逻辑假。逻辑型数据比较,逻辑真大于逻辑假,因此选项C为逻辑假。日期与时间型数据按日期的先后顺序进行比较,日期在前为小后为大,因此选项D为逻辑假。 【答案】A

33.可以参加逻辑运算的对象有( )。 A. 只能是逻辑型数据

B. 可以是字符型、逻辑型数据

C. 可以是字符型、数值型、逻辑型数据

D. 可以是字符型、数值型、日期型、逻辑型数据。

【解析】本题考查的知识点是运算符与表达式。Visual FoxPro中只有逻辑型数据才能参与逻辑型运算,因此选项A正确。

【答案】A

34.执行下列命令后的显示结果是( )。 A=5 B=A=A+2 C=.F.<.T. ?B.OR.C

A..F. B..T. C.B D.C

【解析】本题考查的知识点是运算符与表达式。Visual FoxPro中等号(=)的作用有两个:赋值和关系元素,B=A=A+2中第一个等号(=)起赋值作用,右边的表达式是一个关系运算符,故变量B的值为.F.,C=.F.<.T.中右边的表达式为.T.,故变量C的值为.T.。因此选项B正确。 【答案】B

35.执行下列命令后,显示结果是( )。 A=\ B=\

?SUBSTR(A,IIF(A<>B,LEN(A),LEN(B)),LEN(A)-LEN(B)) A.X B.Y C.Z D.W

【解析】本题考查的知识点是运算符与表达式。LEN(A)的值为4,LEN(B)的值为3,所以IIF(A<>B,LEN(A),LEN(B))的值为3,而SUBSTR(A,3,1)的值为\,因此选项C正确。 【答案】C

二、填空题及解析

1.在VFP数据表中,放置相片信息的数据类型是( ),可以用大写字母( )表示这种数据类型,该类型的长度为( )。

【解析】本题考查的知识点是数据类型。Visual FoxPro中只有通用型数据能放置相片信息,通用型数据可用大写字母G表示,固定长度为4。 【答案】通用型 、 G 、 4

2.内存变量文件的扩展名为( ),若要将保存在内存变量文件AL1中的内存变量读入内存,则执行的命令是( )

【解析】本题考查的知识点是内存变量的操作。内存变量可以以文件形式保存到磁盘,内存变量文件的扩展名为.MEM,从文件读入内存的命令为RESTORE FROM。 【答案】.MEM 、RESTORE FROM AL1

3.有两个命令可以显示内存变量:LIST MEMORY和DISPLAY MEMORY,两个命令动词的区别是LIST( )所有内存变量,而DISPLAY( )所有内存变量。

【解析】本题考查的知识点是内存变量的操作。内存变量的显示有两个命令:LIST MEMORY和DISPLAY MEMORY,LIST MEMORY一次显示所有内存变量,而DISPLAY MEMORY分屏显示所有内存变量。 【答案】一次显示、 分屏显示

4.现有内存变量X1,Y2,E,ACC1,AL1,AED,要把前面三个变量存入内存变量文件AL1.MEM中,应使用命令( )。

【解析】本题考查的知识点是内存变量的操作。内存变量的保存可以按一定的共同特征来进行,在这里前

面三个变量没有共同特征,但剩下来的三个变量都是以大写字母A开头,因此可以用ALL EXCEPT子句来实现。

【答案】SAVE TO AL1 ALL EXCEPT A*

5.Visual FoxPro的内存变量可以有多种数据类型,它们可以是( )。

【解析】本题考查的知识点是内存变量的数据类型。内存变量的数据类型由赋给变量的值的类型决定,有6种数据类型可以给内存变量赋值:字符型、数值型、货币型、日期型、日期时间型和逻辑型。 【答案】字符型、数值型、货币型、日期型、日期时间型和逻辑型

6.用DIMENSION A(2,3)命令定义一个二维数组A, 该数组的元素个数为( )。

【解析】本题考查的知识点是数组定义。二维数组的个数是两个下标之积,A(2,3)共有六个数组元素:A(1,1),A(1,2),A(1,3),A(2,1),A(2,2),A(2,3), 【答案】 6

7.写出以下表达式的数据类型:EOF()的数据类型是( ),YEAR(DATE())的数据类型是( ), CTOD(\的数据类型是( )。

【解析】本题考查的知识点是表达式值的数据类型。EOF()函数判断当前记录指针是否指向表尾,其值为逻辑型;YEAR()函数返回日期型数据的年份,其值为数值型;CTOD()将字符型数据转换为日期型数据,日期型数据减去一个数值型数据得到的结果仍然是日期型。 【答案】逻辑型 、 数值型 、日期型

8.设:ABC=\,则函数MOD(INT(VAL(ABC)),LEN(ABC))的值是( )

【解析】本题考查的知识点是函数。 VAL()函数将字符型数据转换成数值型(带小数点),INT()函数取整,LEN()函数返回字符串的长度。 【答案】 2

9.设一个打开的数据表中共有10条记录,若RECNO()函数的值为10,则EOF()函数的值为( ) 【解析】本题考查的知识点是函数。EOF()函数测试当前记录指针是否指向表尾,即是否指向最后一条记录之后,若是则返回逻辑真,否则返回逻辑假。表中共有10条记录,RECNO()函数的值为10,此时当前记录指针执行最后一条记录,因此EOF()函数的值为.F. 【答案】 .F. 10.对应数学式XY3?E 的表达式是( )

5【解析】本题考查的知识点是表达式的书写。这里要注意的是乘号和阶乘的表示。 【答案】 X*Y^3+E^5

第三章 表的基本操作

一、单选题及解析

1.下面有关字段名的叙述中,错误的是( )。 A. 字段名必须以字母、汉字或下划线开头 B. 自由表的字段名最大长度为10 C. 字段名中可以有空格

D. 数据库表中可以使用长字段名,最大长度为128个字符

【解析】本题考查的知识点是字段名的命名。字段名必须以汉字、字母或下划线开头,由汉字、字母、数字或下划线组成。自由表中的字段名最多可为10个字符。

【答案】C

2.下列选项,可作为Visual FoxPro自由表的字段名的是( )。 A. 计算机成绩 B. 2001年成绩 C. 成 绩 D.等级考试成绩

【解析】本题考查的知识点是字段名的命名。自由表中的字段名最多可为10个字符。数据库表中的字段名最多可为128个字符,当数据库表转化为自由表时截去超长部分的字符。 【答案】A

3.在Visual FoxPro表中,记录是由字段值构成的数据序列,但数据长度要比各字段宽度之和多一个字节,这个字节是用来存放( )。

A. 记录分隔标记的 B. 记录序号的 C. 记录指针定位标记的 D. 删除标记的

【解析】本题考查的知识点是记录字段宽度的计算。字段宽度用以表明允许该字段存储的最大字节数或数值位数。记录总的宽度要比各字段宽度之和多一个字节,该字节用来存放删除标记。 【答案】D

4.如果需要给当前表增加一个新字段,应当使用的命令是( )。 A. APPEND B. MODIFY STRUCTURE C. INSERT D. CHANG

【解析】本题考查的知识点是用命令方式修改表结构。增加字段是表结构修改的一个基本操作,应该使用命令MODIFY STRUCTURE。 【答案】B

5.一个表的全部备注字段的内容存储在( )中。 A. 同一备注文件 B. 不同备注文件 C. 同一文本文件 D. 同一数据库文件

【解析】本题考查的知识点是表中备注型字段内容的存储位置。备注型和通用型字段的内容都没有直接存放在表文件中,而是存放在一个与表文件主文件同名的备注文件(扩展名为.FPT)中。表文件中所定义的4个字节的字段宽度仅用于表示数据在.FPT文件中的存储地址。 【答案】A

6.在Visual FoxPro中,要建立一个与现有的数据库表具有相同结构和数据的新数据库表,应该使用( )命令。

A. CREATE B. INSERT C. COPY D.APPEND

【解析】本题考查的知识点是数据库表的原样复制。要复制与现有的数据库表有相同的结构和数据,只能用COPY命令。A选项为创建命令,B和D为添加记录命令。 【答案】C

7.利用( )命令,可以在浏览窗口浏览表中的数据。

A. USE B. BROWSE C. MODIFY STRU D.LIST

【解析】本题考查的知识点是表记录的浏览。在浏览窗口浏览表中的数据的命令为BROWSE,D为将表中数据显示在主窗口屏幕上,A为关闭表命令,C为修改表的结构命令。 【答案】B

8.在Visual FoxPro的表结构中,逻辑型、日期型和备注型字段的宽度分别为( )。

A. 1、8、10 B. 1、8、4 C. 3、8、10 D. 3、8、任意

【解析】本题考查的知识点是字段宽度的设定。Visual FoxPro系统规定货币型、日期型、日期时间型和双精度型数据类型的字段宽度均为8个字节;逻辑型数据类型的字段宽度为1个字节;整型、备注型和通用型数据类型的字段宽度均为4个字节。 【答案】B

9.已知当前表中有60个记录,当前记录为第6号记录。如果执行命令SKIP 3后,则当前记录为第( )号记录。

A. 3 B. 4 C. 8 D.9

【解析】本题考查的知识点是记录的定位,即改变记录指针的位置。表记录的定位有绝对定位和相对定位两种方式。SKIP [<数值表达式>]为相对定位命令,表示从当前记录开始移动记录指针,命令动词后的数值表达式表示记录指针移动的记录的个数。当数值表达式为正值时,记录指针向表尾方向移动,为负值时向表头方向移动。缺省数值表达式值为1。 【答案】D

10.已知存在表文件学生表.DBF,顺序执行下列命令后,最后一条命令的显示结果是( )。

USE 学生表 GO 5 SKIP -2 ? RECNO ()

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

【解析】本题考查的知识点是表中记录指针的移动。首先是绝对定位到第5号记录,然后记录指针从第5号记录向文件头方向移动2个记录。 【答案】A

11.在以下各命令序列中,总能实现插入一个空记录并使其成为第8号记录的是( )。 A. SKIP 7 B. GOTO 7

INSERT BLANK INSERT BLANK C. LOCATE FOR RECNO () =8 D. GOTO 7

INSERT BLANK INSERT BLANK BEFORE

【解析】本题考查的知识点是记录指针的定位及向表中插入记录。A选项不能确定当前记录指针是哪个记录;C选项使插入的空记录成为了第9号记录;D选项使插入的空记录成为了第7号记录。 【答案】B

12.使用REPLACE命令时,如果范围子句为ALL或REST,则执行该命令后记录指针指向( )。 A. 末记录 B. 首记录

C. 末记录的后面 D. 首记录的前面

【解析】本题考查的知识点是范围子句及REPLACE命令。范围子句ALL表示所有的记录,REST表示从当前记录到表尾的所有记录。使用REPLACE命令后,表中的记录指针指向了表尾,即末记录的后面。 【答案】C

13.刚打开数据库表文件,要显示表中1~3号记录,正确的命令是( )。 A. DISPLAY RECORD 3 B. LIST 1, 2, 3

C. DISPLAY NEXT 3 D. DISPLAY 1, 2, 3

【解析】本题考查的知识点是显示命令及范围子句的使用。刚打开数据库表文件,记录指针指向第1号记录,要显示1~3号记录,范围子句可以使用NEXT 3。A选项只显示了第3号记录,B和D选项的范围子句语法错误。 【答案】C

14.逻辑删除表文件中所有记录的正确操作是( )。 A. PACK B. ZAP C. DELETE D.DELETE ALL

【解析】本题考查的知识点是表记录的删除。表记录的删除分为逻辑删除和物理删除两种,使用PACK命令之前需使用DELETE命令先做逻辑删除,ZAP命令表示将表中所有记录进行物理删除,DELETE命令的缺省范围为当前记录。 【答案】D

15.在一个打开的表中将某些记录进行物理删除,应先后使用的两个命令是( )。 A. DELETE、RECALL B. DELETE、PACK C. DELETE、ZAP D. PACK、DELETE

【解析】本题考查的知识点是表记录的删除命令。先使用DELETE命令进行逻辑删除,然后使用PACK命令进行物理删除。 【答案】B

16.假定当前表中有4个数值型字段:高等数学、英语、计算机网络和总分。其中高等数学、英语、计算机网络的成绩均已录入,总分字段为空。要将所有学生的总分自动计算出来并填入总分字段中,应使用命令( )。

A. REPL 总分WITH 高等数学+英语+计算机网络 B. REPL 总分WITH 高等数学,英语,计算机网络 C. REPL 总分WITH 高等数学+英语+计算机网络 ALL D. REPL 总分WITH 高等数学+英语+计算机网络 FOR ALL

【解析】本题考查的知识点是REPLACE成批替换命令。使用REPLACE命令,注意该命令的缺省范围为当前记录,要替换所有的记录,必须加上范围子句ALL;每个WITH后的表达式只能是一个表达式,不能用逗号隔开。 【答案】C

17.执行命令DISPLAY WHILE 性别=\女\时,屏幕上显示了若干个记录,但执行命令DISPLAY WHILE 性别=\男\时,屏幕上没有显示任何记录,这说明( )。 A. 表文件是空文件

B. 表文件中没有性别字段值为“男”的记录

C. 表文件中第一个记录的性别字段值不是“男” D. 表文件中当前记录的性别字段值不是“男”

【解析】本题考查的知识点是WHILE条件子句的含义。WHILE条件子句的作用是在规定的范围内,就对当前记录执行该命令,并把记录指针指向下一个记录;一旦遇到使条件不满足的记录,就停止搜索并结束该命令的执行,即使后面还有满足条件的记录也不执行。 【答案】D

18.要删除当前表文件的“性别”字段,应当使用命令( )。

A. MODIFY STRUCTURE B. DELETE 性别 C. REPLACE 性别WITH \D. ZAP

【解析】本题考查的知识点是表结构的修改。删除表中某个字段,需使用修改表结构命令。 【答案】A

19.执行LIST NEXT 1命令之后,记录指针的位置指向( )。 A. 下一个记录 B. 原来记录 C. 尾记录 D.首记录

【解析】本题考查的知识点是范围子句。NEXT范围子句是指从当前位置开始连续若干条,因此,NEXT 1指当前记录开始连续一条,即原来记录。 【答案】B

20.下列命令用于显示1970年以前(含1970)出生的员工记录,其中错误的是( )。 A. LIST FOR YEAR(出生日期)<=1970

B. LIST FOR SUBSTR(DTOC(出生日期),7,2)<=\ C. LIST FOR LEFT(DTOC(出生日期),2)<=\ D. LIST FOR RIGHT(DTOC(出生日期),2)<=\

【解析】本题考查的知识点是YEAR()、DTOC()、LEFT()、RIGHT()这四个函数的使用及LIST显示命令。YEAR()函数返回日期型数据的年份(数值型);DTOC()函数将日期型数据转换为字符型数据,且格式为MMDDYYYY;LEFT()为左截字符串函数,RIGHT()为右截字符串函数,由此可以判断出C选项错误。 【答案】C

21.打开一个空表,执行?BOF(),EOF()命令后,显示结果为( )。 A. .T. .F. B. .T. .T. C. .F. .F. D. .F. .T.

【解析】本题考查的知识点是BOF()和EOF()两个函数的含义。空表是只有结构而没有记录的表文件,表中的记录指针既指向文件头,又指向文件尾,由此,BOF()和EOF()两个函数值都为逻辑真。 【答案】B

22.下列说法中,不正确的是( )。 A. 二维表中的每一列均有唯一的字段名 B. 二维表中不允许出现完全相同的两行

C. 二维表中行的顺序、列的顺序均可以任意交换 D. 二维表中行的顺序、列的顺序不可以任意交换

【解析】本题考查的知识点是二维表的特点。二维表的特点是:字段名必须唯一;表中不能又完全相同的记录;行的顺序、列的顺序可以任意交换。 【答案】D

二、填空题及解析

1.在Visual FoxPro系统中,表分为两种,即__________和 。

【解析】本题考查的知识点是表的分类。在Visual FoxPro系统中,表一般分为两种,即自由表和数据库表。

【答案】自由表、 数据库表

2.表是由__________和 两部分组成。

【解析】本题考查的知识点是表的基本组成。在Visual FoxPro系统中,表是由结构和记录数据两部分组成。

【答案】结构、 记录数据

3.如果某字段为数值型字段,其整数部分最多为3位、小数部分位2位,则该字段的宽度至少应为__________。

【解析】本题考查的知识点是字段宽度的定义。在Visual FoxPro系统中规定,数值型数据的小数点占1位。 【答案】6

4.如果某记录的备注型字段标志显示为__________,则表明该字段不再为空。

【解析】本题考查的知识点是表中备注型字段的编辑。在备注型字段输入数据后,该字段的memo标志变成Memo。由此,通过查看该字段中memo标志的第一个字母是大写还是小写,可以判断出该备注型字段是否已经输入了内容。 【答案】Memo

5.在全屏幕编辑状态下,按_____ 键可保存文件并退出编辑状态,按__ __键或______键放弃存盘退出。

【解析】本题考查的知识点是在全屏幕编辑状态下表的保存与退出方法。按Ctrl+W键可保存文件并退出此状态,按Esc键或Ctrl+Q键放弃存盘退出。 【答案】Ctrl+W 、 Esc 、 Ctrl+Q

6.表文件的扩展名为___________,如果表结构中包含____ ___类型或_________类型的字段时,会产生一个扩展名为___________的备注文件。

【解析】本题考查的知识点是表文件和备注文件。备注型和通用型字段的内容都没有直接存放在表文件(扩展名为.DBF)中,而是存放在一个与表文件主文件同名的备注文件(扩展名为.FPT)中。 【答案】.DBF 、 备注、 通用 、.FPT

7.浏览窗口显示表记录有两种格式,即__________和 。

【解析】本题考查的知识点是在浏览窗口中表记录的显示方式。在浏览窗口中表记录的显示方式有浏览和编辑两种方式。 【答案】编辑、 浏览

9.删除表中的记录通常分为两个步骤:第一步是__________,第二步是 。

【解析】本题考查的知识点是表记录的删除。对表记录实现物理删除,首先必须进行逻辑删除,然后再物理删除。

【答案】逻辑删除、 物理删除

9.表文件尾位于__________;表文件头位于 。

【解析】本题考查的知识点是表文件的表头和表尾。表文件的表头并不是第一条记录,而是记录指针往上移一个记录,即首记录的前面;表文件的表尾并不是最后一条记录,而是记录指针往下移一个记录,即末记录的后面。

【答案】末记录的后面、 首记录的前面

10.要想逐条显示当前表中所有记录,可以根据 函数值来判断是否已经显示完毕。

【解析】本题考查的知识点是EOF()和BOF()函数的意义。EOF()函数是判断记录指针是否指向文件尾,

可以结合记录指针定位GO命令判断是否己经显示完毕;同样,BOF()函数是判断记录指针是否指向文件头,可以结合记录指针定位SKIP命令判断是否己经显示完毕。 【答案】EOF()或BOF()

11.已知表GZ1.DBF和表GZ2.DBF的结构相同,各包含若干个记录,要将GZ2.DBF文件中的记录添加到GZ1.DBF表尾,应使用命令序列 。

【解析】本题考查的知识点是在一个表的末尾追加另一个表的记录。在一个表的末尾追加另一个表的记录时,需要将作追加记录操作的表打开,然后使用APPEND FROM命令实现。 【答案】USE GZ1 APPEND FROM GZ2

12.要在当前表中第7号记录与第8号记录之间插入一个新记录,可以使用的命令序列是 。 【解析】本题考查的知识点是在表中插入记录操作。正确理解INSERT [BLANK][BEFORE]命令格式,缺省所有可选项,表示在当前记录之后插入新记录。 【答案】GO 7 或 GO 8

INSERT INSERT BEFORE

13.若当前表为图书表,其中字段“分类号”为字符型,要将分类号以字母“I”开头的记录作删除标记,可使用命令 。

【解析】本题考查的知识点是表记录的逻辑删除。删除条件为?分类号以字母“I”开头?,该条件可以使用LEFT()、SUBSTR()或AT()函数实现。作删除标记即逻辑删除,应使用DELETE命令实现。 【答案】DELETE ALL FOR LEFT(分类号,1)= \ 或 DELETE ALL FOR SUBSTR(分类号,1,1)= \ 或 DELETE ALL FOR AT(\分类号)=1

14.物理删除当前表中第9号记录至第13号记录的命令序列是 。

【解析】本题考查的知识点是表记录的物理删除。使用范围子句NEXT将第9号记录至第13号记录表达出来。实现物理删除分为两步,首先用DELETE命令进行逻辑删除,然后用PACK命令进行物理删除。 【答案】GO 9 DELETE NEXT 5 PACK

15.对于表中需要成批修改的那些数据,只要有一定规律,就可以使用 命令自动完成修改操作。 【解析】本题考查的知识点是成批修改记录数据操作。要实现自动成批修改表中记录数据,应使用REPLACE命令,注意该命令的默认范围为当前记录。 【答案】REPLACE

16.要想将当前表中某一数值型字段的值全部删除,而表结构及其他字段的值保持不变,可以使用命令 。

【解析】本题考查的知识点是成批修改或删除记录数据操作。要将当前表中某一数值型字段的值全部删除,可以使用数值0成批替换该数值型字段值,注意实现时必须加上范围子句ALL。 【答案】REPLACE

17.若当前表中有一个名称为“婚否”的逻辑型字段,则它的域为 。

【解析】本题考查的知识点是逻辑型字段值的范围。逻辑型字段值只有两种,逻辑真和逻辑假。 【答案】逻辑真或逻辑假

18.将当前表中的当前记录复制到数组当中,使用的命令动词为 ;反过来,将数组数据传送到当前表中的当前记录,则使用的命令动词为 。

【解析】本题考查的知识点是表的当前记录与数组之间的数据传递。将当前表中的当前记录复制到数组当中,使用的命令动词为SCATTER;将数组数据传送到当前表中的当前记录,则使用的命令动词为GATHER。 【答案】SCATTER、 GATHER

三、写操作命令及解析

设存在如表3-1所示的商品表文件SP.DBF,其中商店名、商品名和品牌为字符型字段, 单价和库存量为数值型字段,是否进货为逻辑型字段。

表3-1 商品表

商店名 光明商场 长安商场 百货大楼 赛特购物中心 蓝岛东区 长安商场 赛特购物中心 百货大楼 商品名 电冰箱 空调 彩电 洗衣机 空调 电冰箱 彩电 洗衣机 品牌 海尔 科龙 长虹 小鸭 美的 海尔 康佳 松下 单价 3700 3600 2450 1600 2800 3700 2980 1780 库存量 60 27 60 90 26 20 32 12 是否进货 .F. .T. .F. .F. .T. .T. .F. .T. 若该表文件已经打开,使用命令序列完成以下的操作。 1.显示第3号到第6号之间的全部记录。

【解析】本题考查的知识点是在使用显示命令的同时正确使用范围子句。要表达第3号到第6号记录,可用NEXT 范围子句实现;也可以使用RECNO()函数作为条件来实现。 【答案】GO 3 LIST NEXT 4

或 LIST FOR RECNO()>=3 AND RECNO()<=6

2.显示商品名为“洗衣机”的全部记录。 【解析】本题考查的知识点是条件子句的使用。 【答案】LIST FOR 商品名=\洗衣机\

3.显示商店名最后两个字为“商场”的全部记录。

【解析】本题考查的知识点是RIGHT()函数在条件子句中的使用。 【答案】LIST FOR RIGHT(商店名,4)=\商场\

4.显示要进货的全部记录。

【解析】本题考查的知识点是逻辑型字段在条件子句中的表达。本例中,“是否进货”为逻辑型字段,而且要进货为逻辑真值,即为该字段的缺省值,则FOR 是否进货=.T.与FOR是否进货两种表达是相同的。 【答案】LIST FOR 是否进货=.T. 或 LIST FOR是否进货

5.在第3个记录之后插入一个空记录,并自行输入各字段的数据内容。

【解析】本题考查的知识点是记录插入命令和替换命令的使用。先将记录指针定位在第3个记录之后,使用INSERT BLANK命令插入一个空记录,然后使用REPLACE替换命令在该空记录的所有字段值处自行输入数据内容。 【答案】GO 3 INSERT BLANK

REPLACE 商店名 WITH \王府井百货商场\,商品名 WITH \数码相机\,品牌 WITH \索尼\,单价 WITH 3500,库存量 WITH 20,是否进货 WITH .F.

6.将赛特购物中心的所有商品的库存量都增加20%。

【解析】本题考查的知识点是成批记录数据替换命令的使用。使用REPLACE命令将所有的库存量用库存量*1.2替换。注意该命令的缺省范围为当前记录,但是因为带了FOR条件子句,FOR条件子句的缺省范围为ALL,因此也可不写范围子句ALL。

【答案】REPLACE ALL库存量 WITH 库存量*1.2 FOR 商店名=\赛特购物中心\

7.将商品名为“电冰箱”或“空调”的记录生成一个新的表文件SP1.DBF。

【解析】本题考查的知识点是表文件的复制。复制表文件要使用COPY命令动词,若只复制满足条件的记录必须带上条件短语。

【答案】COPY TO SP1.DBF FOR 商品名=\电冰箱\商品名=\空调\

8.将SP.DBF原样复制为SP2.DBF,并逻辑删除SP2.DBF表中第4号和第6号记录。

【解析】本题考查的知识点是复制表文件及逻辑删除记录。使用COPY命令原样复制后,要对复制后生成的新表操作,一定得先打开新表。逻辑删除命令是DELETE,可以使用记录绝对定位命令或者范围子句,或者使用函数充当条件子句表示“第4号和第6号记录”。 【答案】COPY TO SP2.DBF USE SP2.DBF GO 4 DELETE GO 6 DELETE

或将答案中的后4条命令用如下两条命令实现: DELETE RECORD 4

DELETE RECORD 6

或将答案中的后4条命令用如下一条命令实现: DELETE FOR RECNO()=4 OR RECNO()=6

9.取消第4号记录的删除标记,把第6号记录物理删除。

【解析】本题考查的知识点是恢复逻辑删除及物理删除命令的使用。先使用RECALL命令取消第4号记录的删除标记,然后使用PACK命令将作了逻辑删除的所有记录物理删除,即第6号记录被物理删除。 【答案】RECALL RECORD 4 PACK

10.将表SP.DBF中第3号到第5号记录的商店名、商品名、品牌和单价4个字段的值复制到一个数组,并将该数组的值显示在屏幕上。

【解析】本题考查的知识点是将表的一批记录复制到数组。数组必须先定义,用DIMENSION命令定义一个二维数组,根据题目已知要复制3条记录中的4个字段,则数组的行标定义为3,列标定义为4,然后将当前记录定位在第3号记录,使用命令COPY TO ARRAY命令将表的3条记录中的4个字段复制到数组,最后使用LIST MEMORY命令将数组的所有数组元素的值显示在屏幕上。 【答案】DIMENSION AA(3,4) GO 3

COPY TO ARRAY AA FIELDS 商店名,商品名,品牌,单价 NEXT 3 LIST MEMORY LIKE AA*

第四章 查询与统计

一、 单选题及解析

1.下列有关索引的说法中,正确的是( )。。

A.候选索引既可以在自由表中创建,也可以在数据库表中创建 B.建立主索引的主关键字值不能为空,但可以有重复数值 C.建立候选索引的候选关键字值不能有重复值,但可以为空 D.建立惟一索引的索引关键字值不能有重复值

【解析】本题考查的知识点是索引的类型。索引分为主索引、候选索引、惟一索引和普通索引。主索引和候选索引的关键字值不能有重复值,也不能为空值(NULL),因此选项B、C错误。惟一索引并不限制关键字值的惟一性,但在建立的惟一索引中,只能保留同值记录的第一条,因此,选项D说法不正确。 【答案】A

2.下列有关查询和视图的说法中,不正确的是( )。 A.查询文件的扩展名为.QPR B.视图依赖于数据库的存在而存在

C. 并非所有的查询结果都适合于用图形来表达,图形主要用于分组查询中 D.查询只能够对数据表中数据进行查询,而不能对视图文件中的数据进行查询

【解析】本题考查的知识点是查询与视图的区别。查询可能对数据表或视图中的数据进行查询,因此选项D错误。 【答案】D

3. 关于查询与视图的说法错误的是( )。 A.查询和视图都可以从一个或多个表中提取数据 B.查询是作为文本文件,以扩展名.QPR存储的 C.可以通过视图更改数据源表的数据

D.视图是完全独立的,它不依赖于数据库的存在而存在

【解析】本题考查的知识点是查询与视图的区别。视图不能以自由表的形式单独存在,只能依赖于某一数据库而存在,因此选项D错误。 【答案】D

4.在Visual FoxPro中建立查询后,可以从表中提取符合指定条件的一组记录,( )。 A.但不能修改记录 B.同时又能更新数据 C.但不能设定输出字段

D.同时可以修改数据,但不能将修改的内容写回原数据表

【解析】本题考查的知识点是查询。查询的结果是只读的,不能修改,也不能更新数据,但可以自己设定输出去向。因此,选项B、C、D错误。 【答案】A

5. 下列几项中,不能作为查询输出目标的是( )。

A.临时表 B.视图 C.标签 D.图形

【解析】本题考查的知识点是查询去向。查询结果的输出格式共有7种,它们是: (1) 浏览:将查询结果输出到浏览窗口;

(2) 临时表:将查询结果存入一个临时数据表中,关闭此数据表时,查询结果丢失; (3) 数据表:将查询结果存入一个数据表中,关闭此数据表时,查询结果保留; (4) 图形:将查询结果以图形方式输出; (5) 屏幕:将查询结果输出到屏幕上; (6) 报表:将查询结果输出到报表中;

(7) 标签:将查询结果输出到标签中。 【答案】B

6. 以下关于主索引的说法正确的是( )。 A.在自由表和数据库表中都可以建立主索引 B.可以在一个数据库表中建立多个主索引 C.数据库中任何一个数据表只能建立一个主索引

D.主索引的关键字值可以为NULL

【解析】本题考查的知识点是主索引。主索引只能建立在数据库表中;用于建立主索引的关键字值不可以有重复的数据,也不可以为空值(NULL);数据库中任何一个数据表只能建立一个主索引。因此,选项A、B、D错误。 【答案】C

7.在下列四个同名文件中,查询文件是( )。 A.ABC.BAT B.ABC.QPR

C.ABC.FMT D.ABC.MEM

【解析】本题考查的知识点是查询文件的扩展名。其中ABC.FMT是屏幕格式文件,ABC.MEM是内存变量文件,ABC.BAT是批处理文件。 【答案】D

8.以下关于查询的描述中,正确的是( )。

A.只能对自由表创建查询 B.不能对自由表创建查询

C.只能对数据库表创建查询 D.可以对各种数据表创建查询

【解析】本题考查的知识点是查询的创建。查询可以对各种数据表,包括自由表与数据库表创建,还可以对视图创建。因此,选项A、B、C错误。 【答案】D

9.SELECT-SQL查询语句中ORDER BY子句的功能是( )。 A.对查询结果进行排序 B.分组统计查询结果

C.限定分组检索结果 D.限定查询条件

【解析】本题考查的知识点是SELECT-SQL查询语句中的ORDER BY子句。ORDER BY子句的功能是对查询结果进行排序输出。分组统计查询结果应用GROUP BY子句;限定分组检索结果应用HAVING子句;限定查询条件应用WHERE子句。 【答案】A

10.标准SQL查询命令的基本结构是( )。 A.SELECT…FROM...ORDERBY B.SELECT…WHERE…GROUPBY C.SELECT...WHERE…HAVING

D.SELECT…FROM…WHERE

【解析】SELECT查询命令包含很多功能各异的子句,但其基本框架通常为:

SELECT…FROM…WHERE。其中,SELECT子句用于选择查询要显示的目标列表,

FROM子句用于列出查询要用到的所有表文件,而WHERE子句用于指定查询结果的筛选条件。 【答案】D

11. SQL查询中的HAVING子句通常出现在( )子句中。

A.ORDER BY B.GROUP BY C.SORT D.INDEX

【解析】本题考查的知识点是SQL查询命令中的HAVING菜子句与GROUP BY子句。GROUP BY子句用于将查询结果中的行按一个或多个列的值分组,而HAVING子句则用于限定各组必须满足的条件,它是分组的附加条件。 【答案】B

12. SQL查询的HAVING子句的作用是( )。 A.指出分组查询的范围 B.指出分组查询的值

C.指出分组查询的条件 D.指出分组查询的字段

【解析】本题考查的知识点是SQL查询命令中的HAVING菜子句与GROUP BY子句。HAVING子句只能用于GROUP BY子句后,其作用是对分组后的结果进行筛选。 【答案】C

13.利用查询向导对两表数据进行查询,如使用内部联接,应选择( )。 A.左边表的全部行与匹配行 B.右边表的全部行与匹配行 C.仅包含两表的匹配行

D.两表中的所有行

【解析】本题考查的知识点是联接类型。选项A对应左联接,选项B对应右联接,选项C对应内部联接,选项D对应完全联接。 【答案】C

14. SELECT-SQL语句中的条件短语的关键字是( )。 A.WHERE B.WHILE C.FOR D.CONDITION

【解析】本题考查的知识点是SELECT-SQL语句中的条件短语。条件短语的关键字是WHERE,WHERE子句的作用是对所查询的表或视图中的记录进行筛选。 【答案】A

15. SELECT-SQL命令的功能是( )。 A.选择工作区 B.查询表中数据 C.修改表中数据 D.选择SQL标准

【解析】本题考查的知识点是SELECT-SQL命令的功能。SELECT-SQL命令的功能是查询表或视图中数据。 【答案】B 二、填空题及解析

1.在不使用索引的情况下,为了定位满足某个逻辑条件的记录应该使用命令_________。

【解析】本题考查的知识点是查询方式与索引的关系。没有使用索引时,只能使用直接查询命令LOCATE。 【答案】LOCATE FOR <条件>

2.假设图书数据表已经打开,数据表中有“书名”(C型)字段,并且已经按书名进行了索引。现在要使用索引查询将记录指针定位在书名为“VFP+”的第一条记录上,应该使用的命令是______。

【解析】本题考查的知识点是索引查询。索引查询命令有FIND或SEEK,因此,正确答案可以有多种,如:FIND “VFP+”、FIND VFP+等。 【答案】SEEK “VFP+” 或 FIND VFP+

3.在打开索引的情况下,为了使记录指针指向逻辑首记录,应使用命令______。

【解析】本题考查的知识点是索引的特点。在打开索引的情况下,GO TOP、GO BOTTOM及SKIP命令均为记录指针的逻辑移动。其中,GO TOP是使记录指针指向逻辑首记录,GO BOTTOM是使记录指针指向逻辑末记录,SKIP是记录指针向逻辑位置的下一条移动。 【答案】GO TOP

4.假设向水灾地区捐款的数据表有“部门”、“姓名”、“款额”共三个字段,该数据表和相应的索引文件已经打开。为汇总各部门的捐款数并存入分类汇总数据表flhz.dbf中,应使用命令_______。

【解析】本题考查的知识点是分类汇总命令。分类汇总命令的格式是:TOTAL ON <关联字段> TO <新表名> [FIELDS <数值型字段名表>],本题中,要汇总的数值型字段只有一个,因此可以缺省“FIELDS款额”子句。

【答案】TOTAL ON部门 TO flhz FIELDS 款额

5.设已经打开的数据表文件SC.DBF中有如下记录,其中“出生日期”为D型、“贷款”为N型字段,其余均为C型字段。

RECORD# 学号 姓名 出生日期 性别 籍贯 贷款 1 913101 王刚 03/11/73 男 广西 350 2 913102 李玲 04/25/73 女 江西 200 3 913103 赵冲 04/26/73 女 安徽 150 4 913104 李新 04/28/74 女 辽宁 100 5 924104 章文 05/01/75 男 云南 250 6 924105 曾重 05/02/74 男 河南 50 7 924106 梅放 05/04/75 男 贵州 50 8 924107 陆伟 05/09/75 男 陕西 150 (1)按学号建立单索引文件ISC,应该用命令___①____。 (2)求贷款总和并存入变量DKH,应该用命令___②_____。

(3)求贷款平均值并存入变量PJDK,应该用命令___③_____。

(4)统计女学生的人数并存入变量HOFW,应该用命令____④___。 【解析】

(1) 创建单索引文件的命令格式为INDEX ON <索引表达式> TO <单索引文件名>

(2) 数据求和的命令格式为SUM [<数值表达式表>] [<范围>] [FOR<条件>] [WHILE<条件>] [TO <内存变量

表>]

(3) 数据求平均值的命令格式为AVERAGE [<数值表达式表>][<范围>][FOR<条件>][WHILE<条件>][TO <内存变量表>]

(4) 统计记录数的命令格式为COUNT [<范围>][FOR<条件>][WHILE<条件>][TO<内存变量>] 【答案】①INDEX ON 学号TO ISC ②SUM 贷款 TO DKH ③AVER 贷款 TO PJDK

④COUNT TO HOFW FOR性别=“女”

6.执行如下命令序列: USE BOOKS

LIST

假设屏幕显示如下:

RECORD# 书号 书名 作者 定价 1 P8291D 操作系统 王仲一 12.00 2 P1322F 接口技术 刘达 13.00 3 B1963E 离散数学 周云飞 9.30 4 F9136H 单片机 于群 8.50 INDEX ON书号 TO SH LIST

则最后一条LIST命令所显示的数据记录中,记录号顺序是________。

【解析】因为在本题中创建了一个单索引,是按书号(C型字段)的值升序排列,故记录的逻辑顺序变为B1963E

7.教师数据表文件中,有职称(C,6)字段和基本工资(N,6,2)字段。要求先按职称,再按基本工资升序建立单索引文件ZS.IDX,应使用命令_____________。

【解析】创建单索引文件的命令格式为INDEX ON <索引表达式> TO <单索引文件名>,本题中索引表达式应为 “职称+ STR(基本工资,6,2)”,因为职称是字符型字段,而基本工资是数值型字段,所以先用STR( )函数将基本工资的类型转换成字符型,再与职称字段连接生成一个字符型索引表达式。 【答案】INDEX ON职称+STR(基本工资,6,2) TO ZS

8.执行如下命令序列: USE STUDENT

LIST

假设屏幕显示如下: Record# 姓名 性别 年龄 1 欧阳惠 女 23 2 李 明 男 24

3 郭 吴 男 21 4 吴 友 女 25 INDEX ON 性别 TO SEX LIST

则最后一条LIST命令显示的数据记录中,姓名的顺序依次是__________。

【解析】本题中,对STUDENT表按性别字段升序建立了单索引文件。性别字段的值只有“男”和“女”两个,因为“男”字的ASCII码值小于“女”字的ASCII码值,因此,记录表中性别为“男”的记录会排在性别为“女”的记录前面。当性别相同时,按记录原来的先后顺序排列。 【答案】李明,郭吴,欧阳惠,吴友

9.执行如下命令序列: USE STUDENT-

LIST

假设屏幕显示如下: Record# 姓名 性别 年龄 1 欧阳惠 女 23 2 李 明 男 27 3 杨 霞 女 24 4 郭 吴 男 21 5 吴 友 女 25 6 何文强 男 24 INDEX ON 年龄 TO AGE SEEK 23 SKIP

?姓名,年龄

则最后一条命令的显示内容为__________。

【解析】本题中,对STUDENT表按年龄字段升序建立了单索引文件。SKIP属于记录指针相对定位命令,表示向逻辑位置的下一条移动。而按照年龄升序排列后的记录号次序是: 4,1,3,6,5,2。执行SEEK 23命令后,指针定位在记录号为1的记录上,此时执行SKIP命令使指针下移一位,则指向记录号为3的记录。因此,最后一条命令显示的是第3号记录的姓名和年龄字段值。 【答案】杨霞 24

10.设职工数据表文件的内容如下: 编号 姓名 部门 工资 奖金 1001 常胜 车间 850 200 1002 汪洋 车间 700 200 1003 陆地 车间 680 200 2001 林木 设计科 900 150 2002 陈路 设计科 1200 150 3004 孙海 财务科 900 100 3006 李扬 财务科 1300 100 3010 张虎 财务科 1100 100 请对以下有关命令的执行结果依次填空: USE 职工

AVERAGE 工资TO a FOR 部门=“财务科” ?a &&屏幕显示变量a的值是____①_______ INDEX ON 工资TO idxl GO 1

?编号,姓名 &&屏幕显示结果是_____②____ SEEK 900 SKIP 3

?工资+奖金 &&屏幕显示结果是___③______ LOCATE FOR 工资=900 CONTINUE

?姓名 &&屏幕显示结果是_____④_______

SUM 奖全 TO b FOR SUBSTR(编号,1,1)=“1” ?b &&屏幕显示变量b的值是____⑤____。

【解析】记录按照工资升序排列后,编号字段的逻辑次序是:1003,1002,1001,2001,3004, 3010,2002,3006。执行SEEK 900命令后,指针定位在第一个工资为900的记录,即编号为2001的记录,再执行SKIP 3命令使记录指针下移三条,则指向编号为2002的记录。此时,“?工资+奖金”命令等价于?1200+150。

【答案】①1100 ②1001 常胜(逻辑次序与物理次序) ③1350 ④孙海 ⑤600

11.执行如下命令序列: USE STUDENT

LIST

假设屏幕显示如下:

Record# 姓名 学号 年龄 性别 1 李 红 098765 20 男 2 王 菩 123456 19 男 3 赵 师 345678 21 女 4 刘 知 863745 18 男 5 钱 生 374951 20 女 6 杨 博 903278 18 女 INDEX ON 年龄TO STU FIND 20 SKIP DISP姓名

最后一条命令显示的学生姓名是__________

【解析】本题中,对STUDENT表按照年龄字段升序建立了单索引文件。索引后的记录号次序分别4、6、2、1、5、3,使用命令FIND 20将按逻辑顺序查找第一条年龄为20的记录,应该是记录号为1的学生。执行SKIP命令后,将记录指针往逻辑顺序的下一条移动,即记录号5的学生记录。 【答案】钱生

12.执行如下命令序列,请填空: USE ZG

LIST

假设屏幕显示如下:

Record# XM NL ZC JBGZ 1 李一 21 工人 230.00 2 李二 29 工程师 350.00 3 赵三 18 工人 280.00 4 刘四 32 技术员 300.00 5 王五 24 总工 890.00

INDEX ON ZC+STR(1000-JBGZ,6,2) TO ZG

LIST ZC,JBGZ 屏幕将显示如下: ZC JBGZ 工程师 350.00 工人 __①____ 工人 ②_____ 技术员 300.00 总工 890.00

【解析】本题中,对ZG表建立了单索引文件,索引表达式为ZC+STR(1000-JBGZ,6,2),表示先按ZC字段值升序排序,当ZC字段值相同时,再按JBGZ字段值降序排列。 【答案】①280.00 ②230.00

13.用作建立主索引或候选索引的关键字段,其值必须是____①____的,一个数据库表可以建立___②___个主索引和____③____个候选索引。

【解析】创建主索引和候选索引时,索引关键字段的值必须是唯一的,也就是各不相同。且一个数据库表只能有一个主索引,但可以有多个候选索引。 【答案】①各不相同 ②一 ⑧多

第五章 多表与数据库的操作

一、单选题及解析

1.JS.dbf表已在2号工作区打开,2号工作区非当前工作区,要把JS.dbf表所在工作区选为当前工作区的命令是( )。 A. SELECT 0 B. SELECT 2 IN JS C. SELECT JS D. SELECT (JS)

【解析】本题考查的知识点是工作区的选择。工作区就是内存中的一块区域。打开表文件的实际操作就是从磁盘将数据表调入内存的某个工作区。在任一时刻用户只能选择一个工作区进行操作,这个工作区称为当前工作区。

SELECT命令在选择当前工作区时,可使用工作区号、别名或0。SELECT 0命令的功能是选择未

用的最小工作区号,所以选项A不能使用。选项B和选项D命令格式是错误的,选项C是通过别名的方式选择工作区的,因此,正确答案为选项C。 【答案】C

2.在数据工作期窗口中打开表时,下列说法正确的是( )。

A. 将选择未被使用的区号最小的工作区 B. 选择任意一个工作区 C.只能打开自由表

D.必须先选定工作区号,才能打开表

【解析】本题考查的知识点是数据工作期。数据工作期是一个用来设置数据工作环境的交互操作窗口。利用数据工作期窗口可以打开或显示表或视图、建立表间临时关系以及设置工作区属性等。

打开表时,Visual FoxPro将自动选择未被使用的区号最小的工作区,打开自由表或数据库表均可,

所以选项B、C、D说法不正确。 【答案】A

3.下列说法中,不正确的是( )。

A. Visual FoxPro可在内存中开辟32767个工作区

B. 系统为1~10工作区规定了一个缺省别名,别名分别用字母A、B、…J表示 C.Visual FoxPro 启动后,默认1号工作区为当前工作区 D.在任一时刻只能对当前工作区文件进行操作

【解析】本题考查的知识点是工作区的基本概念。Visual FoxPro系统提供32767个工作区,每个工作区可以用1~32767作为各工作区的编号,称为工作区号。启动Visual FoxPro系统时,系统默认编号为1的工作区为当前工作区。

Visual FoxPro系统对前10个工作区除使用1~10编号外,还为其定义了别名,即依次用A~J来表

示1~10号工作区。在当前工作区中可以访问其他工作区中已打开的表的数据,可用别名.字段名或别名->字段名来实现。 【答案】D

4.要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表( )。 A. 是同一个数据库中的表 B. 不同数据库中的两个表 C. 两个自由表

D. 一个是数据库表,一个是自由表

【解析】本题考查的知识点是参照完整性。数据库中的完整性是指数据的正确性和相容性。关系模型的完整性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照性是关系模型必须满足的完整性约束,被称为关系的两个不变性。参照完整性是根据表间的某些规则,使得插入、删除、更新记录时能保持已定的表间关系。参照完整性只在建立永久关系的表中发生,所以必须是同一个数据库的两个表。 【答案】A

5.在Visual FoxPro中,可以对字段设置默认值的表是( )。 A. 必须是数据库表 B. 必须是自由表 C.自由表或数据库表 D.不能设置字段的默认值

【解析】本题考查的知识点是字段有效性。在Visual FoxPro中,可以创建两种表,即数据库表与自由表。数据库表是数据库的一部分。在数据库表的字段有效性中可以设置字段的默认值,而自由表中无法设置,因此,正确答案为选项A。 【答案】A

6.在Visual FoxPro中,打开数据库的命令是( )。 A. USE <数据库文件名>

B. USE DATABASE <数据库文件名> C.OPEN DATABASE <数据库文件名> D.OPEN DATABASE <数据库文件名>

【解析】本题考查的知识点是数据库的打开。打开数据库的命令格式是: OPEN DATABASE [<数据库文件名> | ?] [NOUPDATE] [EXCLUSIVE|SHARED] 【答案】C

7.设置完整参照性时,要想设置成:当更改主表中的主关键字或候选关键字段时,自动更改所有相关子表记录中的记录时,应选择( )。 A. 限制(Restrict) B. 忽略(Ignore) C.级联(Cascade)

D.级联(Cascade)或限制(Restrict)

【解析】本题考查的知识点是完整参照性规则的设置。参照完整性生成器窗口有更新规则、删除规则和插入规则三个选项卡;选项卡中有级联、限制和忽略3个单选按钮。本题是对“更新规则”进行设置。

“更新规则”用于指定更改父表中的某一记录中的关键字段值时所用的规则。3个单选按钮的功能分别

如下:

级联:当更改父表中的某一记录的关键字段值时,子表中相应的记录将会改变。

限制:当更改父表中的某一记录的关键字值时,若子表中有相应的记录,则禁止该操作,并给

出“触发器失败”的提示信息。

忽略:两表更新操作将互不影响。

【答案】C

8.在数据工作期窗口中,使用SET RELATION命令可以建立两个表之间的关联,这种关联是( )。 A. 永久性关联 B. 临时性关联

C.永久性关联或临时性关联 D.永久性关联和临时性关联

【解析】本题考查的知识点是关联。关系数据库系统的特点就是可以建立表间的关系,从而真实地反映客观世界丰富多变的特点以及错综复杂的联系,减少数据的冗余。建立数据库的索引后,就可以建立表间的关系。常见的几种表间关系为一对一、一对多、多对一。在数据工作期窗口以及用SET RELATION命令可以建立表之间的关联都是临时性关联。 【答案】B

9.在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现( )。 A.“一方”表的主索引或候选索引,“多方”表的普通索引 B.“一方”表的主索引,“多方”表的普通索引或候选索引 C.“一方”表的普通索引,“多方”表的主索引或候选索引 D.“一方”表的普通索引,“多方”表的普通索引或候选索引

【解析】本题考查的知识点是永久关联。建立数据库的索引后,就可以建立表间的关系。建立表间关系不但可以真实地反映客观世界,而且可以提高存储效率,减小冗余。在数据库的两个表间建立永久联系时,

必须先选择父表的主索引或候选索引,而子表中的索引类型决定了要建立的永久关联的类型。如果子表中的索引类型是主索引或候选索引,则建立起来的就是一对一关系。如果子表中的索引类型是普通索引,则建立起来的就是一对多关系。 【答案】A

10.Visual FoxPro的“文件”菜单中的“关闭”命令是用来关闭( )。 A. 当前工作区中已打开的数据表 B. 所有已打开的数据库 C.所有窗口 D.当前活动窗口

【解析】本题考查的知识点是数据库关闭。“文件”菜单中的“关闭”命令是用来关闭当前活动窗口的。关闭当前工作区中已打开的数据表是用命令USE。关闭所有已打开的数据库,应使用命令CLOSE ALL 或CLOSE DATA命令。 【答案】D

11.当一个数据库的记录指针移动时,另一个数据库的记录指针自动移向相应记录,这种现象称为( )。 A. 相对移动

B. 数据库之间的连接 C.自动索引

D.数据库中表的关联

【解析】本题考查的知识点是关联的概念。数据库之间的连接用JOIN命令,所以选项B是错误的。数据库中没有相对移动的说法,所是选项A是错误的。自动索引是指当修改数据库中表的记录时,该库中已打开的索引文件会自动全部更新,所选项C也不对。关联是建立在两个表之间,这两个表分别为主表和子表。建立好关联后,当主表的记录指针移动时,子表的记录指针会自动移到满足关联条件的记录上。 【答案】D

12.打开数据库设计器的命令是( )。 A. DELETE DATABASE <数据库文件名> B. CREATE DATABASE <数据库文件名> C. OPEN DATABASE <数据库文件名> D. MODIFY DATABASE <数据库文件名>

【解析】本题考查的知识点是打开数据库设计器。选项A是删除数据库。选项B是建立数据库,选项C是打开数据库,选项D是修改数据库。MODIFY DATABASE命令的功能是打开指定的数据库文件所对应的数据库设计器,以便对该数据库中的各种数据库对象进行修改操作。 【答案】D

13.设某数值型字段宽度为6,小数位数为2,该字段整数部分的输入掩码应设置为( )。 A. 9999 B. 999 C.99999 D.999999

【解析】本题考查的知识点是设置字段属性的设置。在数值型字段定义中,需要规定字段宽度和小数宽度两部分。而实际存储时,数值字段由整数、小数点和小数部分组成,其中小数点要占一位。因此,本题中整数部分所占的位数应为:字段宽度-小数宽度-1,即6-2-1=3。也就是说整数部分最多只有3位有效数字,

应设为999。 【答案】B

14.现有两个表文件:yy.dbf和xx.dbf,命令序列如下: SELECT 2 USE YY LIST

主窗口显示如下:

SELECT 3 USE XX LIST

主窗口显示如下:

JOIN WITH B TO TT FOR 编号=B->编号 USE TT LIST

执行以上命令后,新建立的数据表文件tt.dbf中共有( )条记录。 A. 8 B. 3 C.5 D.15

【解析】本题考查的知识点是数据库的连接。使用JOIN命令连接的过程是:联接时,首先两个工作区的记录指针分别指向联接和被联接表中的第一条记录,然后顺序检索被联接表中的每条记录,看是否满足条件,如果条件满足则在新表中生成一条新记录,当被联接表所有记录扫描完以后,则联接表的记录指针下移一条记录,继续在被联接表中查找满足条件的记录并联接生成新记录。重复上述过程,直至两表中所有记录均处理完毕。

根据这个过程可知:xx.dbf中第一条记录将分别与yy.dbf中的第一条和第二条记录进行连接,生成

2条新记录;xx.dbf中第二条记录又与yy.dbf中的第三条记录进行连接,生成1条新记录;xx.dbf中第三条记录又与yy.dbf中的第四条和第五条记录进行连接,生成2条新记录。最后在tt.dbf中生成5条新记录。tt.dbf的记录内容如下:

【答案】C

15.假设已建立了两个表文件的关联,现需要与第三个表文件建立关联,为了保持原有的关联,必须在SET RELATION 命令中使用的子句是( )。 A. UNIQUE B. RANDOM C.FIELDS D.ADDITIVE

【解析】本题考查的知识点是关联的建立。SET RELATION 命令中,若选用ADDITIVE选项,则在建立新关联的同时保持原先的关联,否则,删除以前建立的关联。 【答案】D

16.有数据库A,B,C,已建立A->B的关联,欲建立B->C的关联,以构成A->B->C的关联,则( )。 A.必须使用带ADDITIVE子名的SET RELATION命令 B.使用不带ADDITIVE子名的SET RELATION命令 C.在保持A->B关联的基础上不能再建立B->C的关联

D.在保持A->B关联的基础上不能再建立B->C的关联,但可建立A->C的关联

【解析】本题考查的知识点是关联的建立。使用SET RELATION 命令时,选用ADDITIVE选项,则在建立新关联的同时保持原先的关联,若不带该选项则删除以前建立的关联。 【答案】A

二、填空题及解析

1. 数据库文件的扩展名为_______,同时自动建立与之相关的一个扩展名为的________数据库备注文件

和一个扩展名为________的数据库索引文件。

【解析】本题考查的知识点是数据库的概念。在建立数据库时,所生成的数据库文件的扩展名为.dbc,同时自动建立与之相关的一个扩展名为.dct的数据库备注文件和一个扩展名为.dcx的数据库索引文件。建好数据库后,这三个主名相同而扩展名不相同的文件是提供给Visual FoxPro系统管理数据库使用的,用户一般不能直接使用这三个文件。 【答案】.dbc、.dct、.dcx

2.在Visual FoxPro中,设置完整参照性时,对“插入规则”选项卡进行设置,若想设置成:当在子表中插入某一记录时,若父表中没有相应的记录,则禁止该操作。应选择 。

【解析】本题考查的知识点是完整参照性。“插入规则”选项卡用于指定在子表中插入新的记录时所用的规则。对应用2个单选按钮,其各自的功能如下:

限制:当在子表中插入某一记录时,若父表中没有相应的记录,则禁止该操作,并给出“触发器

失败”的提示信息。

忽略:两表插入操作将互不影响。

【答案】限制

3.在Visual FoxPro中,设置完整参照性时,对“删除规则”选项卡进行设置,若想设置成:当删除父表中的某一记录时,将删除子表中相应的记录。应选择 。

【解析】本题考查的知识点是完整参照性。“删除规则”选项卡用于指定删除父表中的某一记录时所用的规则。对应用3个单选按钮,其各自的功能如下:

级联:当删除父表中的某一记录时,将删除子表中相应的记录。

限制:当删除父表中的某一记录时,若子表中有相应的记录,则禁止该操作,并给出“触发器失

败”的提示信息。

忽略:两表删除操作将互不影响。

【答案】级联

4.在Visual FoxPro中,设置完整参照性时,对“更新规则”选项卡进行设置,若想设置成:两表更新操作将互不影响。应选择 。

【解析】本题考查的知识点是完整参照性。“更新规则”选项卡用于指定更改父表中的某一记录中的关键字段值时所用的规则。对应用3个单选按钮,其各自的功能如下:

级联:当更改父表中的某一记录的关键字段值时,子表中相应的记录将会改变。

限制:当更改父表中的某一记录的关键字值时,若子表中有相应的记录,则禁止该操作,并给

出“触发器失败”的提示信息。

忽略:两表更新操作将互不影响。

【答案】忽略

5.在数据库建立表间永久联系时,父表必须建立主索引或候选索引,如果子表建立主索引或候选索引,则建立起来的就是 关系。如果子表建立普通索引,则建立起来的就是 关系。

【解析】本题考查的知识点是表间关系。在数据库的两个表间建立永久联系时,必须先选择父表的主索引或候选索引,而子表中的索引类型决定了要建立的永久联系类型。如果子表中的索引类型是主索引或候选索引,则建立起来的就是一对一关系。如果子表中的索引类型是普通索引,则建立起来的就是一对多关系。 【答案】一对一、 一对多

6.在Visual FoxPro中,自由表的字段名最多包含个 字符,数据库表的字段名最多包含 个字符。

【解析】本题考查的知识点是表的概念。数据库表可以使用长表名和长字段名。而自由表不具备这个属性。 【答案】10、128

7.在Visual FoxPro中,表可以分为 和 两种,两种表的扩展名均为.dbf。

【解析】本题考查的知识点是表的概念。属于某一数据库的数据表称为数据库表,不属于任何数据库而独立存在的数据表称为自由表,两种表可以互相转换。当一个自由表添加到某一个数据库时,自由表就成为数据库表,反之,若将数据库表从某一数据库中移出,该数据库表就成为自由表。 【答案】数据库表、自由表

8.在数据工作期窗口以及用SET RELATION命令建立的表间关系为 ,在数据库中为表建立的关系为 。

【解析】本题考查的知识点是表间关系。表间关系分为临时关系和永久关系。建立的方式也有所不同,多表间的永久关系在查询和视图中能作为多表联接的条件,永久关系被存储在数据库文件中,可以一直使用,除非该永久关系被删除或更改。而多表间的临时关系仅用于控制关联表之间的指针联动,这种关系不能被保存在文件中,每次需要使用时都需要重新建立。 【答案】临时关系、永久关系

9. 和 用来限制非法数据的输入,而 则用来控制对已经存在的记录所作的非法操作。

【解析】本题考查的知识点是有效性规则。有效性规则分两种:字段有效性规则和记录有效性规则。

字段有效性规则用于对当前字段输入数据的有效性、合法性进行检验。字段有效性规则是对字段的

约束,用以检查单个字段中输入的数据是否有效。

记录有效性规则用于对同一记录中不同字段之间的逻辑关系进行验证。记录有效性规则是对记录的

约束,当插入或修改记录时,记录有效性规则被激活,用来检查数据输入的正确性。记录有效性规则只有在整条记录输入完毕后才开始检查数据的有效性。

触发器是在数据输入后控制对已经存在的记录所作的非法操作,例如,修改、删除等操作。

【答案】字段级有效性、记录有效性规则 、触发器

10.命令 表示选择当前未使用的工作区中的最小号工作区作为当前工作区。 【解析】选择工作区的命令格式:SELECT <工作区号|别名|0>。命令的使用方法如下:

(1) <工作区号>由1,2,3,…32767 表示。

(2) 使用别名时,对于1~10号工作区可使用系统给定的别名A~Z或数据表的别名;对于

是1~10号工作区之外的工作区则使用数据表的别名。

(3) 命令SELECT 0 表示选择当前未使用的工作区中的最小号工作区作为当前工作区。 (4) 工作区的切换不影响各工作区数据表记录指针的位置。在工作区未建立关联时,对当

前工作区中数据表进行操作时,不影响其他工作区中数据表的内容和记录指针。

【答案】SELECT 0

第六章 程序设计初步

一、单选题及解析

1.用于建立、修改、运行与打印程序文件的Visual Foxpro命令依次是( )。 A.CREATE、MODIFY、DO和PRINT

B.MODI COMM、MODI COMM、DO和PRINT C.MODI COMM、MODI COMM、RUN和TYPE D.MODI COMM、MODI COMM、DO和TYPE

【解析】本题考查的知识点是程序文件的建立、修改、运行与打印。建立与修改程序文件的命令格式相同,都是MODIFY COMMAND;打印程序文件的命令格式是TYPE<文件名> TO PRINTR;运行程序命令格式是DO 程序文件名。 【答案】D

2.INPUT,ACCEPT、WAIT三条命令中,可以接收字符的命令是( )。 A.只有ACCEPT B.只有WAIT C.ACCEPT与WAIT D.三者均可

【解析】本题考查的知识点是键盘输入命令。INPUT、ACCEP、WAIT这三条命令都可用来接收字符数据,而且ACCEPT和WAIT命令只能接收字符型数据,INPUT命令还可以接收数值型、日期型、逻辑型等数据。 【答案】D

3.Visual Foxpro中的DO CASE…ENDCASE语句属于( )。 A.顺序结构 B.循环结构 C.分支结构 D.模块结构

【解析】本题考查的知识点是分支结构语句。Visual Foxpro的分支结构语句有两种。一种是简单分支语句IF…ENDIF,另一种是多分支语句DO CASE…ENDCASE语句。循环结构语句包括三种,分别是DO WHILE循环、FOR循环与SCAN循环。 【答案】C

4.在某个程序模块中,用PRIVATE语句定义的内存变量( )。 A.可以在该程序的所有模块中使用

B.只能在定义该变量的模块中使用

C.只能在定义该变量的模块及其下属模块中使用

D.只能在定义该变量的模块及其下属模块中,与相关数据表一起使用

【解析】本题考查的知识点是内存变量的作用域。用PRIVATE语句定义的是模块变量,即局部变量,其作用范围是本模块及其下属模块。如果用PUBLIC语句定义的变量是全局变量,可以在程序的所有模块中使用。如果用LOCAL语句定义的变量是本地变量,只能在定义该变量的模块中使用。 【答案】C

5.在Visual Foxpro程序中使用的内存变量可以分为两大类,它们是( )。 A.字符变量和数组变量 B.简单变量和数值变量 C.全局变量和局部变量 D.一般变量和下标变量

【解析】本题考查的知识点是内存变量的分类。内存变量按照其作用域不同,可以分为全局变量和局部变量两大类。其中,全局变量是指在程序的任何嵌套中及在程序执行期间始终有效的变量,它的全局属性必须使用PUBLIC命令予以定义:而未经PUBLIC定义的变量则为局部变量,它只在建立它的过程及其下级过程中有效。 【答案】C

6.在永真循环DO WHILE .T.中,为退出循环可以使用( )语句。 A.LOOP B.EXIT C.CLOSE D.QUIT

【解析】本题考查的知识点是永真循环语句。选项A是使循环跳到循环首语句,EXIT命令只能用在循环语句中,是专门用来强行退出本层循环的;而QUIT命令是用来退出Visual Foxpro系统,回到操作系统。选项C是错误的语句。 【答案】B

7.执行命令:INPUT “请输入数据:” TO aaa时,如果要通过键盘输入一个字符串,应当使用的定界符包括( )。 A.单引号

B.单引号或双引号

C.单引号、双引号或方括弧 D.单引号、双引号、方括弧或圆点

【解析】本题考查的知识点是INPUT输入命令。字符型数据的定界符应为单引号、双引号或方括弧。 【答案】C

8.在”先判断,后执行”的循环程序结构中,循环体执行的次数最少可以是( )次。 A.0 B.1 C.2 D.不确定

【解析】本题考查的知识点是DO WHILE 循环语句。”先判断后执行”的循环结构是”当型”循环,即DO WHILE循环。当循环条件第一次就不满足时,循环一次也不做,循环次数为0。 【答案】A

9.在程序中用PUBLIC语句定义的内存变量具有的特性是( )。 A.可以在所有过程中使用

B.只能在定义该变量的过程中使用

C.只能在定义该变量的过程及本过程所有嵌套的过程中使用 D.只能在当前过程中使用

【解析】本题考查的知识点是全局内存变量的特性。使用PUBLIC命令定义的变量为全局变量,可以作用于任何程序的任何模块中。 【答案】A

10. 顺序执行下面两条命令后,屏幕显示的结果是( )。 N=123456.789

@10,6 SAY N PICTURE “$999,999.9” A.$123,456.7 B.123,456.7 C.$123,456.8 D.123,456.8

【解析】本题考查的知识点是格式输入输出命令。”$”,”9”,”,”均属于格式符。其中,”$”用于在数值型数据的第一个有效数字前加一个美元符号;”9”限制数值型数据只能为0~9和正负号;”,”设置在数值的绝对值大于1000时,自动加分节号。 【答案】A

11. 下列有关Visual Foxpro过程文件的叙述,其中正确的是( )。

A.先用SET PROCEDURE TO命令关闭原来已打开的过程文件,然后用DO<过程名>执行 B.可直接用DO <过程名>执行

C.先用SET PROCEDURE TO <过程名>命令打开过程文件,然后用USE<过程名>执行 D.先用SET PROCEDURE TO <过程名>命令打开过程文件,然后用DO<过程名>执行

【解析】本题考查的知识点是过程文件及过程的调用。调用过程文件中的过程,正确方法应该是先打开过程文件,然后再利用DO命令执行过程。 【答案】D

12.在程序中,可以终止程序执行并返回到Visual Foxpro命令窗口的命令是( )。 A.EXIT B.QUIT C.BYE D.CANCEL

【解析】本题考查的知识点是程序文件中常用的命令。EXIT命令用于退出循环,QUIT命令用于退出Visual FoxPro系统,BYE是非法的命令动词。因此选项A、B、C错误。 【答案】D

13.用于声明所有内存变量是局部变量的命令是( )。 A.PRIVATE ALL B.PUBLIC ALL C.ALL=0

D.STORE 0 TO ALL

【解析】本题考查的知识点是内存变量类型的声明。答案C和D的功能均为创建一个内存变量,变量名为ALL,初值为0。B答案是声明所有变量为全局变量。 【答案】A

14.在用@…SAY…命令进行格式化输出时,为使输出结果只输出到打印机上,应使用命令( )。 A.SET PRINT ON

B.SET PRINTER TO LIPT1 C.SET DEVICE TO PRINT D.SET PRINTER TO PRN

【解析】本题考查的知识点是格式化输出命令。以”@”开头的格式输入输出命令带有行、列坐标,用于指

定屏幕或打印机的坐标位置。除了SET DEVICE TO SCREEN/PRINT命令用于指定格式输出设备为屏幕或打印机外,其他输出设置命令对它均不起作用。 【答案】C

15.执行命令ACCEPT”请输入数据:” TO XYZ时,可通过键盘输入的内容包括( )。 A.字符串 B.数值和字符串

C.数值、字符串和逻辑值

D.数值、字符串、逻辑值和表达式

【解析】本题考查的知识点是ACCEPT输入命令。ACCEPT命令是字符串输入命令,即ACCEPT只能从键盘接收字符串。 【答案】A

16.一个过程文件最多可以包含128个过程,每个过程的第一条语句是( )。 A.PARAMETER B.DO <过程名>

C.<过程名> D.PROCEDURE<过程名>

【解析】本题考查的知识点是过程的定义。定义过程所使用的命令动词是PROCEDURE。选项A为参数传递语句,选项B为调用过程语句。 【答案】D

17.在命令文件中调用另一个命令文件,应该使用命令( )。 A.CALL <命令文件名> B.LOAD <命令文件名> C.PROCEDURE <命令文件名> D.DO <命令文件名>

【解析】本题考查的知识点是子程序的调用。在一个主程序中调用一个子程序的命令格式是 DO <命令文件名>。 【答案】D

18.设学生数据表当前记录中”计算机”字段的值是89,执行下面程序段之后的屏幕输出是( )。 DO CASE

CASE 计算机<60

? “计算机成绩是:”+”不及格”

CASE 计算机>=60

? “计算机成绩是:”+”及格”

CASE 计算机>=70

? “计算机成绩是:”+”中”

CASE 计算机>=80

? “计算机成绩是:”+”良好”

CASE 计算机>=90

? “计算机成绩是:”+”优”

ENDCASE

A.计算机成绩是:不及格 B.计算机成绩是:及格 C.计算机成绩是:良 D.计算机成绩是:优

【解析】本题考查的知识点是多分支语句的使用。DO CASE语句在每个分支前都设置了一个条件,程序将依次判断这些条件表达式,并执行第一个条件为真值所对应的语句序列。本题中,第一个条件为真值的表达式为计算机>=60,因此答案是B 【答案】B

19.执行如下程序,如果输入N的值为5,则最后S的显示值是( )。 CLEAR SET TALK OFF S=0 I=1

INPUT “N=” TO N DO WHILE S<=N S=S+I I=I+1 ENDDO ? S

SET TALK ON

A.1 B.3 C.5 D.6 【解析】本题考查的知识点是循环结构程序的分析。 变量S和I在每次循环执行过程中的值的变化如下: S值 I值 第一次循环 1 2 第二次循环 3 3 第三次循环 6 4

可见,第三次循环后,条件判断(6<=5)为假,循环结束。此时S的值为6。 【答案】D

20.设数据库表文件XSCJ.DBF中有8000条记录,其文件结构是:姓名(C,8),成绩(N,5,1).此时若运行以下程序,屏幕上将显示( )。 CLEAR SET TALK OFF J=0

DO WHILE .NOT. EOF () J=J+成绩 SKIP ENDDO

?”平均分:”+STR (J/8000, 5, 1) RETURN

A.平均分:XXXX.X(X代表数字) B.数据类型不匹配 C.平均分:J/8000 D.字符串溢出

【解析】本题考查的知识点是循环结构程序的分析。循环结束后,变量J中存放的是数据表中8000条记录的总成绩。STR(J/8000,5,1)函数表示求平均成绩,并将数值型结果转换为字符型,小数位保留一位。

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

Top