VFP考试重点课件_第1页
VFP考试重点课件_第2页
VFP考试重点课件_第3页
VFP考试重点课件_第4页
VFP考试重点课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP考试重点+练习+答案

第1章VisualFoxPro基础

大纲要求

一、VisualFoxPro基础知识。数据库、数据库系统、数据库管理系统以及三者之间的关系;

数据库系统的特点:数据模型。

二、关系数据库。关系中的关系、元组、属性、域、关键字、外部关键字;关系的特点:关

系模型。

三、关系运算。传统的集合运算:并、差、交;专门的关系运算:选择、投影、联接。

命题方向

1.本章在最近5次考试中题量及分值比重均有所减少,约占试卷总分值的4%。

2.数据模型、数据库、数据库系统、数据库管理系统、关系的概念及特点、关系运算是考

核的重点。其中关系模型和数据库管理系统是重中之重。

3.数据模型在近两次考题中没出现。

考点I:数据库系统★★★

一、计算机在数据管理方面的儿个阶段

1.人工管理

20世纪50年代后期至50年代中期以前,没有专门管理数据的软件,数据由计算或处理它

的程序自行携带。特点:数据与程序不具有独立性,一组数据对应一组程序。数据不长期保

存,程序运行结束后就退出计算机系统,一个程序中的数据无法被其他程序利用,因此程序

与程序之间存在大量的重复数据,称为数据冗余。

2.文件系统

20世纪50年代后期至60年代中后期,程序与数据有了一定的独立性,程序和数据分开存

储,由于程序文件和数据文件的区别,数据文件可以长期保存在外存储器上。

3.数据库系统从20世纪60年代后期开始,数据库技术的主要目的是有效地管理和存取大

量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小

数据的冗余度,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应

用程序的开发和维护代价。

4.分布式数据库系统

分布式数据库系统是数据库技术和计算机网络技术紧密结合的产物。在20世纪70年代后期

之前,数据库系统大多数是集中式的。网络技术的进步为数据库提供了分布式运行环境,从

主机/终端系统结构发展到客户/服务器系统结构。

5.面向对象数据库系统

面向对象程序设计是20世纪80年代引入计算机科学领域的一种新的程序设计技术,它的发

展十分迅猛,影响涉及计算机科学及其应用的各个领域。

二、有关数据库的概念

(1)数据库(DB)是存储在计算机上结构化的相关数据集合,它不仅包括描述事物的数据本身,

而且还介绍数据库管理系统所支持的各种数据模型。

(2)数据库应用系统是指系统开发人员利用数据库系统资源开发出来的、面向某•类实际应

用的软件系统。

(3)数据库管理系统⑴BMS)可以对数据库的建立、使用和维护进行管理。

(4)数据库系统(DBS)是指引进数据库技术后的计算机系统,能够实现有组织地、动态地

存储大量相关数据,提供数据处理和信息资源共享的便利手段。,

(5)数据库、数据库系统、数据库管理系统三者之间的关系:数据库系统包括数据库和数据

库管理系统。数据库管理系统可对数据库的建立、使用和维护进行管理,是数据库系统的核

心。

三、数据库系统的特点

(1)实现数据共享,减少数据冗余。

(2)采用特定的数据模型。

(3)具有较高的数据独立性。

(4)有统一的数据控制功能。

考题透解

一、选择题

【例1】VisualFoxPro是一种。(07.04)

A)数据库系统B)数据库管理系统

C)数据库D)数据库应用系统

解、析:VisualFoxPro是一种数据库管理系统,可以对数据库的建立、使用和维护进行管

理。

答案:B

【例2】数据库DB、数据库系统DBS、数据库管理系统.DBMS之间的关系是。(06.04)

A)DB包含DBS和DBMS,B)DBMS包含DB和DBS

C)DBS包含DB和DBMSD)没有任何关系

解析:数据库系统(DBS)由5部分组成:硬件系统、数据库集合、数据库管理系统及相关软

件、数据库管理员和用户,所以数据库系统(DBS)包括数据库(DB)和数据库管理系统(DBM

S)。

答案:C

二、填空题

【例】数据库系统中对数据库进行管理的核心软件是。(08.04)

解析:为数据库的建立、使用、维护而配置的软件称为数据库管理系统DBMS(DataBaseM

anagementSystem),它是数据库系统的核心。

答案:数据库管理系统(DBMS)

考点2数据模型★★★

一、实体的描述

(1)实体:客观存在并且可以相互区别的事物,实体可能是实际的事物,也可能是抽象的事

件。

(2)实体的属性:描述实体的特性。

(3)实体集和实体型:属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称

为实体型。同类型的实体的集合,称为实体集。

在visualFoxPro中,用“表”来存放同一类实体,即实体集。VisualFoxPro的一个“表”包含若

干个字段,“表”中所包含的“字段”就是实体的属性。字段值的集合组成表中的一条记录,代

表一个具体的实体,即每一条记录表示一个实体。

二、实体间联系及联系的种类

实体之间的对应关系称为联系,它反映现实世界事物之间的相互关联。

实体间联系的种类是指•个实体型中可能出现的每一个实体与另一个实体中多个具体实体

存在联系。两个实体间的联系有以下三种类型。

I-对联系:表现为主表中的每一条记录只与相关表中的一条记录相关联。

I一对多联系:表现为主表中的每一条记录与相关表中的多条记录相关联。

I多对多联系:表现为一个表中的多个记录在相关表中同样有多个记录与其匹配。

三、数据模型简介

数据模型是数据库管理系统中用来表示实体及实体间联系的方法。

