第2章 Visual FoxPro数据及数据运算
- 格式:doc
- 大小:108.50 KB
- 文档页数:11
2.1 Visual FoxPro 概述2.1.1 关系数据库系统发展32位系统2.1.2 VFP6.0的功能与性能指标每个表文件最多可容纳10亿条记录。
每条记录最多可用255个字段。
每条记录最多能包含65500个字节。
每个表文件最多能容纳655000亿个字节。
每个字段的最多字符数2542.1. 3 VFP6.0的运行环境、安装、启动、退出2.1.4 中文VFP开发环境简介临时配置修改主要通过一些SET命令,退出VFP时从内存释放,永久修改通过修改配置文件(.fpw)和Foxuser.dbf完成。
VFP三种工作方式:菜单工作方式、命令工作方式、程序工作方式VFP命令格式:范围限制ALL 所有NEXTn 包括当前记录在内的一下n条记录RECORD n 只对记录号为n的记录操作REST 从当前文件开始到文件尾的所有记录操作2.1.5 项目管理器项目文件,扩展名.pjx,保存系统包含各类文件的相关信息项目说明文件,扩展名.pjt,保存项目文件的备注数据选项卡:全部数据(数据库、自由表、查询、视图、连接、存储过程文件)文档:表单、报表、标签类:类库文件代码:程序、API库、应用程序其他:菜单文件、文本文件、其他文件2.1.6 VFP设计器和向导生成器向导:工具、向导2.2 VFP6.0的数据类型1.字符型数据C包括任何可显示的字符、汉字和符号,字符串长度<=254空字符串的长度为02.数值型数据N 数字符号0~9、小数点、正负号、E 不能超过20字节取值范围-0.9999999999E+19~0.9999999999E+203.整型N 仅用于字段定义4字节二进制表示4.浮点型N 参考数值型5.双精度型N 只用于字段的定义8字节6.货币型Y 小数位数超过四位自动四舍五入,8字节7.日期型D 8字节8.日期时间型T 系统默认以1899年12月30日作为默认日期,午夜12点作为默认时间8字节9.逻辑型L10.备注型M 备注字段固定为4字节,表示一个指向存储备注文件.fpt的指针11.通用型G OLE对象4字节12.对象型O 用于存储OLE对象,仅适用于内存变量2.3 VFP6.0的常量与变量2.3.1常量1.字符型常量由双引号、单引号或方括号括起的字符,成为定界符2.数值型常量0~9数字、小数点、正负号、E组成3.逻辑型常量.T. .F. 字母大小写通用4.货币型常量以$作为前缀的数值$12.365.日期型常量花括号括起,分隔符/ - . 空格严格的日期格式SET STRICTDA TE TO 1 {^YYYY-MM-DD}传统的日期格式SET STRICTDATE TO 0 不用脱字符开头,年月日次序不定,年份位数不定{}{}{/}值为空6.日期时间型常量日期和时间之间分隔符可以是逗号或空格{/:}值为空7.编译时常量#DEFINE 取消#UNDIFINE#DEFINE PAI 3.1415926`````````````#UNDEFINE PAI2.3.2字段变量(段名变量)字段变量的名称与类型是在建立表时进行定义的字段变量名可以使用字母、数字、下划线和汉字,但第一个字符必须是字母或汉字,长度<=128字符(自由表<=10字符),字母不区分大小写,使用时数据表处于打开状态。
3.1 常量与变量考点1 常量常量用以表示一个详细的、不变的值。
不同类型常量的书写格式不同。
在Visual FoxPro 中,常量主要包括以下几种类型。
1数值型常量数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点和正负号组成。
2货币型常量货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。
3字符型常量字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。
这里的单引号、双引号或方括号称为定界符许多常量都有定界符。
定界符虽然不作为常量本身的内容,但它规定了常量的类型及常量的起始和终止界限。
4日期型常量日期型常量的定界符是一对花括号。
花括号内包括年、月、日3部分内容,各部分内容之间用分隔符分隔。
5日期时间型常量日期时间型常量包括日期和时间两部分内容:{<日期>,<时间>}。
<日期>部分与日期型常量相似,也有传统的和严格的两种格式。
6逻辑型常量逻辑型数据只有逻辑真和逻辑假两个值。
前后两个句点作为逻辑型常量的定界符是必不可少的,否那么会被误认为变量名。
逻辑型数据只占用1字节。
考点2 变量Visual FoxPro中变量分为字段变量和内存变量二其中字段变量就是表中的字段。
内存变量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。
内存变量的数据类型包括:字符型(C)、数值型(N)、货币型(Y)、日期型(D)、日期时间型(T)和逻辑型(L)。
1简单的内存变量每一个变量都有一个名字,可以通过变量名访问变量。
假设当前表中存在一个同名的字段变量,那么在访问内存变量时,必须在变量名前加上前缀M.(或M->),否那么系统将访问同名的字段变量。
2数组与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令显示创立,规定数组是一维数组还是二维数组,数组名和数组大小。
V i s u a l F o x P r o数据运算练习题及答案(总11页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第二章Visual FoxPro数据运算一、选择题1、依次执行Visual FoxPro=″ABC″和ABC= Visual FoxPro命令后,再执行Visual FoxPro+ABC命令的结果是。
A)ABCABCB)Visual FoxProABCC)FoxPro VisualFoxPro D)ABC Visual FoxPro2、(2001-9-20)-(2001-9-10)+4^2的结果是。
A)26 B)6C)18 D) -23、下列不能作为VFP中变量名。
A)ABCDEFG B)P000000 C)89TWDDFFD)xyz4、下列不能作为VFP的表达式。
A)赋值表达式B)日期表达式C)算术表达式D)关系表达式5、表达式2*3^2+2*8/4+3^2的值为。
A)64 B)31C)49 D)226、函数INT的值是。
A) B) C)-3 D)37、函数VAL(″16Year″)的值是。
A) B) C)D)168、函数INT(RAND( )*10 )是在范围内的整数。
A)(0,1) B)(1,10) C)(0,10) D)(1,9)9、如果x是一个正实数,对x的第3位小数四舍五入的表达式为。
A)*INT(x+ B)*INT(100*(x+)C)*INT(100*(x+) D)*INT(x+10、数字式子sin250写成VFP表达式是。
A)SIN25 B)SIN(25) C)SIN(250) D)SIN(25*PI()/180)11、“x是小于100的非负数”用VFP表达式表示是。
A)0≤x<100 B)0<=x<100 C)0<=X andx<100 D)0=x OR x<10012、下列符号中是VFP中的合法变量名。
v i s u a l f o x p r o知识点(总25页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章数据库系统概述数据库系统(DBS):指引入数据库技术的计算机系统特点:数据结构化,数据共享性高,程序和数据具有较高的独立性,为用户提供良好的接口,统一管理和控制数据,系统灵活,易于扩充.数据库(DB):是存储在计算机设备上.结构化的相关数据的集合,不仅描述事物数据的本身,也包括相关事物之间的联系.数据库管理系统(DBMS):是数据库系统中对数据进行管理的软件系统,是数据库的核心.功能:数据定义功能,数据操纵功能,数据库管理和控制功能.数据库管理员(DBA)的主要工作:数据库设计,数据库维护,改善系统性能,提高系统效率数据库设计的根本目的:解决数据资源共享问题数据库系统的体系结构概念模式:简称模式,是数据库中全体数据的逻辑结构和特征的描述,是面向全部用户的公共数据视图外模式:又称子模式或用户模式是用户与数据库的接口.内模式:又称物理模式或存储模式,描述数据在存储介质上的安排和存储方式。
一个数据库只有一个内模式.数据模型:客观事物及联系—概念模型—数据模型.E-R模型:实体(矩形)属性(椭圆)联系(菱形)在数据库设计阶段,将E-R图转化为关系数据模型的过程属于逻辑设计阶段。
两个实体间的联系:一对一的联系如班级与班长一对多的联系如班级与学生多对多的联系如学生与课程数据模型有:层次模型,网状模型,关系模型:是用二维表结构描述,一张二维表就是一个关系关系数据库关系:一个关系就是一张二维表.元组(记录):表中的一行.属性(字段):表中的一列.域:属性的取值范围.关键字:一张表中的一列或若干列能够把不同的记录区分开来.超关键字:二维表中能唯一确定记录的一列或几列,但它包含的字段可能是多余的.候选关键字:如果超关键字去掉任何一个字段后都不能唯一确定,是候选关键字.主关键字:外部关键字P10关系的特点:(1)关系必须规范化.即表中不能再包含表.(2)同一关系中不允许出现相同的属性名.(3)关系中任意两个元组不能完全相同.(4)关系中元组的次序可以任意交换.(5)关系中属性的次序可以任意交换。
第2章Visual FoxPro 数据及数据运算2.1 数据类型数据类型是数据的基本属性,不同的数据类型有不同的存储方式和运算规则。
下表列出了VFP中的主要数据类型。
VFP的主要数据类型2.2 常量和变量2.2.1 常量常量指在命令操作或程序运行过程中其值始终保持不变的量。
VFP中经常用到的常量类型是字符型、数值型、货币型、日期型、日期时间型、逻辑型和浮动型。
1. 字符型常量字符型常量也叫字符串,它由数字、字母、空格等可打印的字符和汉字组成。
使用时必须用定界符括起来,定界符有:单引号(‘’)、双引号(“”)或方括号([ ])。
2. 数值型常量数值型常量即数学中的常数,包括整数和小数。
3. 货币型常量货币型常量用来表示货币值,其表示方法是在字符前面加一个前置符“$”。
货币数据在存取和计算时采用4位小数,多于4位的,系统将自动将多余的小数四舍五入。
4. 日期型常量日期型常量用来表示一个确定的日期。
其表示方式是用花括号({ })将日期括起来,默认格式为{ mm/dd/yy}例如“{10/15/03}”,表示2003年10月15日。
“/”是系统默认的年、月、日之间分隔符,还可用连字符(-)或句点(.)作为分隔符。
可以通过设置来选用其他的日期格式,比如{ mm/dd/yyyy}和严格的日期格式{ ^yyyy /mm/dd}等。
例如“{10/15/2003}”和“{^2003/10/15}”均表示2003年10月15日。
日期型常量用8个字节存储,其取值范围是{^0001/01/01}~{^9999/12/31}。
5. 日期时间型常量日期时间型常量包括日期和时间两部分内容,使用一对花括号来作为定界符。
其格式为:{<日期> <时间>}。
<日期>部分常量的格式与日期型常量相似,<时间>部分的格式为[hh[:mm[ss]]][a|p]。
其中,hh表示小时(默认为12),mm表示分钟(默认为0),ss表示秒(默认为0),a代表上午,p代表下午,如果不加a或p,默认为a。
6. 逻辑型常量逻辑型常量的取值只有两个:逻辑真(.T.、.t.、.Y.、.y.)和逻辑假(.F.、.f.、.N.、.n.)。
前后两个句点是定界符,它们不能省略。
7. 浮动型常量浮动型常量,也称为浮点型常量。
是数值型常量的浮点格式,例如:23E+8、-4.51E-2等。
2.2.2 变量变量指在命令操作和程序执行过程中其值可以改变的量。
VFP中的变量分为字段变量和内存变量两大类。
1. 字段变量数据表中的每个字段都是一个字段变量,字段名就是字段变量名。
它依附于表,随着表的打开和关闭而在内存中存储和释放。
字段变量的类型有字符型、数值型、货币型、浮点型、双精度型、整型、日期型、日期时间型、逻辑型、备注型、通用型等。
字段变量是一种多值变量,其值随记录指针的变化而不同。
一个数据表文件有多少条记录,字段变量就有多少个值。
2. 内存变量内存变量是一种独立于数据表而存在的变量,它是内存中一个临时的工作单元。
常用来保存所需要的常数、中间结果或对数据表和数据库进行某种处理后的结果等。
内存变量的类型取决于变量值的类型,主要有:字符型、数值型、货币型、日期型、日期时间型、逻辑型和屏幕型。
其中,屏幕型内存变量不能进行运算,只能用于保存屏幕画面。
当内存变量中存放的数据类型改变时,内存变量的类型也随之改变。
当内存变量名和字段变量名相同时,系统优先引用字段变量。
若要引用内存变量,需在内存变量名前加前缀M.或M->。
2.3 运算符和表达式运算符是表示数据之间运算方式的符号,不同类型的数据要用不同的运算符。
表达式是由常量、变量、函数通过运算符连接起来的式子,单个的常量、变量、函数通常也被称为表达式。
表达式通常计算均能得到一个结果,称为表达式的值,按表达式值的类型划分,表达式可分为算术表达式、字符表达式、日期时间表达式、关系表达式和逻辑表达式。
2.3.1 算术运算符和算术表达式算术运算符用于对运算对象进行算术运算,算术表达式由数值型常量、变量、函数和算术运算符组成,其运算结果仍是数值型数据。
算术运算符有如下几种,按优先级由高到低依次是:•( ):括号。
优先级最高。
•-:负号。
优先级次于括号。
•**或^:乘方。
优先级次于负号。
•*、/、%:分别是乘号、除号和取余号,优先级次于乘方。
当表达式中出现同时出现乘、除、取余运算时,它们的优先级相同。
同时出现时,按从左到右顺序运算。
•+、-:加号和减号。
优先级最低。
同时出现时,按从左到右顺序运算。
2.3.2 字符运算符和字符表达式字符运算符用于对两个字符型数据进行连接运算。
字符表达式由字符型常量、变量、函数和字符运算符组成,其运算结果仍为字符型数据,字符运算符主要有两个,其中:+:原样连接两个字符型数据。
-:在进行字符串的连接时,首先将前一个字符串尾部的空格移动到连接后的字符串的尾部。
2.3.3 日期运算符和日期时间型表达式日期运算符用于对日期型、日期时间型或数值型数据进行运算。
日期时间型表达式由日期型或日期时间型常量和日期运算符组成。
有两个符号:用于一个日期和一个整数相加的符号“+”以及用于一个日期减去另一个日期或整数的符号“-”。
其运算结果是日期型、日期时间型或数值型数据。
日期时间表达式的格式有一定限制,不能任意组合,比如,不可以用“+”运算符将两个日期连接起来。
下表列出了正确的日期时间表达式的格式。
正确的日期时间表达式格式2.3.4 关系运算符和关系表达式关系运算符用于完成比较运算,关系表达式由关系运算符、数值表达式、字符表达式、日期时间表达式或货币表达式组成,但运算符两边的数据类型必须一致。
其运算结果为逻辑值.T.或.F.。
2.3.5 逻辑运算符和逻辑表达式逻辑运算符用于对逻辑型数据进行逻辑运算,逻辑表达式由逻辑常量、变量、函数及关系型表达式和逻辑运算符构成,其运算结果为逻辑值.T.或.F.。
逻辑运算符有三个,:.NOT.或NOT或!:逻辑非。
.AND.或AND:逻辑与。
.OR.或OR:逻辑或。
优先等级从高到低依次为:NOT、AND、OR。
不同类型的运算符可以同时出现在同一个表达式中,此时它们的优先级从高到低依次是:算术运算符、字符运算符、日期时间运算符、关系运算符和逻辑运算符。
2.4 常用函数及应用函数是数据运算的一种特殊形式,用来实现某些特定的运算。
在VFP中,函数的表示形式一般是在函数名后跟一对圆括号,圆括号内给出函数的若干个自变量,即运算对象,不过只能有一个运算结果,称为函数值或返回值。
2.4.1 字符处理函数字符处理函数的自变量通常为字符型数据。
常用的字符处理函数如下表所示。
常用字符处理函数2.4.2 数值计算函数常用数值处理函数2.4.3 日期时间函数常用日期时间函数2.4.4 数据类型转换函数常用数据类型转换函数2.4.5 测试函数常用测试函数2.5 考点解析2.5.1考点扫描根据全国计算机等级考试大纲的要求,涉及本章内容的知识点主要有:1. 数据类型、常量、变量和数组。
2. 运算符和表达式。
3. 常用函数:字符处理函数、数值计算函数、日期时间函数、数据类型转换函数、测试函数。
2.5.2出题方向本章所涉及的知识是等级考试中的重要内容,一般在笔试中会出现大量的运算题和一些基本概念是,比如计算表达式的返回值、判断表达式是否书写正确等。
2.5.3 例题分析1.选择题例题1 以下变量名不合法的是_______。
A)常量B)_FoxProC)MM100 D)Visual FoxPro【答案】D)【解析】在VFP中,变量的命名规则是:变量名不得超过128个字符,变量名要以字母、汉字或下划线开头,变量名由字母、汉字、下划线或数字组成。
在答案D)中包含有空格,不符合变量名的定义。
例题2 以下对数组的描述中,错误的是_______。
A)刚定义的数组中每个元素都是没有值的B)使用DIMENSION和DECLARE来定义数组是没有区别的C)V FP中只有一维数组和二维数组两种D)同一数组中的各元素不但可以取不同的值,且数据类型也可以不同【答案】A)【解析】数组是按一定顺序排列的内存变量,用DIMENSION和DECLARE 命令都可以定义一个数组,数组定义后,每个元素都被默认地赋予逻辑值,取值为.F.。
在以后的使用过程中,同一数组中的各元素取值和数据类型均可以不同。
VFP中只能使用一维数组和二维数组。
例题3 下列字符型常量“Visual FoxPro”的表示方法中,错误的是_______。
A)“Visual FoxPro”B){Visual FoxPro}C)…Visual FoxPro‟D)[Visual FoxPro]【答案】B)【解析】字符型常量也叫字符串,它由数字、字母、空格等可打印的字符和汉字组成。
使用时必须用定界符括起来,定界符有:单引号(‟‟)、双引号(””)或方括号([ ])。
例题4 函数LEN(SPACE(10)+ SPACE(5))的结果为_______。
A)5 B)15 C)10 D)20【答案】B)【解析】SPACE( )函数是空格生成函数,生成的是空格字符,“+”用于字符串之间的连接,它将10个空格和5个空格连接在一起,再求其长度。
例题5 V AL(”-165B.67”)的值是_______。
A)-165.67 B)-165B.67C)-165.00 D)-16567【答案】C)【解析】V AL函数将字符型数据转换成数值型数据,其规则是:只能转换字符串中的数字,而且在转换的过程中一旦发现有不是数字的字符,立即停止转换。
在本题中,当转换到字符“B”时,停止转换。
例题6顺序键入以下命令,显示结果是_______。
STORE “10.67” TO XY=INT(&X+10)?YA)21 B)20 C)20.67 D)10.6710【答案】B)【解析】题中的运算符相当于Y=INT(10.67+10),即Y=20.67,取整后结果为20。
例题7将2003年10月19日存入日期型变量X中的正确方法是_______。
A)STORE DTOC(“10/19/2003”) TO XB)STORE “10/19/2003” TO XC)STORE 10/19/2003 TO XD)STORE CTOD(“10/19/2003”) TO X【答案】D)【解析】日期型常量必须使用函数CTOD(<字符表达式>)进行转换。
A)是个错误的语句,DTOC函数里面的参数应该为日期型数据,而“10/19/2003”是字符型数据,B)是将字符常量赋值给X,C)是将数值表达式赋值给变量X。
例题8执行下列命令后显示的结果是_______。