VFP第2章 VFP数据基础
计算机二级vfp 第二章 Visual Foxpro程序基础

•Hale Waihona Puke 内存变量的显示:– List memory [like <通配符>] [to printer|to file<文件名>] – Display memory [like <通配符>] [to printer|to file<文件名 >] » 说明: » 1、 List memory 一次性显示与通配符匹配的内存变量, 一屏显示不下自动上滚; Display memory 分屏显示。 » 2、通配符有*和?,*表示多个字符,?表示一个字符
? {^2004/7/15 4:20:10a}-100 04:18:30AM && 显示07/15/04
– 关系表达式
• 运算符
– <、>、<=、>=、=、<>、#、!=、==、$
• 运算符优先级:相同优先级
关系运算符的比较规则:
1、数值型数据按数值大小进行比较;日期型数据按年月日的先后进行比较;字 符型数据按相应位置上两个字符的ASCII码值的大小进行比较;汉字按内码进 行比较。 2、在Set exact off状态下,只要“=”右面字符串与左边的字符串的左端部分一 样,系统就认为相同。注意:左边和右边的左端部分一样时不相同。 y="abce"="ab" ?y y="ab"="abc“ ?y 3、运算符$只能比较两个字符串,若左面的字符串是右面的子串 则结果为.T.,否则为.F.。
4、数值型、货币型数据比较 按数值大小比较,包括正负号 5、日期、日期时间型数据比较 越早的日期或时间越小,越晚的日期或时间越大 6、逻辑型数据比较 .T.大于.F. 7、设置字符的排序次序 字符串比较的时候系统对两个字符串的字符自左向右逐个进行比较,一旦发 现两个对应位置上的字符不相同,就根据这两个字符的大小决定字符串 的大小。VFP中默认按PinYin。可以重新设置。 Set collate to “<排序次序名>” 排序次序名必须放在“”中,次序名称可以是“machine”、 “PinYin”、”Stroke” Machine(机内次序):西文字符按ASCII码排列:空格在最前面,大 写ABCD字母在小写abcd字母的前面。对汉字而言,机内码与 国标码一样,次序由拼音顺序不决定。 PinYin : 对 西 文 字 母 而 言 , 空 格 在 最 前 面 , 小 写 abcd 在 大 写 ABCD的前面。 Stroke:按照书写笔画的多少排序
第一章到第三章答案