数据库管理系统所支持的数据模型分为以下三种。

I层次数据模型:用树形结构表示实体及其之间联系的模型。

I网状数据模型:用网状结构表示实体及其之间联系的模型。

I关系数据模型:用二维表结构来表示实体以及实体之间联系的模型。

考题解析

【例】在关系数据库中,用来表示实体之间联系的是o(08.04)

解析:在关系数据库中,用关系(二维表结构)表示实体及其之间联系的模型称为关系数据模

型。

答案:关系

考点3:关系模型★★★

考点透解

一、关系模型中的关系术语

(1)关系:一个关系就是一张二维表,每个关系有一个关系名。在VisualFoxPro中,一个关

系存储为一个文件,文件扩展名为.Dbf,称为“表”。

(2)元组:在一个二维表中,水平方向的行称为元组,每一行是一个元组。元组对应存储文

件中的一个具体记录。

(3)属性:二维表中垂直方向的列称为属性,每,•列有一个属性名,在VisualFoxPro中表示

为字段名。

(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(5)关键字:属性或属性的组合,其值能够惟•标识一个元组。

(6)外部关键字:表中的一个字段不是本表的主关键字或候选关键字,而是另一个表的主关

键字或候选关键字。

二、关系的特点

(1)关系必须规范化。

(2)在同一个关系中不能出现相同的属性名,Visual:FoxPro中不允许同一个表中有相同的

字段名。

(3)关系中不允许有完全相同的元组,即冗余。

(4)在一个关系中元组的次序无关紧要。

(5)在一个关系中列的次序无关紧要。

考题透解

一、选择题

【例1】设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号)、课程c

(课号,课名)、选课SC(学号,课号,成绩),则表SC的关键字(键或码)为。(08.0

4)

A)课号,成绩B)学号,成绩

C)学号,课号D)学号,姓名,成绩

解析:“选课SC”表是“学生S”表和“课程C”表的映射表,主键是两个表主键的组合。

答案:C

【例2】下列叙述中正确的是。(07.09)

A)为了建立一个表,首先要构造数据的逻辑关系

B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项

C)一个关系的属性名表称为关系模式

D)一个关系可以包括多个二维表

解析:表示关系的二维表中各元组的每一个分量不可以再分,一个关系就是一张二维表,对

关系的描述称为关系模式。

答案:A

【例3】在关系模型中,每个关系模式中的关键字。(0'7.04)

A)可由多个任意属性组成

B)最多由一个属性组成

C)可由一个或多个其值能惟一标识关系中任何元组的属性组成

D)以上说法都不对

解析:关系数据模型中的关键字可以由一个或多个属性组成,能够惟一标识一个元组。

答案:C

【例4】在Visual.FoxPro中以下叙述错误的是。(06.04)

A)关系也被称作表B)数据库文件不存储用户数据

C)表文件的扩展名是.dbf)多个表存储在一个物理文件

解析:一个关系的逻辑结构就是一张二维表,数据库文件存储表不存储用户数据,表文件的

扩展名是.dbf,多个表存储在一个数据库文件中,所以选项D错误。

答案:D

二、填空题

【例】在二维表中,元组的不能再分成更小的数据项。

解析:表示关系的二维表中各元组的每一个分量不司以再分,一个天系就是一张二维表,对

关系的描述称为关系模式。

答案:分量

考点4关系运算****

考点透解

一、关系的基本运算

(1)传统的集合运算:进行并、差、交集合运算的两个关系必须具有相同的关系模式,即相

同结构。

(2)专门的关系运算:在VisualFoxPro中,查询是高度非过程化的,用户只需要明确提出“要

干什么”,而不需要指出“怎么去干系统将自动对查询过程进行优化,可以实现对多个相

关联的表的高速存取。

二、传统的集合运算

(1)并:两个相同结构关系的并是由属于这两个关系的元组组成的集合。

(2)差:设有两个相同结构的关系R和S,差运算的结果是从R中去掉S中也有的元组。

(3)交:两个具有相同结构的关系R和S,交运算的结果是R和S的共同元组。

三、专门的关系运算

(1)选择:从关系中找出满足给定条件的元组的操作。

(2)投影:从关系模式中指定若干个属性组成新的关系。

(3)联接:联接运算将两个关系模式拼接成•个更宽的关系模式,生成的新关系中包含满足

联接条件的元组。

考题透解

一、选择题

[例1]从表中选择字段形成新关系的操作是。(08-09)

A)选择B)联接

C)投影D)并

解析:专门的关系运算包括选择、投影、联接等。关系R上的投影是从R中选择出若干属

性型组成新的关系。投影操作是从列的角度进行的运算。

答案:C

【例2】操作对象只能是•个表的关系运算是。(06.09)

A)联接和选择B)联接和投影

C)选择和投影D)自然连接和选择

解析:专门的关系运算分为选择、投影和联接,选择和投影运算的操作对象只是一个表,相

当于对一个二维表进行切割。联接运算需要两个表作为操作对象。

答案:C

二、填空题

【例】在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,负责

数据的模式定义与数据的物理存取构建。(08.04)

解析:数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数

据的操纵,如查询与增、删、改等;数据控制语言:负责数据完整性、安全性的定义与检查

以及并发控制、故障恢复等。

答案:数据定义语言

过关练习

一、选择题

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

A)数据模型B)数据库管理系统C)数据库D)数据库管理员

2.数据库系统中对数据进行管理的核心软件是。

A)DBMSB)DBC)OSD)DBS

3.VisualFoxPro是一种关系型数据库管理系统,这里的关系通常是指。

