版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章,Visual FoxPro的 数据及其运算,第三章 Visual FoxPro的数据与表达式,3.1 Visual FoxPro的数据类型、常量和变量 3.2 Visual FoxPro的运算符和表达式 3.3 Visual FoxPro常用函数,3.1 数据类型、常量和变量,数据是计算机管理和操作的对象,在Visual Foxpro里,无论是表中的数据,还是命令或程序中的数据都是有类型的,数据的类型决定了数据的存储方式和处理方式。 Visual Foxpro提供了多种数据类型,如:字符型、数值型、整型、浮点型、双精度型、货币型、逻辑型、日期型、日期时间型、备注型、通用型、字符型(二进
2、制)、备注型(二进制),数据类型在表中的使用 建立一张职工信息表,包括职工号、名字、年龄、婚否、入厂时间、基本工资、奖励情况,职工号 字符型 8,名字 字符型 8,年龄 字符型 2,入厂时间 日期型 8,婚否 逻辑型 1,基本工资 数值型 5 2,奖励情况 备注型 4,3.1.1 Visual FoxPro的数据类型 1字符型数据(Character)C 不需要算术计算的文字型数据,由字母,数字,空格等ASCII码字符组成,字符长度为0-254字节,每个英语字符占一个字节一个宽度,汉字也是字符,一个汉字占2个字节。 2数值型数据(Numeric) N 表示可以参加数学运算的数据,它有0-9,小
3、数点和正负号组成,数值长度1-20位,取值范围-.9999999999E+19.9999999999E+20,3整数型数据(Integer)N 不包含小数部分的数值型数据 4浮点型数据(Float)N 和数值型完全等价,采用浮点格式存储数据0.98E+2相当于0.98*102,精度高于数值型。 5双精度型数据(Double)N 提供更高的数值精度,小数位可以取更多位。,6. 货币型数据(Currency)Y 用来表示货币类型的数据,需要在数字前面加上一个$符号,一般占8个字节,小数位操作4位,系统会四舍五入 7逻辑型数据(Logical) L 用于表示逻辑数据,其值只有真(.T.)和假(.F.
4、)两个逻辑数据,长度1个字节 8日期型数据(Date) D 用于表示日期,固定长度为8位,日期型默认格式为mm/dd/yy,9日期时间型数据(Datetime)T 用于表示日期和时间数据,日期时间型占8位,日期时间默认的格式为mm/dd/yy hh:mm:ss 10备注型数据(Memo)M 主要用于存放大量或不定长的字符型数据,多用来存放简历、注释等不定长内容。 11通用型数据(General)G 用于在表中引用OLE对象,如:电子表格、声音、图片等。,3.1.2常量 常量是指值在命令或程序执行过程中保持不变的数据。 1.数值型常量:可以是整数或实数 例:3.14,17,1.23E5。 2.字
5、符型常量:用单引号、双引号、方括号等定界符括起来的数字或字符。 例:123, “A”,数据库 。 注意: 空格串“ ”和空串“”的区别。 空格串 ,串长0。五个空格,串长为5。 空串“”,串长=0。,3.逻辑型常量:只有两个值逻辑真和逻辑假。 逻辑真值:.T., .t., .Y., .y. 逻辑假值: .F., .f., .N., .n. 4.日期型常量:表示日期,默认日期常量格式是yyyy-mm-dd 例:2005-09-15 2005-09-15 09/15/09,4.日期时间型常量:表示日期加时间 例: 2005-09-05,10:12:25am 2005-09-05 10:5pm 20
6、05-09-05 23:12:10 5.货币型常量:以$开头后面是整数或小数 例如:$25.4 $316,3.1.3变量 变量是指其值在程序的执行过程中可以改变的数据。 例如: a=3+23 a=34-19 1.变量的命名(变量名是用来标识变量的符号) 由字母(汉字)、数字和下划线组成,但必须以字母(汉字)或下划线开头,中间不能有空格。 长度为1128个字符,每个汉字占2个字符。 不要与系统保留字(命令名、函数名等)同名。 不区分大小写:A1即 a1 A12,1X、AB、“工资”、编 号 是否是合法的变量名?,2.变量的分类,(1)字段变量 字段变量是指表中的字段。它是在建立表结构时定义的,修
7、改表结构时可重新定义或增删字段变量。,List For 性别,List For 性别=“男”,List For 入学成绩=500,List For 出生日期=1978-01-12,(2)内存变量 一般内存变量是一种临时变量,由用户定义后用来存放程序运行的中间结果和最终结果。其值存储在内存里,一旦程序运行完毕,这些变量大多数会自动释放。 例如: a=4*(5+5) b=a*a*a ?b,b,a,1内存变量的赋值 格式:= 功能:先计算表达式的值,赋给“=”左边的内存变量。 例如:rate=12*3-6 &将30赋给变量rate,rate为数值型变量 name=“李勇军” &将“李勇军”赋给变量n
8、ame,name为字符型 格式:STORE表达式TO 内存变量表 功能:先计算表达式的值,赋给内存变量表里的多个变量,变量间用“,”间隔。 例如: STORE 26*24/13 TO A1,A2 找出两种格式区别,2内存变量的输出 格式:?|? 功能:依次在窗口工作区输出变量表中的各个变量当前的值。 ? 命令表示输出结果后执行换行 ? 命令表示输出结果后不换行 例如: store 3/7 to a1,a2 name=“李勇军” ?name,a1,a2 ?”名字为”,name ?23,9,1,1,1,9,例:交换两个变量的值。 A=1 B=9 ?A=,A,B=,B T=A A=B B=T ?A=
9、,A,B=,B 注意:变量必须先赋值,再参加运算,A,B,T,3内存变量的删除 格式1:RELEASE 格式2:RELEASE ALL LIKE/EXCEPT 格式3:CLEAR MEMORY 功能:清除所选择的内存变量,并释放相应的内存空间。 说明: 格式1清除列出的内存变量。 格式2可分三种情况: RELEASE ALL RELEASE ALL LIKE RELEASE ALL EXCEPT ,例如 清除内存变量。 A=12 STORE ABCD TO N1,N2 B=2003-01-01 RELEASE B DISPLAY MEMORY &显示所有的内存变量 RELEASE ALL EX
10、CEPT N*,清除了变量A后,如再有引用的变量A的语句执行时,会有相应的提示。(如: ?A),(3)系统变量 VFP为了方便程序设计人员和用户,提供了很多事先定义好的变量称为系统变量,系统内存变量是以字母“_”开头的. 如: _screen.fontsize 注意:普通内存变量命名时,最好不要以“_”开头,以免混淆,不要随便更改系统变量的值。,3.1.4 数组变量 数组变量的概念-特殊的内存变量,由一组内存变量的有序排列,可以通过下标去访问。 例如 : DECLARE A(8) 定义一个长度为8的数组 A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(8) 系统规定元
11、素下标编号从1开始 A(1)=001 A(2)=“王红” A(3)=.F. A(5)=1985-05-12,数组也必须先定义后使用。 (1)数组变量的定义。 功能:建立一维或二维数组,确定数组长度。 格式1:DEMENSION ( , ) , ( , ) 例如: DEMENSION A1(3),A2(2,3) 格式2:DECLARE ( , ) , ( , ) 例如: DECLARE A1(3,3),说明: 数组的下标可用圆括号( )或方括号 括起来 二维数组可以按一维数组来表示其数组元素。 DECLARE A(2,3) 数组元素依次为 A(1,1),A(1,2),A(1,3),A(2,1),
12、A(2,2),A(2,3) 可以用A(3)来表示A(1,3),(2)数组变量的赋值。 说明: 建立数组后,数组各个元素的初始值均为逻辑值.F.。 例如:DECLARE STU6 用赋值命令赋值时未指明下标,则数组中的所有数组元素同时被赋予同一个值; 例如: DECLARE STU6 STORE 5 TO STU,若指明下标,则给指定的数组元素赋值。同一数组各元素的数据类型可以不同。,1,K,.T.,DIME A(6),A(2)=1 &A(2)为数值型,A(4)=“K” &A(4)为字符型,A(4)=.T. &A(4)为逻辑型,3.2 Visual FoxPro表达式,表达式的形式是:操作数1
13、运算符 操作数2 Visual FoxPro6.0的表达式分为五种:数值表达式、字符表达式、关系表达式、逻辑表达式和日期表达式。,3.2.1 数值表达式 数值表达式是由常量、变量、函数和算术运算符组成,其运算结果是数值型的。 算术运算符按照按照优先顺序为: ()括号 *(或)乘方 * 乘 除 % 取模(求余数) + 加 - 减,?(8+5)*2/10,3.2.2 字符表达式 字符型表达式由字符运算符、字符型常量、变量和函数组成,其运算结果的数据类型为字符型或逻辑型。 字符表达式的运算符有: 连接运算符:+、-,比较运算符:=、$。它们用于对两个字符串进行运算,分别称为加、减、精确比较和包含。,
14、1加(+)是把两个指定的字符串连接,简单的合并两个字符串 例如: ?“abcde ”+”cd” 2减(-)也是进行两个字符串的连接,只是它把第一个字符尾部的空格全部移到连接后的字符串的尾部。 例如:?“abcde ”-”cd”,. 关系表达式 关系表达式是由关系运算符、数值表达式、字符表达式、常量、变量和函数组成。其运算结果是逻辑型。 关系表达式的一般形式为: 关系运算符 关系运算符主要有: 大于 = 大于等于 等于 或 !=或# 不等于 $字符串包含、=字符串精确比较,关系运算符是对同类数据比较,操作数可以是数值型、日期型、字符型和逻辑型,关系表达式的值要么是真(.T.)要么是假(.F.),
15、数值型数据比较时,按数据的大小比较。 例如: 123=45 结果为假.F. 字符串比较时,提供了“achine”PinYin”Stroke”三种字符比较方式. (1)”Machine”:西文字符逐个比较每个字符的ASCII码大小,汉字按汉语拼音字符进行比较. 例如:“abc”“aba” 结果为 “多”少” 结果为,(2)”PinYin”: 西文字符按字母顺序比较,但大写字母大于小写字母,汉字仍按拼音字母比较. ?”a”A” 结果为.F.,当操作数为字符型时,“”与“”有所区别。对于“”,当在指明为精确环境时,其意义与“”一致;而在非精确环境中,只要是的子串时便为真。 SET EXACT ON
16、精确 SET EXACT OFF 非精确 “ABCD”=“ABC” “ABCD”= =“ABC” 日期型数据比较时,日期大则大。逻辑型数据比较时,真大于假。 2008-07-122006-06-23,字符串包含运算符($)使用。 格式:$ 当字符串2包含字符串1时,其值为.T.; 当字符串2不包含字符串1时,其值为.F. 例:包含运算符($)比较。 ?计算机$计算机世界.T. ?AB$abcd .F. ?AC$ABC .F. ?杭州$浙江.F.,注意:不是指意义上的包含,3.2.4 逻辑表达式 逻辑表达式是由逻辑运算符、逻辑常量、变量、函数和关系表达式组成,其结果仍为逻辑值。 逻辑运算符按优先
17、级排列如下: NOT或! 逻辑非 NOT A AND 逻辑与 A AND B OR 逻辑或 A OR B ?NOT(56)AND“abc”ad”OR $100$200,3.2.5日期表达式 由日期型常量、变量、函数和数值表达式用数值运算符(+或-)连接起来的式子,运算结果是日期型或数值型。 日期表达式只有3种形式: 两个日期型数据可以相减,结果为数值型。 D-D=N 2006-09-12 - 2006-09-03=9 日期型数据加上一个整数,结果为日期型。 D+N=D 2006-09-12 + 10= 2006-09-22 日期型数据减去一个整数,结果为日期型。 D-N=D 2006-09-1
18、2 - 10= 2006-09-02,3.3 Visual FoxPro常用内部函数 函数是具有特定功能的程序模块,有用户自定义和系统内部函数两种 函数的基本形式是:函数名() 三个要素:函数名,参数(无参),函数值 例如:MAX(23,57+36-23,a*3) 几点说明: (1)函数名后面是一对圆括号,圆括号内可以有参数,也可以没有参数。 (2)参数是函数的自变量,可以是常量,也可以是变量,但参数的数据类型是固定的。 (3)函数运算后会返回一个值,称为函数值。,1 数值运算函数 (1)绝对值函数 格式:ABS() ?ABS(-10) 功能;返回值的绝对值。 (2)取整函数 格式:INT()
19、 功能:返回的值的整数部分。 ?INT(2.4*2),INT(-2.4*2) ?CEILING(2.4*2),CEILING(-2.4*2) ?FLOOR(2.4*2),FLOOR(-2.4*2),(3)四舍五入函数 格式:ROUND(,) 功能:对的值进行四舍五入。若的值大于等于零,则表示要保留的小数位数;若是负值,则表示整数部分四舍五入的位数。 ?ROUND(123.45,1),ROUND(123.45,-1) (4)最大值函数 格式:MAX(,) 功能:返回表达式中的最大值。 ?MAX(23,34),(5)最小值函数 格式:MIN(,) 功能:返回表达式中的最小值。 (6)求余数函数 格
20、式:MOD(,) 功能:当和同号时,函数值是除以所得的余数;当和异号时,函数值是的绝对值除以的绝对值所得的余数,再拿余数加上除数的值 ?MOD(25,-3) 25%3=1 -3+1=-2,(7)平方根函数 格式:SQRT() ?SORT(3) 功能:返回的算术平方根。的值必须大于或等于零。,2字符函数 string1=“ ABCD ” string2=“AB” ?ALLTRIM(string1) &删除字符串中的空格,返回值“ABCD” ?LTRIM(string1) &删除字符串中左边空格 ?RTRIM(string1) &删除字符串中右边空格 ?SUBSTR(“HELLO WORLD”,7
21、,5) &取子字符串 ?SUBSTR(“中国人民”,5,4) &长度缺省,取到最后一个字符 ?LEN(string1) &求字符串长度,返回值为7 ?“a”+SPACE(2)+”b” &产生空格字符串函数 ?UPPER(”English”) & 将小写字母转换成大写字母 ?LOWER(”English”) &将大写字母转换成小写字母,?AT(“op”,”top of the pops”) &查找第一个字符串在第二个字符串中第一次出现的位置,返回值为2 ?AT(“op”,”top of the pops”,2) &返回第几次出现的位置 ?OCCUSRS (“op”,”top of the pop
22、s”) &统计第一个字符串在第二个字符串中出现的次数 ?REPLICATE(”ab”,3)&返回字符串重复多次后的字符串 ?STUFF(”中国工商银行”,5,4,“建设”) &字符串替换,&从符号“&”开始直接替换字符型内存变量的值(去掉引号),到“.”或空白为止 name=“李小明” XM=“name” ? &XM.+”你好” var=“254” ? &var+6,3日期和时间函数 ?“当前日期为”,DATE() &返回系统当前日期,返回值05/07/2008 ?YEAR(DATE() & 返回给定日期的年份 ?MONTH(DATE() &返回给定日期的月份 ?DAY(DATE() &返回给
23、定日期的日期 ?“当前时间为”,TIME() &返回当前系统时间,返回值13:38:37 ?DATEME() &返回当前日期和时间,返回值 05/07/2008 13:38:37 PM,DD=2008-05-07 13:38:37 PM ?HOUR(DD) &返回给定日期时间的小时 ?MINUTE(DATETIME() &返回给定日期时间的分钟 ?SEC(DATETIME() &返回给定日期时间的秒,4转换函数 (1)数值型与字符型转换函数 格式:STR(,) 功能:STR函数是将数值型转换成字符型。是转换的长度,缺省时转换整个长度;是指定转换的小数位数,缺省时不转换小数位。 ?STR(34.1256,6,2) 转换结果“34.13” ?STR(34.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财经数据分析方法指南
- 2026年孩子见人不打招呼家庭教育策略
- 2026年地铁运营公司员工应急疏散培训方案
- 2026年光伏结构工程师项目结构计算报告
- 2026二建《水利水电工程管理与实务》冲刺课程讲义
- 签了协议书能上学高中
- 宏的概念新版
- 心理健康 五年级 第十五课 《合作创造奇迹》
- 学生会礼仪方案模板
- 2026年度全镇食品药品安全工作会议暨专题培训会讲话
- 鼻肠管留置及维护
- DL-T5434-2021电力建设工程监理规范
- 世界各国中英文名称大全
- 眼的解剖结构与生理功能课件
- 半导体特色工艺生产线建设项目总体设计
- 施工安全生产管理体系(完整版)
- 中职数学预备知识讲座
- 再回首混声合唱谱
- 新质生产力在生物医药领域的创新实践
- 言语障碍的预防及矫正
- 09J202-1 坡屋面建筑构造(一)-2
评论
0/150
提交评论