第一章数据库基础第二章VFP基础知识知识点:VFP发展、安装、启动,环境界面,工作方式,设计器1.项目管理器的数据选项卡用于显示和管理数据库、查询、视图和()。
答案解析:自由表2.向一个项目中添加一个数据库,应该使用项目管理器的:()A.“代码”选项卡B.“类”选项卡C.“文档”选项卡D.“数据”选项卡答案解析:D)3.在Visual Foxpro 中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为()A.向导B.设计器C.生成器D.项目管理器答案解析:B)4.在"项目管理器"下为项目建立一个新报表,应该使用的选项卡是()。
A)数据B)文档C)类D)代码答案解析:B)5.扩展名为pjx 的文件是________。
A)数据库表文件B)表单文件C)数据库文件D)项目文件答案解析:D)6.在Visual FoxPro中以下叙述正确的是________。
A)关系也被称作表单B)数据库文件不存储用户数据C)表文件的扩展名是.DBC D)多个表存储在一个物理文件中答案解析:B)7.可以在项目管理器的()选项卡下建立命令文件(程序)。
答案解析:代码8.“项目管理器”的运行按钮用于执行选定文件,这些文件是( )。
A)查询、视图或表单B)表单、报表和标签C)查询、表单或程序D)以上文件都可以、答案解析:C)第三章VFP数据基础常量、变量、运算符、表达式、常用函数1.在Visual Foxpro 中,要想将日期型或日期时间型数据中的年份用4 位数字显示,应当使用命令()。
A)SET CENTURY ON B)SET CENTURY TO 4C)SET YEAR TO 4 D) SET YEAR TO yyyy答案解析:A)设置年份用4 位数字显示,即是设置世纪格式。
2.设A=[6*8-2],B=6*8-2 ,C=”6*8-2”,属于合法表达式的是A)A+B B)B+C C)A-C D)C-B答案解析:C)A,C 均为字符型变量,B 为数字型变量,合法表达式基本上均为同类型变量或者常量的运算,本题中同类型的是C。
第二章VFP的数据表达式一、数据类型1.字符型字符型(Character,C

第二章 VFP的数据表达式一、数据类型1.字符型字符型(Character,C型)通常用于储存文本信息,由字母、汉字、空格、数字、符号和标点等字符组成,宽度不能超过254字节。
若超过254字节,则请改用备注型。
例如:“abc”,“计算机”,“123”,“ID18”等。
2.货币型货币型(Currency,Y型)这种类型是专为货币数据设计的数据类型,表示方法是在数字前加一个$符号。
最多只能保留到小数点后4位,超过四位则会自动四舍五入:少于四位则会自动补零。
占8个字节的空间。
例如:money=$980.45678。
3.数值型数值型(Numeric,N型)用于表示数量,由数字0~9、+或-,以及小数点组成。
数值型数据占8个字节,长度为1~20个字节。
VFP中文版采用十进制和十六进制两种格式。
例如:98.66,0xff(前面加0x表示十六进制)。
数值型数据可采用科学计数法,如“3E2”代表“3×102”,“10e-2”代表“10×10-2”。
4.整型整型(Integer,I型)用于存储不含小数部分的数值。
是一种较小的数据类型,整数型占有内存空间4个字节。
5.浮点型浮点型(Float,F型)等价于数值型类型。
VFP出于兼容性的考虑设置了这个数据类型。
6.日期型日期型(Date,D型)用于存储日期数据。
由年、月、日三部分组成,存储格式为“YYYYMMDD”。
表示范围为{^0001/01/01}到{^9999/12/31},即公元0001年1月1日到公元9999年12月31日。
其中“^”符号表示此日期格式严格遵循YMD(year,month,day)的格式,使用日期型数据时应用大括号{}括起来。
日期型数据存储长度为8个字节。
例如:mydate={^2006/10/12}表示日期是2006年10月12日,而不是2006年12月10日。
7.时间日期型时间日期型(Date Time,T型)用于记录日期时间的数据。
VFP 第2章

2.2 表达式
●概念:由常量、变量和函数通过各种运算符而连接的式子。 (p55) 如:5*x+sin(y) 注意:特例 ●五种类型:数值、字符、日期时间、关系、逻辑
数值、 2.2.1 数值、字符与日期时间表达式
1、数值表达式(结果:N型) 数值表达式(结果:
●算术运算符及其优先级(P56表2.2) 例2.5:注意数学算式如何转为VFP表达式 ●求余运算 ①结果的正负号与除数相同;②如果被除数与除数同号, 则运算结果为两数相除的余数;③如果被除数与除数异号 ,则运算结果为两数相除的余数再加上除数的值。 14 例2.6
2.2.2 关系表达式 1、关系表达式(结果:L) 关系表达式( 关系表达式 结果:
●概念:<表达式1><关系运算符><表达式2>
●关系运算符(P58表2.4):优先级:相同 运算符==和$只适合字符型数据(P58的一段话) ●数据的比较: ①数值型、货币型比较 按数值大小比较。如:?0>-1结果.t.,?$105>$150结 果.f., ?15>$150结果.f. ②日期、日期时间型比较 如:?{^2002-01-10}>{^2001-12-28}结果.t.;越早的越小,反 之越大 ③逻辑型数据比较:?.t.>.f.结果.t. ④子串包含运算: <字符表达式1>$<字符表达式2> 若“字符串1”是“字符串2”的子串,则结果为逻辑真(.t.) 17 否则为逻辑加(.f.)
2、字符表达式(结果:C型) 字符表达式(结果:
●字符运算符只有2个: +:完全连接 前后两个字符串首尾相连接形成一个新字符串 –:移空连接 连接前后两个字符串,并将前字符串尾部空格移到连接 后的新字符串尾部。 ●例:“工程 ”+”项目” “工程 ”-”项目” ●例2.7(P57) ●优先级:相同
VFP第二章数据及数据类型

3).逻辑型常量
逻辑型常量就是表示逻辑判断结果“真”或“假” 的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.) 和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母 左右加注圆点符“.”以示区别。
4).日期型常量 日期型常量是表示日期值的数据,其默认格式是 {mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示 2002年10月1日这一日期常量值。 系统默认的“严格日期格式”以{^yyyy-mm-dd}的形式 来表示。 ∧指该日期是严格的,表达一个确切的日期,它不受日期 设置命令SET DATE TO 和SET CENTURY ON/OFF的影响。 其中“-”可用“/”来代替。 必须注意,执行命令时, VFP默认使用严格的日期或日期 时间格式,如果要使用通常的日期或日期时间格式,必 须先执行SET STRICTDATE TO 0命令,否则会引起出 错。如果要设置严格的日期或日期时间格式,可执行命 令SET STRICTDATE TO 1。
| |
最低
对于各种逻辑运算,其运算规则可由逻辑运算真值表确 定,表所示就是逻辑运算真值表。 表 逻辑运算真值表
A .T. .T. .F. .F.
B .T. .F. .T. .F.
A .AND.B
A .OR. B
.NOT A
.T. .F. .F. .F.
.T. .T. .T. .F.
.F. .F. .T. .T.
(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉 字的拼音顺序比较“大小”,因此,汉字比较实质上是以 字母的顺序进行比较;但 Visual FoxPro 系统可以设置汉 字按笔画排列顺序,因而,汉字的“大小”就决定其笔画 数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击 【工具】 | 【选项】命令,将打开“选项”对话框中,在 “数据”选项卡的“排序序列”下拉列表框中选择 “Stroke”项并确定,系统将按汉字的笔画数进行汉字的 排序、比较运算。 "MACHINE"按ASCII码比较大小 ?"实际"<"实习"
第二部分VisualFoxPro的数据与数据运算

字符函数
❖ 空格生成函数
▪ 格式:SPACE(<数值型体现式>) ▪ 功能:返回由指定数目旳空格构成旳字符串。
❖ 求子串函数
▪ 格式:LEFT(<字符型体现式>,<数值型体现式>) RIGHT(<字符型体现式>,<数值型体现式>) SUBSTR(<字符型体现式>,<数值型体现式1>[,<数值型体现式
❖内存变量旳显示输出
▪ 格式1:DISPLAY|LIST MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>]内存变量=体现式
▪ 格式2:?[<体现式表>] ??[<体现式表>]
❖内存变量旳清除
▪ 格式1:CLEAR MEMORY ▪ 格式2:RELEASE<内存变量名表>
▪ 功能:用<字符体现式2>旳值替代<字符体现式1>中由< 起始位置>和<长度>指明旳一种子串。替代和被替代旳字 符个数不要求相等。假如<长度>值为0,<字符体现式2> 则插在由<起始位置>指定旳字符前面。假如<字符体现式 2>值是空串,那么<字符体现式1>中由<起始位置>和<长 度>指明旳子串被删去。
常用函数
常用函数
数值处理函数 字符函数 日期时间函数
数据类型转换函数 测试函数
数值处理函数
❖取整函数
▪ 格式:INT(<数值型体现式>) ▪ 功能:返回数值型体现式旳整数部分
❖四舍五入函数
▪ 格式:ROUND(<数值型体现式1>,<数值型体现式2>) ▪ 功能:对<数值型体现式1>旳值进行四舍五入运算。
vf第2章

FoxPro编程基础 第2章 Visual FoxPro编程基础
表2-1 算 术 运 算 符
运算符 + * / ^ 或 ** % 名称 加 减 乘 除 乘方 求余 说明及示例 同数学中的加法,如 3+5 同数学中的减法,如 8-2 同数学中的乘法,如 2 * 6 同数学中的除法,如 8 / 4 同数学中的乘方,如 6 ^ 2 表示 6
2
26 % 3 表示 26 除以 3 所得的余数,结果为 2
FoxPro编程基础 第2章 Visual FoxPro编程基础
算术运算符的运算优先级为()→ ^或** → *和/ → % → + 和2) VFP表达式的书写规则 VFP算术表达式与数学中的表达式在写法上有所不同, 在书写表达式时应特别注意: (1) 每个符号占1格,所有符号都必须一个一个并排写在 同一横线上,不能在右上角或右下角写方次或下标。例如, 52要写成5 ^ 2,x1+x2要础 第2章 Visual FoxPro编程基础
FoxPro编程基础 第2章 Visual FoxPro编程基础
7) 双精度型 双精度型(Double) 双精度型用于取代数值型数据,以提供更高的数值精度。 双精度型只能用于数据表中字段的定义,它采用固定存储长 度的浮点数形式。与数值型不同,双精度型数据的小数点的 位置是由输入的数据值决定的。其取值范围是:+/4.94065645841247E-324~+/-8.9884656743115E307。 每个双精度型数据占8个字节。
FoxPro编程基础 第2章 Visual FoxPro编程基础
【例2-1】定义合法的变量名示例。 】 ABCD 7ab P0000 _xyz IF 姓名 是合法的变量名
VFP语言基础知识

(1)由汉字、字母、数字、下划线组成,而且 必 须以汉字、字母或下划线开头。 (2)长度最多128个字符。(一个汉字占2个字节) (3)不能使用VFP的保留字。
例1:在下列字符串中,不符合VFP规定的、非法的 变量名是( )
A、GZINPUT2 B、A_SK97 C、4AK D、姓名
2.3.5逻辑表达式
5、逻辑表达式
经验: 与运算:全真为真; 或运算:全假为假; 非运算:真为假,假为真;
例1:
?3+5>6.and.4+7<10 ?3+5>6.and.4+7>10 ?3+5<6.and.4+7<10 ?3+5<6.and.4+7>10
2.3.5逻辑表达式
例2: ?3+5>6.or.4+7< 10 ?3+5>6.or.4+7> 10 ?3+5<6.or.4+7<
2.3.1 数值表达式
1、算术表达式 运算符号:+ - * / **或^ %(求余)
例:
? 2**3 ? 12+45 ? 12%5 ? (2*3-4)/2
2.3.2 字符表达式
2、字符表达式 (1)+:联接,联接两个字符型数据 例: ?“AB”+”CD” (2)-:将前边字符串尾部空格压缩到后边 字符串的尾部 例: ?“ab ” – “cd” ?len(“ab ” – “cd”)
性别 出生日期 系别 贷款否 补贴
女 1982-7-12 管理 TRUE 30
男 1983-11-20 法律 FALSE 30
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教案授课时间3月 3 日至 3 月 14日课时数4+2 授课方式理论课□讨论课□习题课□实验课□上机课□技能课□其他□授课单元第2章VFP数据基础目的与要求1.掌握常用数据类型2.掌握变量命名、声明方法及变量种类3.掌握VFP运算符及表达式4.掌握各种常用函数重点与难点本章重点:整型、数值型、字符型数据;运算符和表达式的运用;常用函数本章难点:表达式和常用函数。
主要内容2.1 数据类型2.2 常量与变量2.3 运算符和表达式2.4 VFP常用函数教学方法手段(教具)采用多媒体投影授课,课中请部分学生到黑板上练习,加强与学生的互动,增加课堂讨论环节,启发式教学,培养学生的实际操作能力。
参考资料《Visual FoxPro程序设计基础》卢湘鸿等编清华大学出版社《数据库系统概论》史嘉权等编清华大学出版社思考题、作业实验2.1实验2.2P46选择题1、2、4、5、6、8填空题1、4、612讲稿第二章VFP数据基础[旧课复习]:复习内容:1.VFP 6.0的操作界面和主要文件类型2.在VFP 6.0的集成环境中,创建一个名为“学生管理”的项目,在该项目中建一数据库,将两自由表添加入库,并进行相关的基本操作复习目的:熟悉VFP 6.0集成环境,熟悉项目管理器复习时长:大约5分钟[新课导入]:导入方式:任何语言都有其规定的语言规范,程序设计语言也不例外。
VFP 6.0程序设计语言规定了它自己的语言规范,只有掌握了它,用户才能熟练地运用VFP 6.0系统。
导入目的:让学生了解学习VFP语言的目的导入时长:大约5分钟[新课讲授]:重点:整型、数值型、字符型数据;运算符和表达式的运用;常用函数。
难点:表达式和常用函数。
方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
2.1 数据类型数据库是用来组织和存储数据的,数据的类型有多种,如数值、字符、图片、多媒体等等。
Visual FoxPro 6.0 给用户提供了多种数据类型,不同的数据类型具有各自的取值范围和特点,计算机根据不同的数据类型,进行不同的操作。
这些数据类型应用于程序设计开发时,可以通过常量、变量、数组等表现出来。
一、数据类型Visual FoxPro6.0提供了11种数据类型应用于数据库。
(1) 字符型(Character)(2) 货币型(Currency)(3) 日期型(Date)3(4) 日期时间型(DateTime)(5) 逻辑型(Logical)(6) 数值型(Numeric)(7) 双精度型(Double)(8) 浮点型(Float)(9) 通用型(General)(10) 整型(Integer)(11) 备注型(Memo)2.2 数据类型一、常量常量是指在程序运行过程中保持不变的数据量。
常被应用于程序开发的调试阶段,具有字符型、数值型、日期型、日期时间型、逻辑型等多种类型。
1、字符型常量,用单引号、双引号或括号括起来的字符串:如:“ABCD”,…你好‟ ,[VFP6.0]2、数值型常量,如:5,28.23,-3;3、日期型常量和日期时间型常量,如:{^2001-10-30},{^2001-10-30 11:25am} ;4、逻辑型常量,只有两种:逻辑真用.T. 、.t. 或.Y.、.y.表示,逻辑假用.F. 、.f. 或.N.、.n.表示,。
二、变量变量是指在操作过程中其值允许变化的量。
变量代表计算机内存中的某一位置,其中可存放数据。
可以改变一个变量的内容,但其名称和存储区域可以一直使用,直到结束Visual FoxPro工作期或释放该变量。
变量:●内存变量●字段变量●系统变量(一)、内存变量:内存变量用来存储数据,在程序开始运行时在内存中创建,在程序结束时从内存中释放。
内存变量包括简单内存变量和数组两种。
变量名:由英文字母、汉字、数字或下划线构成,但必须以英文字母、汉字或下划线开头,其长度小于等于128字符,但不能与系统的保留字同名。
1、简单内存变量:VFP通过给简单内存变量赋值的方式来建立简单内存变量:<内存变量名>=<表达式>STORE <表达式> TO <内存变量名表>2、数组数组是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素。
数组必须先4定义后使用。
(1)数组的定义格式: DIMENSION|DECLARE[<数组名>(<下标1>[,<下标2>]),<数组名>(<下标1>[,<下标2>])......]VFP规定数组下标从1开始。
(2)数组的赋值系统将各数组元素的初值设置为.F.,用赋值命令可以为数组元素单个地赋值,也可以为整个数组的各个元素赋以相同值,允许同一数组的元素类型不同。
(二)字段变量数据库中数据以二维表的形式存在,表的行、列分别称为记录和字段。
表的每一个字段都是一个字段变量,变量的值因记录的不同而不同,字段变量在建立表结构时定义,修改表结构时可以重新定义。
注: 当同名的内存变量与字段变量同时出现时,系统默认为字段变量。
如要指定其中的内存变量,需要在变量名前加上“m.”或“m->”,例如m.ab,m->ab。
(三)系统变量系统变量是由Visual FoxPro系统提供的,都是以下划线开头,分别用于控制外部设备、屏幕输出格式、或处理有关计算器、日历、剪贴板等方面的信息。
2.3 运算符与表达式运算符:是在VFP中用来进行运算的符号。
表达式:就是常量,变量和函数用运算符连接起来的式子,根据运算对象的数据类型不同,表达式可以分为算术表达式、字符表达式、日期和时间表达式、关系表达式和逻辑表达式。
常量、变量和函数本身就可作为一个表达式。
一、算术表达式算术表达式由算术运算符与数值型常量、变量、函数构成,运算结果仍为数值型。
又称数值表达式,其运算对象和运算结果均为数值型数据。
算术运算符及其优先级:()括号→**或^ (乘方)→*、/、% (乘、除、取余)→+、-(加、减)计算下列表达式的值?-8+3*5%2^6/5*(sin(0)-8)?-8+3*5%-2^6/5*(sin(0)-8)?-8+3*5%-(2^6)/5*(sin(0)-8)为了增强程序代码的可读性,可以使用()使表达式的计算次序显得更清晰程序代码的可读性在很多时候比程序运行的速度更重要56 二、字符表达式字符表达式由字符运算符与字符型常量、变量、函数构成,运算结果为字符型或逻辑型。
VFP 字符运算有两类:连接运算和包含运算。
它们的优先级相同:1、连接运算连接运算符有完全连接运算符“+”和不完全连接运算符“-”2种。
+:前后两个字符串首尾连接形成一个新的字符串。
-:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
2、包含运算“$”是字符串的包含运算符,其运算的结果是逻辑值。
如果字符串1包含在字符串2中,则运算结果为真(.T.),否则为假(.F.)。
包含运算符区分大小写。
三、日期表达式和日期时间表达式日期和日期时间运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少天数,在日期时间数据上增加或减少秒数。
两个运算的优先级别相同。
注意:日期型不能和日期型数据相加例:已知2009年3月3日星期二,求2010年1月1日星期几??({^2010/01/01}-{^2009/03/03}+2)%7四、关系表达式由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。
关系表达式的返回值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。
关系运算符具有相同的优先级。
(见P50)当运算对象为字符型时,可用命令SET EXACT ON/OFF 来设置“=”是否为精确比较。
在非精确比较时,在关系表达式的格式中,只要后一个表达式是前一个表达式的前缀,其结果便为真。
【例2.10】关系运算示例。
SET EXACT OFF &&设置字符串为非精确比较,只要右边字符串与左边字符串的前面部分相匹配,即为逻辑真。
?1244.33>22 && .T.字符串表达式运算结果 "计算机"+"世界" 计算机世界"I □have □a □□"+"Book" I □have □a □□Book"计算机□□"-"世界" 计算机世界□□"I □have □□a □"-"Book" I □have □□aBook □7? aa>bb &&.T.或者.F.,取决于变量aa 和bb 的内容? "A" >"B “ &&.F.? “助教” >“教授” &&.T.zc="教授□□"? zc="教授", "教授"=zc, "教授"==LEFT(zc,4), zc=="教授"主窗口显示:.T. .F. .T..F.注意:在非精确比较状态下,条件zc=“教授”与条件“教授”= zc 不等价。
另:’=’与’$’功能相反例:x=50y=8x=x+y?x, x=x+y58 .F.z=y=y+1?z.F.a=x>20?a.T.五、逻辑表达式由逻辑运算符将逻辑型数据对象连接而成的式子称为逻辑表达式。
逻辑表达式的运算对象与运算结果均为逻辑型数据。
逻辑运算符前后一般要加圆点“.”标记,以示区别,也可省略。
逻辑运算符:.NOT.(或!) →.AND.→.OR.设: a b cd T F T F?a and b or c and d &&结果为 F?(a and b or c) and d &&结果为 F?a or b and c or d &&结果为 T?a and !b or !(c and d) &&结果为 T例:逻辑运算示例。
x=8y=15? x>5, y<10, x>5 OR y<10, x>5 AND y<10, NOT y<10主窗口显示:.T. .F. .T. .F. .T. 例:?15>2*6 AND (“jiao”<”jiang”) OR .T.<.F..F.? (13%3=1) AND (27%5=2) OR “ab”=“ad”.T.2.4 Visual FoxPro 6.0常用函数标准函数是系统提供的可以实现特定功能的一段程序。