A)数据库文件(dbc文件)B)一个数据库中两个表之间有一定的关系

C)表文件(dbf文件)D)一个表文件中两条记录之间有一定的关系

4.关系运算中的选择运算是。

A)从关系中找出满足给定条件的元组的操作

B)从关系中选择若干个属性组成新的关系的操作

Q从关系中选择满足给定条件的属性的操作

D)A和B都对

5.数据库系统与文件系统的最主要区别是。

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

B)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决。

C)文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件

D)文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量

6.某家公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职

员,则部门和职员两个实体的联系类型属于。

A)多对多B)一对多C)多对•D)一对•

二、填空题

1.在奥运会游泳比赛中,一个游泳运动员可以参加多项比赛,一个游泳比赛项目可以有多

个运动员参加,游泳运动员与游泳比赛项目两个实体之间的联系是联系。

2.在关系数据库中,把数据表示成二维表,每一张二维表称为。

3.二维表中的行称为关系的;二维表中的列称为关系的。

4.从关系模式中指定若干个属性组成新的关系称为。

过关练习参考答案

一、选择题

1.B2.A3.C4.A5.B6.B

二、填空题

1.多对多2.关系3.元组,属性4.投影

第2章VisualFoxPro系统初步

考纲透解

一、viSURUzoxPro6〜的安装与启动。安装visualFoxPro6.0;启动WsualFoxPr06.0;退出

系统。

二、visualFoxPro的主界面。菜单操作;命令操作;项目管理器窗口;工具栏的使用。

三、VIsualFoxPro6.。的配置。使用“选项”对话框;保存设置。

四、项目管理器。创建项目;打开、关闭项目;各类文件选项卡。

五、使用项目管理器。创建文件;添加文件;修改文件;移去文件;其他按钮。

六、VisualFoxPro的向导。启动向导;使用向导;修改用向导创建的项;visualFoxPro6.0

新增的项。

七、VisualFoxPro的生成器。启动表单生成器;对表单中的控件使用相应的生成器;使用

自动格式生成器来设置控件格式;使用参照完整性生成器。

例题方向

1.本章在最近两三次考试中题量及分值比重均有所减少,约占试卷总分值的3%。

2.掌握项目管理器的概念和项目中选项卡的使用。

考点:项目管理器的概念★★

考点透解

所谓项目是指文件、数据、文档和VisualFoxPro对象的集合。项目管理器为系统开发者提

供了极为便利的工作平台,一是提供了简便的、可视化的方法来处理表、数据库、表单、报

表、查询和其他一切文件,通过单击鼠标就能实现对文件的创建、修改、删除等操作:二是

在项目管理器中将应用系统编成一个扩展名为.app的应用文件或.exe的可执行文件。

项目管理器将一个应用程序的所有文件集合成一个有机的整体,形成一个扩展名为.pix的

项目文件。用户可以根据需要创建项目。

项目管理器共有6个选项卡,其中“数据”、“文档”、“类”、“代码”、“其他”5个

选项卡分别用于分类显示各种文件,“全部''选项卡用于集中显示该项目中的所有文件。

I“数据”选项卡:包含了一个项目中的所有数据——数据库、自由表、查询和视图。

I“文档”选项卡:包含了处理数据时所用的三类文件,即输入和查看数据所用的表单、打印

表和查询结果所用的报表及标签。

I"类''选项卡:使用VisualFoxPro的基类就可以创建一个可靠的面向对象的事件驱动程序。

I“代码”选项卡:包括三大程序,.即扩展名为.prg的程序文件、库文件.api和应用程序

文件.app.

I“其他”选项卡:包括文本文件、菜单文件和其他文件。

1"全部''选项卜:以上各类文件的集中显示窗口。

一、创建文件

要在项目管理器中创建文件,首先要确定新文件的类型。只有当选定了文件类型,“新建”

按钮才可用。单击“新建”按钮或选择“项目”一“新建文件”命令,即可打开相应的设计器以创

建一个新文件。

提示:在项目管理器中新建的文件将自动包含在该项目文件内,而利用“文件”菜单中的“新

建”命令创建的文件不属于任何项目文件。

二、添加文件

选择要添加的文件类型。单击“添加”按钮或选择“项目"一''添加文件”命令,系统弹出“打开”

对话框。单击“确定”按钮,系统便将选择的文件添加到项目文件中。

三、修改文件

选择要修改的文件。单击“修改”按钮或选择“项目”-“修改文件”命令,系统将根据要修改的

文件类型打开相应的设计器,在设计器中修改选择的文件。

四、移去文件

选择要移去的文件。单击“移去”按钮或选择“项目”一“移去文件”命令。若单击提

示框中的“移去”按钮,系统仅仅从项目中移去所选择的文件,被移去的文件仍存在于原目录

中;若单击“删除”按钮,系统不仅从项目中移去文件,还将从磁盘中删除该文件,文件将不

复存在。

项目管理器中其他按钮的功能说明如下。

(1)“浏览”按钮:在“浏览”窗口中打开•个表,此按钮与“项目”菜单的“浏览文件”命令作用相

同,且仅当选定一个表时可用。

(2)“关闭”和“打开”按钮:关闭或打开一个数据库。

(3)“预览”按钮:在打印预览方式下显示选定的报表或标签。

(4)“运行”按钮:执行选定的查询、表单或程序。,

(5)“连编”按钮:连编个项目或应用程序,与“项目”菜单的“连编”命令作用相同。

考题透解

一、选择题

【例1】MODIFYCOMMAND命令建立的文件的默认扩展名是。(08.09).

A)prgB)appC)cmdD)exe

解析:连编应用程序生成的文件可以是应用程序文件(.app文件)、可执行文件(.exe文件)、

动态连接库文件(dll文件),.prg文件是程序文件,可以通过:MODIFYCOMMAND)命令建

立,不能通过连编建立。

答案:A

【例2】欲执行程序temp,prg,应该执行的命令是。(08.09)

A)D0PRGtemp.prgB)DOtemp.prg

C)DOCMDtemp.prgD)DOFORMtemp.prg

解析:DO命令的作用是执行一个VisualFoxPro程序文件,如果执行的程序文件或过程文件

中不包含扩展名,VisualFoxPro将按一定的顺序执行程序,它们分别为:可执行程序(.exe)、

应用程序(.app)、编译后的程序(.fxp)、程序文件(.prg)。.

答案:B

【例3】打开已经存在的表单文件的命令是。(08.09)

A)MODIFYFORMB)EDITFORM

QOPENFORM.D)READFORM

解析:如果•个表单不属于某个项目,可以使用以下方法打开:选择“文件”>“打开”命令,

然后在“打开''对话框中选择需要修改的表单文件;或者在命令窗口输入命令"MODIFYFOR

M<表单文件名在这里,如果命令中指定的表单文件不存在,系统将启动表单设计器创

建一个新表单。

答案:A

【例4】在VisualFoxPro中,后缀名为.mnx的文件是«(08.04)

A)备注文件B)项目文件

C)表单文件D)菜单文件

解析:在VisualFoxPro中,项目文件的后缀为.pjx;表单文件的后缀为.sex;菜单文件的

后缀为.mnx.;不同类型的各注文件后缀不同,例如,.doc表示数据库备注文件,.fpt

表示数据表备注文件。

答案:D

【例5】在VisualFoxPro中,通常以窗口形式出现,以创建和修改表、表单、数据库等应

用程序的可视化工具称为。(07.09)

A)向导B)设计器C)生成器D)项目管理器

解析:VisualFoxPro的设计器是创建和修改应用系统各种组件的可视化工具。

答案:B

【例6】在“项目管理器”下为项目建立一个新报表,应该使用的选项卡是。(06.09)

A)数据B)文档C)类D)代码

解析:“数据”选项卡包括数据库、自由表、查询和视图;“文档”选项卡包括处理数据时所用

的三类文件:输入和查看数据所用的表单、打印表和查询结果所用的报表及标签;“类''选项

卡包含的是用户自定义类:“代码”选项卡包括扩展名为.prg的程序文件、函数库APILibr

aries«

答案:B

【例7】扩展名为.pjx的文件是。(06.09)

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

解析:数据库表文件的扩展名为.dbf.表单文件的扩展名为_scx;数据库文件的扩展名为.d

be;项目文件的扩展名为.pjx。

答案:D

二、填空题

【例】可以在项目管理器的选项卡下建立命令文件(程序)。(06.09)

解析:项目管理器的“代码''选项卡包括三大类程序,即扩展名为.prg的程序文件、函数库

APILibraries和应用程序.app文件。

答案:代码

过关练习

1.“项目管理器”的“运行”按钮用于执行选定的文件,这些文件可以是。

A)查询、视图或表单B)表单、报表和标签

C)查询、表单或程序D)以上文件都可以

2.在VisualFoxPro的项目管理器中不包括的选项卡是。

A)数据B)文档C)类D)表单

3.在VisualFoxPro中创建项目,系统将建立一个项目文件,项目文件的扩展名是。

A)proB)prjC)pjxD)itn\

过关练习答案

1.C2.D3.C

第3章数据与数据运算

考纲透解

-、常量与变量。数值型常量、货币型常量、字符型常量、日期型常量、日期时间型常量、

逻辑型常量、简单内存变量、数组。

二、表达式及常用函数。数值表达式、字符表达式、日期时间表达式、关系表达式、逻辑表

达式:数值函数、字符函数、日期和时间函数、数据类型转换函数、测试函数。

例题方向

1.本章在最近两三次考试中题量及分值比重均有所增加,约占试卷总分值的4.7%。

2.常用函数一日期和时间函数、字符函数、测试函数、数组、常量、变量、逻辑表达式。

其中常用函数和变量是重中之重。

3.变量在近两次考题中出现频率较高。

考点1:常量★★★

考点透解

(1)数值型常量,也就是常数,用来表示一个数量的大小,由数字0〜9、小数点和正负号构

成。

(2)货币型常量,用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符

号($)。

(3)字符型常量,也称字符串,其表示方法是用半角单引号、双引号或方括号来把字符串括

起来。这里的单引号、双引号或方括号称为定界符。字符型常量的定界符必须成对匹配,不

能一边用单引号而另一边用双引号,如果某种定界符本身也是字符串的内容,则需要用另一

种定界符为该字符串定界。

(4)日期型常量,日期型常量的定界符是一对花括号{}。日期型常量格式有两种:传统的日

期格式(月/日/年);严格的日期格式{“YYYY.mm.dd),用这种格式书写的日期常量能

表达一个确切的日期,不受SETDATE等语句设置的影响。影响日期格式的设置命令是“SE

TMARKTO[日期分隔符「,如果执行SETMARKTO时没有指定任何分隔符,表示恢复系

统默认的斜杠分隔符“广。

“SETDATETOAMERIGAIN/ANSI/FRENCH/MDY/DMY/YMD”用于设置日期显示

格式。

•"SETCENTURYON/OFF,用于设置显示日期型数据时是否显示世纪。

•"SETSTRICTDATETO[0/1/2/用于设置是否对日期格式进行检查。0表示不进行严

格的日期格式检查,目的是与早期VFP兼容;1表示进行严格的日期格式检查,它是系统

默认的设置;2表示进行严格的日期格式检查,并且对CTOD()利CTOT()函数的格式也有效。

(5)日期时间型常量,它包括日期和时间两部分内容:{〈日期>,〈时间>1}。〈日期〉部分与

日期型常量相似,也有传统的和严格的两种格式。

(6)逻辑型常量,它只有逻辑真和逻辑假两个值。逻辑真的常量表示形式有:.T.、.t.、.Y.、.

y-

逻辑假的常量表示形式有:.F.、.£、..N.、.n.。前后两个句点作为逻辑型常量的定界符是

必不可少的,否则会被误认为变量名。逻辑型常量只占用一个字节。

考题透解

【例】要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命

令。(07.09)

A)SETCENTURYONB)SETCENTURYOFF

C)SETCENTLIRYTOD)SETCENTURYOF4

解析:SETCENTURYON设置日期型或日期时间型数据中的年份用4位数字显示,SETC

ENTURYOFF设置日期型或日期时间型数据中的年份用2位数字显示。

答案:A

考点2变量★★★★

考点透解

一、字段变量

表中的各条记录对同一个字段可能取值不同,所以,表中的字段名就是变量,称为字段变量。

二、内存变量

内存变量的数据类型包括字符型(c)、数值型(N)、货币型(Y)、逻辑型(L)、日期型(D)和日期

时间型(T)。

1.内存变量格式

简单内存变量有两种格式:

I〈内存变量名>=<表达式>。

ISTORE(表达式〉TO<内存变量名工

等号一次只能给一个内存变量赋值,STORE命令可以同时给若干个变量赋予相同的值,各

内存变量名之间必须用逗号分开:在VisualFoxPro中,一个变量在使用之前并不需要特别

的声明或定义,当用STORE命令给变量赋值时,如果该变量并不存在,那么系统自动建立

它;可以通过对内存变量重新赋值来改变其内容和类型。

2.数组

数组是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相

应的下标来访问。每个数组元素相当于一个简单变量,可以给各元素分别赋值。在VisualF

oxPr。中,数组各元素的数据类型可以不同。

与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令显式创建,

规定数组是一维数组还是二维数组,数组大小由下标值的上、下限决定,下限规定为1。

数组命令格式如下。

IDEMENSION〈数组名〉

IDECLAREv数组名〉

数组创建之后,系统自动给每个数组元素赋以逻辑假(.F.)。

在使用数组和数组元素时,需注意以下问题:

(1)在一切使用简单内存变量的地方,均可以使用数组元素。

(2)在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。

(3)在同一个运行环境下,数组名不能与简单变量名重复。

(4)在赋值语句中的表达式位置不能出现数组名。

(5)可以用一维数组的形式访问二维数组。

考题透解

一、选择题

【例1】在VisualFoxPro中,有如下内存变量赋值语句:(08.04)

X={A2001-07-2810:15:20PM}

Y=.F.

M=5123.45

N=$123.45

Z="1234.45"

执行上述赋值语句之后,内存变量X、Y、M、N和Z的数据类型分别是。

A)D、L、Y、N、CB)T、L、Y、N、C

C)T、L、M、N、CD)T、L、Y、N、S

解析:数据类型主要包括①字符型(Character):由字母(汉字)、数字、空格等任意ASCII码

字符组成。②货币型(Currency)(简写¥):在使用货币值时;可以使用货币型来代替数值型。

③日期型(Date)。④日期时间型(DateTime)(简写T)。⑤逻辑型(Logical):用于存储只有两个

值的数据。⑥浮点型(Float)。⑦通用型(General)。⑧整型(Integer)。⑨备注型(Memo)等。

答案:B

【例2】如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是。(0

8.04)

A)M.姓名B)M.>姓名,

。姓名D)A)和B)都可以

解析:内存变量常用于存储程序运行的中间结果或用于存储控制程序执行的各种参数。可直

接通过变量名引用变量的值。但如果当前打开的表中有与变量同名的字段名,此时应使用“M.

变量名”或“M—〉变量名”引用该变量,而字段名可以直接引用。

答案:D

【例3】下列程序段执行以后,内存变量Y的值是。(08.09)

x=76543

y=0

dowhilex>0

y=x%10+y*10

x=int(x/10)

enddo

A)3456B)345670)7654D)76543

解析:根据VisualFoxPro中求余运算的特点,第一次运行后x=7654,y=3;第二次运行x=

765,y=34;第三次运行x=76,y=345;第四次运行x=7,y=3456;第五次运行x=0,y=345

67;而后退出循环.

答案:B

【例4】从内存中清除内存变量的命令是。(06.09)

A)RELEASEB)DELETE

C)ERASED)DESTROY

解析:清除内存变量的命令有:CLEARMEMORY和RELEASE,所以选A。

答案:A

【例5】设X=6v5,命令”?VARTYPE(X)”的输出是。(06.04)

A)NB)CC)LD)出错

解析:先判断"x=6<5"的值,结果为逻辑假,VARTYPE()测试函数类型,所以最后结果

为逻辑型。

答案:C

【例6】执行如下命令序列后,最后一条命令的显示结果是。(06.04)

DIMENSIONM(2,2)

M(1,1)=10

M(1,2)=20

M(2,1)=30

M(1,2)=40

?M(2)

A)变量未定义的提示B)10Q20D).F.

解析:DIMENSIONM(2,2)表示二维数组M含4个元素,M(l,1)=10表示给第一个元素赚

值10,M(1,2)=20表示给第二个元素赋值20,M(2,1)=30表示给第三个元素赋值30,

M(2,2)=40表示给第四个元素赋值40,M(2)表示第二个元素的值,所以结果为20。

答案:C

二、填空题

【例】在基本表中,要求字段名重复。(08.04)

解析:字段名在基本表中是不允许重复的。基本表具有如下4个特性:原子性,基本表中的

字段是不可再分的;原始性,基本表中的记录是原始数据(基础数据)的记录;演绎性,由基

本表与代码表中的数据,可以派生出所有的输出数据:稳定性,基本表的结构是相对稳定的,

表中的记录是要长期保存的。

答案:不能

考点3表达式★★

考点透解

一、数值表达式

数值表达式是由算术运算符将数值型数据连接起来形成的,其运算结果仍然是数值型数据,

数值型数据可以是数值型常量或者变量。算术运算符的含义和优先级如下:

1.()2.**八3.*、/、%4.+、-

二、字符表达式

字符表达式是由字符串运算符与字符型数据连接起来形成的,其运算结果仍然是字符型数

据。字符串运算符有以下两个,它们的优先级相同。

I+:前后两个字符串首尾连接形成一个新的字符串。

I-:连接前后两个字符串,并将前字符串的尾部移到合并后的新字符串尾部。

三、日期时间表达式

日期时间表达式中可以使用的运算符也有“+”和“一”两个。日期时间表达式的格式有一定限

制,不能任意组合。不能用运算符“+”将两个日期连接起来。合法的日期时间表达式格式如

111

1(日期>+<天数>1日期型。指定日期若干天后的日期1

111

1〈天数>+<日期>1日期型。指定日期若干天后的日期1

11

1〈日期>-〈天数)1日期型。指定日期若干天前的日期1

11

|〈日期>Y日期〉1数值型。两个指定日期相差的天数1

111

1〈日期时间>+<秒数>1日期时间型。指定日期时间若干秒后的日期时间1

11

1V秒数>+<日期时间>1日期时间型。指定日期时间若干秒后的日期时间1

111

1〈日期时间〉Y秒数〉1日期时间型。指定日期时间若干秒前的日期时间1

11111

1〈日期时间〉Y日期时间〉|数值型。两个指定日期时间相差的秒数|

111

符号”+,,和”一,,既可以作为日期时间运算符,也可以作为算术运算符和字符串连接运算符。到

底作为哪种运算符使用,要根据它们所连接的运算对象的数据类型而定。

四、关系表达式

关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来形成

的,关系运算符的作用是比较两个表达式的大小或前后,其运算结果是逻辑型数据,它们的

优先级相同。<>=<>、#、!=<=>===(字符精确比较)$(子串包括)

五、逻辑表达式

逻辑表达式是由逻辑运算符将逻辑型数据连接起来形成的,其运算结果仍然是逻辑型数据。

逻辑运算符有三个:.NOT或!(逻辑非)、.AND.(逻辑与)以及.OR.(逻辑或)。也可以

省略两端的点,其优先级顺序依次为NOT、AND、OR。

目国圉阻...............................................

【例】设*="11",Y="1122”,下列表达式结果为假的是。(06.04)

A)NOT(X==Y)AND(X$Y)

B)NOT(XSY)OR(XoY)

C)NOT(X>=Y)

D)NOT(X$Y)

解析:逻辑运算符有三个:.NOT或!(逻辑非)、.AND.(逻辑与)以及.OR.(逻辑或),

其优先级顺序依次为NOT、AND、OR。选项A、B、C的结果都为真,选项D结果为假。

答案:D

考点4数值函数★★★

一、绝对值和符号函数

ABS<数值表达式》)返回指定的数值表达式的绝对值。

SIGN<数值表达式〉)返回指定数值表达式的符号。

二、求平方根函数

SQRT()返回指定表达式的平方根,自变量表达式的值不能为负。

三、圆周率函数

Pl()返回圆周率(数值型)。该函数没有自变量。

四、求整数函数

INT()返回指定数值表达式的整数部分。

CSLING()返回大于或等于指定数值表达式的最小整数。

FLOOR。返回小于或等于指定数值表达式的最大整数。

五、四舍五入函数

ROUND。返回指定表达式在指定位置四舍五入后的结果。

六、余数函数

MOD()返回两个数值相除后的余数。.

七、求最大值和最小值函数

MAX。计算各自变量表达式的值,并返回其中的最大值。

MIN()计算各自变量表达式的值,并返回其中的最小值。

自变量表达式的类型可以是数值型、字符型、货币型、双精度型、浮点型、日期型和日期时

间型,但所有表达式的类型必须相同。

考点5字符函数****

一、求字符串长度函数

LEN<字符表达式〉返回指定字符表达式值的长度,即所包含的字符个数,函数值为数值型。

二、大小写转换函数

LOWER()将指定表达式值中的大写字母转换成小写字母,其他字符不变。

UPPER()将指定表达式值中的小写字母转换成大写字母,其他字符不变。

三、空格字符串生成函数

SPACE<字符表达式〉返回由指定数目的空格组成的字符串。

四、删除前后空格函数

TRIMM()返回指定字符表达式值去掉尾部空格后形成的字符串。

LTRTM()返回指定字符表达式值去掉前导空格后形成的字符串。

ALLTRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串。

五、取子串函数

LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值。

RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值。

SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值。

六、计算子串出现次数函数

OCUUR(〈字符表达式1>,〈字符表达式2>)返回一个字符串在第二个字符串中出现的次数,

函数值为数值型。若第一个字符串不是第一•个字符串的子串,则函数值为0。

七、求子串位置函数

AT(<字符表达式1>,〈字符表达式2>[,<数值表达式>】)如果〈字符表达式1>是〈字符表达

式2>的字串,则返回〈字符表达式1>值的首字符在〈字符表达式2>中的位置,若不是子串,

则返回0»

八、子串替换函数

STUFF(<字符表达式1>,〈起始位置〉,〈长度〉,〈字符表达式2>)用后面字符表达式替换前

面字符表达式中起始位置和长度指明的一个子串。

九、字符替换函数

CHRTRAN(〈字符表达式1>,〈字符表达式2>,〈字符表达式3)当第一个字符串中的,•个或

多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符串中的对应字符替换这些

字符。如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对应

字符,那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多

于第二个字符串包含的字符个数,多余字符被忽略。

十、字符串匹配函数

LIKE(<字符表达式1>,〈字符表达式2>)比较两个字符串对应位置上的字符,若所有对应字

符都相匹配,函数返回逻辑真,否则返回逻辑假《字符表达式1>中可以包含通配符“*”和

“*”可与任何数目的字符相匹配,"?”可以叮任何单个字符相匹配。

一、选择题

【例1】有如下赋值语句:a=“计算机”,b=“微型”,结果为“微型机”的表达式是。(0

8.04)

A)b+LEFT(a,3)B)b+RIGHT(a,1)C)b+LEFT(a,5,2)D)b+RIGHT(a,2)

解析:取左、右子串函数的格式为LEFTIRlGHT(expCexpN),其功能为:LEFT从expC左

边截取由expN的值指定的字符,生成一个新的字符串;RIGHT从expCZi边截取由expN

的值指定的字符,生成个新的字符串。注意一个汉字相当于两个英文字符。

答案:D

【例2】下列程序段执行后,内存变量si的值是。(08.04)

S1="network"

S2=stuff(s1,4,4,"BIOS')

A)networkB)netBlOSC)netD)BlOS

解析:字符串替换函数STUFF的格式为STUFF(<字符表达式1>,〈起始位置〉,〈字符个数〉,

〈字符表达式2>),功能:从指定位置开始,用〈字符表达式2>替换〈字符表达式1>。注意:

〈字符表达式2>中的字符个教与〈字符表达式1>中的字符个数可以不等。如果〈字符个数〉为

0,则插入〈字符表达式2>。如果〈字符表达式2>为空字符串,则删除〈字符表达式1>中指

定字符。

答案:B

【例3】设a="计算机等级考试“,结果为“考试”的表达式是。(08.09)

A)Left(a,4)B)Right(a,4)C)Left(a,2)D)Right(a,2)

解析:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值。RIGHT。从指定

表达式值的右端取一个指定长度的子串作为函数值。

答案:B

【例4]命令“?LEN(SPACE(3)—SPAACE(2))”的结果是。(07.09)

A)IB)2C)3D)5

解析:SPACE。返回由指定数目的空格组成的字符串,LEN()函数测试字符串的长度。

答案:D

二、填空题

【例】LEFT("12345.6789",LEN(“子串”))的计算结果是。

解析:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值。

答案:1234

考点6日期和时间函数**

一、系统日期和时间函数

DATE()返回当前系统日期,函数值为日期型。

TIME()返回当前系统时间,函数值为字符型。

DATETIMEO返回当前系统日期时间,函数值为日期时间型。

二、求年份、月份和天数

YEAR()从指定的日期表达式或日期时间表达式中返回年份。

MONTH()从指定的日期表达式或日期时间表达式中返回月份。

DAY()从指定的日期表达式或H期时间表达式中返回月里面的天数。

三、时、分和秒函数

HOUR()从指定的日期时间表达式中返回小时部分。

MINUTE()从指定的1=1期时间表达式中返回分钟部分。

SEC()从指定的日期时间表达式中返回秒数部分。

考题透解

【例】表达式{“2005—10-310:0:0}一{八2005.10—39:0:0}的数据类型是。(06.04)

解析:两个日期时间数值相减的结果是它们之间相差的秒数,所以结果是数值型。

答案:数值型(N)

考点7数据类型转换函数和测试函数★★★

考题透解

一、数据类型转换函数

(1)STR()将数值表达式的值转换成字符串,转换时根据需要自动进行四舍五入。

(2)VAL()将由数字符号组成的字符型数据转换成相应的数值型数据。

(3)将字符串转换成日期或日期时间:

ICTODO将字符表达式转换成日期型数据。

ICTOTO将字符表达式转换成日期时间型数据。

(4)日期或日期时间转换字符串:

IDTOC()将日期型数据或日期时间数据的日期部分转换成字符串。

ITTOC()将日期时间数据转换成字符串。

(5)宏替换函数“&”替换出字符型变量的内容,即“&”的值是变量中的字符串。宏替换可以嵌

套使用。

二、测试函数

1.值域测试函数

BETWEEN(v表达式1>,〈表达式2>,v表达式3>)判断一个表达式的值是否介于另外两个表

达式值之间。

2.空值(NULL)测试函数

NULL(〈表达式〉)判断•个表达式的运算结果是否为NULL值,若是NULL值返回逻辑真,

否则返回逻辑假。

3.“空”值测试函数

EMFTY(v表达式〉)根据指定表达式的运算结果是否为“空”值,返回逻辑真或逻辑假。这里的

"空''值与NULL值是两个不同的概念。函数EMPTY(NULL)的返回值为逻辑假。该函数量

表达式的类型除了可以是数值型之外,还可以是字符型、逻辑型、日期型等。

4.数据类型测试函数

VARTYPE(〈表达式〉)测试〈表达式〉的类型,返回一个大写字母,函数值为字符型。、

5.表文件尾测试函数、

EOF()测试指定表文件中的记录指针是否指向文件尾,若是则返回逻辑真,否则返回逻辑假。

表文件尾是指最后一条记录的后面位置。

6.表文件首测试函数

BOF()测试当前表文件或指定表文件中的记录指针是否指向文件首,若是则返回逻辑真,否

则返回逻辑假。表文件首是指第一条记录的前面位置。

7.记录号测试函数RECNO

如果指定的工作区上没有打开表文件,则函数值为0;如果记录指针指向文件尾,则函数值

为表文件中的记录数加1;如果记录指针指向文件首,则函数值为表文件中第一条记录的记

录号。

8.记录个数测试函数RECCOUNT

如果指定工作区上没有打开表文件,则函数值为0。RECCOUNT。返回的是表文件中物理上

存在的记录个数,不管记录是否被逻辑删除以及SETDELETED的状态如何,也不管记录是

否被过滤,该函数都会把它们考虑在内。

9.条件测试函数

IIF(〈逻辑表达式〉,〈表达式1〉,〈表达式2>)测试〈逻辑表达式〉的值,若为逻辑真,则

函数返回〈表达式1>的值,否则返回〈表达式2>的值。

10.记录删除测试函数

ELETED()测试指定的表,或在指定工作区中所打开的表,记录指针所指的当前记录是否有

删除标记。若有为真,否则为假。若默认自变量,则测试当前工作区中所打开的表。

考题透解

一、选择题.

[例1]说明数组后,数组元素的初值是。

A)整数B)不定值

C)逻辑真D)逻辑假

解析:数组在使用之前般要用DIMENSION或DECLARE命令显式创建,规定数组是一

维数组还是二维数组,数组大小由下标值的上、下限决定,下限规定为lo数组创建之后,

系统自动给每个数组元素赋以逻辑假。

答案:D

【例2】命令"?VARTYPE(TIME())”的结果是。(07.09)

A)CB)DC)TD)出错

解析:TIME。以24小时制、hh:mm:ss格式返回当前系统时间,函数值为字符型。VAR

TYPE。函数用来测试表达式的类型,函数值为字符型,所以最后结果为C。

答案:A

【例3】在VisualFoxPro中,对于字段值为空值(NULL)叙述正确的是。

A)空值等同于空字符串B)空值表示字段还没有确定值

C)不支持字段值为空值D)空值等同于数值0

解析:在VisualFoxPro中,空值表示字段还没有确定值,不等同于0和空字符串,visualF

oxPro字段值支持空值。

答案:B

【例41设x=6<5,命令"?VARTYPE(X)”的输出是。

A)NB)CC)LD)出错

解析:先判断"X=6<5"的值,结果为逻辑假,V研PE0测试函数类型,所以最后结果为逻辑

型。

答案:C

【例5】在下面的VisualFoxPro表达式中,运算结果不为逻辑真的是。

A)EMPTY(SPACE(O))B)LIKE(“xy*”,xyz”)

C)AT(“Xy”,“abcxyz”)D)ISNULL(.NULL.)

解析:AT()函数是测试子串位置函数,函数值为数值型,不是逻辑型。

答案:C

二、填空题

[例1]在VisualFoxPro中,使用LOCATEALL命令按条件对表中的记录进行查找,若查

不到记录,函数EOF()的返回值应是。(08.04)

解析:LOCATE是按条件定位记录位置的命令,该命令执行后将记录指针定位在满足条件

的第一条记录上,如果没有满足条件的记录则指针指向文件结束位置,因此,函数EOF。

的返回值为“1”。

答案:.T.

【例3】"?AT("EN”,RIGHT("STUDENT",4))”的执行结果是。(07.04)

解析:RIGHT("STUDENT",4)表示截取字符串右边的4个字符,结果为“DENT”,AT()函数

判断第一个字符串表达式在第二个字符串表达式的位置,即“EN”在“DENT”中占第几位。

答案:2

过关练习

-、选择题

1.依次执行以下命令后的输出结果是。

Setdatetoymd

Setcenturyon

Setcenturyto19rollover10

Setmarkto

?ctod(“49-05-01”)

A)49.05,01B)1949.05.01

0)2049.05.01D)出错

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

A)EMFTY(.NULL.)B)LIKE('xy?,Xyz,)

C)AT('xy','abcxyz')D)ISNULL(SPACE(0))

3.在VisualFoxPro中说明数组的命令是。

A)DIMENSION和ARRAYB)DECLARE和AEEAY

C)DIMENSION和DECLARED)只有DIMENSION

4.表达式LEN(SPACE(0))的运算结果是。

A).NULL.B)1C)0D)""

二、填空题

1.执行命令A=2005/4/2之后,内存变量A的数据类型是型。

2.数组在使用之前一般要用DIMENSION或DECLARE命令显式创建,数组创建后,系统

自动给每个元素赋以。

3.表示“1962年10月27日”的日期常量应该写为。

4.命令LEN(THISISMYBOOK!,)的结果为。

过关练习答案

-、选择题

1.B2.B3.C4.C

二、填空题

1.数值2.逻辑假

3.{八1962-10-27}({7962/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论