【精品】visual_foxpro程序设计基础-全国计算机等级考试(可编辑.ppt

上传人:1595****071 文档编号:71303824 上传时间:2023-02-02 格式:PPT 页数:79 大小:1.15MB
返回 下载 相关 举报
【精品】visual_foxpro程序设计基础-全国计算机等级考试(可编辑.ppt_第1页
第1页 / 共79页
【精品】visual_foxpro程序设计基础-全国计算机等级考试(可编辑.ppt_第2页
第2页 / 共79页
点击查看更多>>
资源描述

《【精品】visual_foxpro程序设计基础-全国计算机等级考试(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】visual_foxpro程序设计基础-全国计算机等级考试(可编辑.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Visual_FoxPro程序设计基础-全国计算机等级考试第第2 2章章 Visual FoxProVisual FoxPro程序设程序设计基础计基础在Visual FoxPro中,除了能够对数据表中的数据进行处理,也可以对诸如常量、内存变量等数据表之外的数据进行单独处理。简单的数据处理可以通过函数、表达式和单条命令完成,复杂的数据处理则可能需要编写程序来完成。本章介绍Visual FoxPro程序设计基础,内容包括常量、内存变量、表达式、常用函数、程序的基本结构以及多模块程序设计。常量与变量常量与变量常量与变量常量与变量2.12.1 表达式表达式表达式表达式2.22.2 常用函数常用函数常用

2、函数常用函数2.32.3 程序与程序文件程序与程序文件程序与程序文件程序与程序文件2.42.4 程序的基本结构程序的基本结构程序的基本结构程序的基本结构2.52.5 多模块程序设计多模块程序设计多模块程序设计多模块程序设计2.62.6本章知识点在笔试考试中的分析明细表知识点知识点考核概率考核概率分值分布分值分布考试形式考试形式难易程度难易程度常量40选择或填空变量20选择或填空内存变量常用命令40选择或填空数值、字符、日期时间表达式20选择或填空字符函数80选择或填空日期和时间函数20选择或填空测试函数20选择或填空程序的概念20选择、填空或上机程序文件的建立运行60选择、填空或上机选择结构2

3、0选择、填空或上机循环结构40选择、填空或上机参数传递40选择、填空或上机变量的作用域60选择、填空或上机2.1 常量与变量 1.常量 常量通常是指以文字串形式出现在代码中的数据,代表一个具体的、不变的值。而变量用于存储数据,一个变量在不同的时刻可以存放不同的数据常量类型包括数值型、货币型、字符型、日期型、日期时间型和逻辑型。不同类型的常量有不同的书写格式。接下来分别介绍:影响日期格式的设置命令(1)SET MARK TO set mark to命令功能:用于指定显示日期时所用的分隔符。如果SET MARK TO后面没有指定分隔符,表示恢复系统默认的斜杠分隔符。(2)SET DATE TO A

4、MERICANANSI set date to命令功能:用于设置日期显示的格式。如果SET DATE TO后面没有指定日期显示的格式,表示恢复系统默认的mm/dd/yy(月/日/年)格式。(3)SET CENTURY ONOFF set century 命令功能:指定如何显示或解释一个日期数据的年份。ON显示世纪,即用4位数字表示年份。OFF不显示世纪,即用2位数字表示年分。它是系统默认的设置。操作举例5)日期时间型常量日期时间型常量包括日期和时间两部分内容,日期时间型数据用8个字节存储。其中用AP(或A)表示上午,用PM(或P)表示下午,默认值为AM。6)逻辑型常量逻辑型数据只有逻辑真和逻辑

5、假两个值。逻辑型数据只占用一个字节。逻辑真的常量表示形式有:.T.、.T.、.Y.和.y.。逻辑假的常量表示形式有:.F.、.F.、.N.和.n.。2.变量 变量的命名规则变量的命名规则:变量的值是可以随时更改的,每个变量对应一个变量名,变量的命名以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成,开头不能用数字。分类:分类:分为字段变量和内存变量两大类 内存变量的数据类型包括内存变量的数据类型包括:字符型(C)、数值型(N)、货币型(Y)、逻辑型(L)、日期型(D)和日期时间型(T)1)简单内存变量 在Visual FoxPro中,一个变量在使用前并不需要特别的声明或定义。当出现内存

6、变量与字段变量同名时,若简单地用变量名访问,则系统默认为是字段变量。若要访问内在变量,则必须在变量名前加上前缀M.(或M-),例如M.姓名。2)数组 数组是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。每个数组元素相当于一个简单变量,可以给各元素分别赋值,并且各元素的数据类型可以不同。数组大小由下标的上、下限决定,下限规定为1。创建数组:格式:格式1:DIMENSION(,),格式2:DECLARE(,),例如:例如:DIMENSION x(5)DIMENSION x(5),y(2,3)y(2,3)定义了两个数组。定义了两个数组。一维数组一维数组x

7、x含有含有5 5个数组元素:个数组元素:x(1)x(1),x(2)x(2),x(3)x(3),x(4)x(4),x(5)x(5)。二维数组二维数组y y含有含有6 6个元素:个元素:y(1,1)y(1,1),y(1,2)y(1,2),y(1,3)y(1,3),y y(2,1)(2,1),y(2,2)y(2,2),y(2,3)y(2,3)v二维数组可以转化为一维数组:v二维数组与二维表存在对应关系。如:数组y(1,1)与二维表中的第一行第一列对应;y(2,3)与二维表中的第二行第三列对应。y(1,1)y(1,2)y(1,3)y(2,1)y(2,2)y(2,3)x(1)x(2)x(3)x(4)x(

8、5)x(6)3.内存变量常用命令内存变量常用命令1)1)内存变量的赋值内存变量的赋值Visual FoxProVisual FoxPro中的内存变量赋值有两种格式:中的内存变量赋值有两种格式:命令格式1:命令格式1:STORE To 功能:计算表达式并将表达式值赋给一个或多个内存变量,等号一次只能给一个内存变量赋值;STORE可以同时给多个变量赋于相同的值,各变量名之间用逗号隔开。2 2)表达式值的显示)表达式值的显示格式1:?格式2:?注意:不管有没有指定表达式,格式注意:不管有没有指定表达式,格式1 1都会都会输出一个回车换行符。如果指定了表达式,各输出一个回车换行符。如果指定了表达式,各

9、表达式值将在下一行的起始处输出。格式表达式值将在下一行的起始处输出。格式2 2不不会输出一个回车换行符,各表达式值在当前行会输出一个回车换行符,各表达式值在当前行的光标所在处直接输出。能:首先计算出表达的光标所在处直接输出。能:首先计算出表达式的值,再将该值赋给内存变量。式的值,再将该值赋给内存变量。3 3)内存变量的显示)内存变量的显示命令格式:命令格式:DISPLAYLIST MEMORY LIKETO PRINTERPROMPT/TO FILE 功能:显示当前内存中的内存变量名称、作用范围、数据类型和值。DISPLAYDISPLAY和和LISTLIST的区别在于:的区别在于:D1SPLA

10、YD1SPLAY命令分屏显示,每显示一屏暂停,按任意键后继续命令分屏显示,每显示一屏暂停,按任意键后继续显示;显示;LISTLIST命令连续显示,中间不停顿,直到显示完毕。命令连续显示,中间不停顿,直到显示完毕。通配符有?和通配符有?和*两种两种:?代表单个字符,?代表单个字符,*代表一个或多个字符。若缺省任选项代表一个或多个字符。若缺省任选项LIKELIKE,则显示当前内存中的所有内存变量;若选用该,则显示当前内存中的所有内存变量;若选用该选项,则显示与选项,则显示与 相匹配的内存变量。相匹配的内存变量。4 4)内存变量的清除)内存变量的清除 格式:格式:格式1:CLEAR MEMORY格式

11、2:RELEASE 格式3:RELEASE ALLEXTENDED格式4:RELEASE ALLLIKEEXCEPT说明:格式1用于清除所有内存变量。格式2用于清除指定的内存变量。格式3用于清除所有的内存变量。在人机会话状态,其作用与格式1相同。如果出现在程序中,则应该加上短语EXTENDED,否则不能删除公共内存变量。格式4选用LIKE短语清除与通配符相匹配的内存变量,选用EXCEPT短语清除与通配符不相匹配的内存变量。5 5)表中数据与数组数据之间的交换)表中数据与数组数据之间的交换 将表的当前记录复制到数组。命令格式为:将表的当前记录复制到数组。命令格式为:格式格式1 1:SCATTER

12、SCATTERFIELDSFIELDS MEMOMEMOTOTO BLANKBLANK格式格式2 2:SCATTERSCATTERFIELDS LIKEFIELDS LIKE FIELDS EXCEPTFIELDS EXCEPT MEMOMEMOTOTO BLANKBLANK2.2 表达式 表达式是由常量、变量和函数通过特定的运算符表达式是由常量、变量和函数通过特定的运算符连接起来的式子。表达式的形式包括:连接起来的式子。表达式的形式包括:单一的运算对象,包括常量、变量或函数等;单一的运算对象,包括常量、变量或函数等;由运算符将运算对象连接起来形成的式子。由运算符将运算对象连接起来形成的式子。

13、表达式无论是简单还是复杂,都会有一个运算结表达式无论是简单还是复杂,都会有一个运算结果,即表达式的值,根据运算结果的不同,表达式可果,即表达式的值,根据运算结果的不同,表达式可以分为数值表达式、字符表达式、日期时间表达式和以分为数值表达式、字符表达式、日期时间表达式和逻辑表达式,各类表达式都有自己特定的运算符,且逻辑表达式,各类表达式都有自己特定的运算符,且存在一定的运算顺序。存在一定的运算顺序。1.1.数值、字符与日期时间表达式数值、字符与日期时间表达式 数值表达式数值表达式又称为算术表达式,由算术运算符和数值型常量、变量和又称为算术表达式,由算术运算符和数值型常量、变量和数值型函数等组成。

14、数值运算是分先后次序的,数值运算的优数值型函数等组成。数值运算是分先后次序的,数值运算的优先级见表所示。先级见表所示。比如比如:键入以下命令,并回车运行:键入以下命令,并回车运行:?5+(2/7+5/7)*2(3+5)优先级运算符说明1()形成表达式内的子表达式2*或乘方运算3*、/、%乘、除运算、求余运算4+、加、减运算字符表达式字符表达式:字符串表达式由字符串运算符将字符型数据连起字符串表达式由字符串运算符将字符型数据连起来形成,结果仍是字符型数据。来形成,结果仍是字符型数据。字符运算符有以下两个,它们的优先级相同。字符运算符有以下两个,它们的优先级相同。+:前后两个字符串首尾相接形成一个

15、新的字符:前后两个字符串首尾相接形成一个新的字符串。串。-:连接前后两个字符串,并将前字符串尾部的:连接前后两个字符串,并将前字符串尾部的空格移到合并后的字符串尾部空格移到合并后的字符串尾部 日期时间表达式:运算符只有两个分别是加(+)和减(-)。书写时格式有一定限制,不能任意组合。例如不能用运算符“+”号将两个连接起来。合法的日期时间表达式格式如表所示。格式类型结果及类型+日期型指定若干天后的日期+日期型指定若干天后的日期-日期型指定若干天后的日期-数值型两个指定日期相差的天数2.关系表达式 1)关系表达式关系表达式通常也称为简单逻辑表达式,由关系运算符将两个运算对象连接起来形成。即 ;运算

16、结果是逻辑型数据。注意:运算符=和$仅适用于字符型数据。其他运算符适用于任何数据;在比较运算时,前后两个运算对象的类型必须相同,但日期和日期时间型数据可以比较。2)2)设置字符的排序次序设置字符的排序次序当比较两个字符串时,自左向右逐个比较,一但发当比较两个字符串时,自左向右逐个比较,一但发现两个字符不同,就根据这两个字符的大小决定字符现两个字符不同,就根据这两个字符的大小决定字符串的大小。串的大小。字符的大小取决于字符集中字符的排序次序,排在字符的大小取决于字符集中字符的排序次序,排在前面的小,排在后面的大。前面的小,排在后面的大。在中文在中文Visual FoxProVisual FoxP

17、ro中,默认的字符排序次序名中,默认的字符排序次序名为为PinYinPinYin,但可以重新设置。排序次序名必须放在引,但可以重新设置。排序次序名必须放在引号当中。号当中。设置字符排序次序的命令是:设置字符排序次序的命令是:SET COLLATE TO“SET COLLATE TO“”3)3)字符串精确比较与字符串精确比较与EXACTEXACT设置设置用双等号运算符(=)精确比较:只有当两个字符串完全相同(包括空格及位置),才会为逻辑真.T.。用单等号运算符(=)比较,运算结果与 set exact onoff 的设置有关。ON 先在较短的字符串尾加若干空格,使两个字符串的长度相等,再进行精确

18、比较。如:“计算机世界”=“计算机”,在ON状态下结果为.F.。OFF 只要右边字符串与左边字符串的前面部分内容相匹配,即为逻辑真.T.。如:“计算机世界”=“计算机”,OFF状态下结果为.T.。3)3)字符串精确比较与字符串精确比较与EXACTEXACT设置设置举例:字符串比较与EXACT设置示例。Set exact off Store“会计”to s1Store“会计”to s2&注意“会计”后有一空格Store“会计电算化”to s3?s1=s3,s3=s1,s1=s2,s2=s1,s2=s1运行结果:.F.T.F.T.F.Set exact ON&将较短的字符串填充空格,等长比较?s1

19、=s3,s3=s1,s1=s2,s2=s1,s2=s1运行结果:.F.F.T.T.F.4)4)赋值与相等比较的区别赋值与相等比较的区别内存变量的赋值命令与相等比较运算都使用内存变量的赋值命令与相等比较运算都使用等号,必须注意两者之间的区别。等号,必须注意两者之间的区别。赋值命令格式:赋值命令格式:=相等比较运算格式:相等比较运算格式:=2 3.3.逻辑表达式逻辑表达式 逻辑表达式由逻辑运算符将逻辑型数据连接起来而形逻辑表达式由逻辑运算符将逻辑型数据连接起来而形成,其运算结果仍然是逻辑型数据。逻辑运算符有成,其运算结果仍然是逻辑型数据。逻辑运算符有3 3个:个:.NOT.NOT.或或!(逻辑非)

20、、(逻辑非)、.AND.AND.(逻辑与)及(逻辑与)及.OR.OR.(逻辑(逻辑或)。也可以省略两端的点,写成或)。也可以省略两端的点,写成NOTNOT、ANDAND、OROR。其优先。其优先级顺序依次为级顺序依次为NOTNOT、ANDAND、OROR。逻辑非是单目运算(运算对象只有一个),其运算结逻辑非是单目运算(运算对象只有一个),其运算结果与操作数的值正好相反。果与操作数的值正好相反。逻辑与具有逻辑与具有“并且并且”的含义,只有当两个操作数均为的含义,只有当两个操作数均为真时,运算结果才为真,否则为假。真时,运算结果才为真,否则为假。逻辑或具有逻辑或具有“或者或者”的含义,两个操作数中

21、,只要有的含义,两个操作数中,只要有一个为真,运算结果就为真。否则为假。一个为真,运算结果就为真。否则为假。逻辑运算符的上述运算规则可以用下表表示。逻辑运算符的上述运算规则可以用下表表示。RS.NOT.RR.AND.SR.OR.S.T.T.F.T.T.T.F.F.F.T.F.T.T.F.T.F.F.T.F.F.4.4.运算符的优先级运算符的优先级每类运算符中包含的运算符都有自己的优先次序。同样每类运算符中包含的运算符都有自己的优先次序。同样在各类运算符之间也存在运算优先次序,具体次序如下:在各类运算符之间也存在运算优先次序,具体次序如下:先运行算术运算符、字符串运算符和日期时间运算符;先运行算

22、术运算符、字符串运算符和日期时间运算符;其次运行关系运算符;其次运行关系运算符;最后运行逻辑运算符。最后运行逻辑运算符。另外还包括以下规则:另外还包括以下规则:圆括号的优先级最高。圆括号的优先级最高。相同优先级的运算符按从左到右的顺序进行运算。相同优先级的运算符按从左到右的顺序进行运算。字符串连接运算符和加、减运算符优先级一样。字符串连接运算符和加、减运算符优先级一样。需注意圆括号的作用:有时候,在表达式的适当地方插需注意圆括号的作用:有时候,在表达式的适当地方插入圆括号不是为了改变其他运算符的运算次序,而是为了提入圆括号不是为了改变其他运算符的运算次序,而是为了提高代码的可读性。高代码的可读

23、性。2.3 常用函数 函数是用程序来实现的一种数据运算或转换。函数可以用函数名加一对圆括号加以调用,自变量放在圆括号里,如ABS(x)。在Visual FoxPro中,将函数分为数值函数、字符函数、日期和时间函数、数据类型转换函数和测试函数五类。函数的基本形式如下:函数名()说明:(1)函数名后面是一对圆括号,圆括号内可以有参数,也可以没有参数。(2)参数是函数的自变量,可以是常量,也可以是变量,但参数的数据类型是固定的。(3)函数运算后会返回一个值,称为函数值。1.1.数值函数数值函数1)1)绝对值函数:ABS()2)2)符号函数:SIGN()3)平方根函数:SQRT()4)圆周率函数:PI

24、()5)求整数函数:INT():返回指定数值表达式的整数部分 CEILING():返回不小于指定数值表达式的最小整数 FLOOR():返回不大于指定表达式的最大整数 6)6)四舍五入函数:ROUND(,)功能:返回指定表达式在指定位置四舍五入后的结果;如果“表达式2”0,表示要保留的小数位数;如果“表达式2”0表示整数部分的舍入位数;如果“表达式2”=0表示保留整数,没有小数部分。例2.17 x=456.456?ROUND(x,2),ROUND(x,1),ROUND(x,0),ROUND(x,-1)456.46 456.5 456 460 7)7)求余数函数格式:MOD(,)功能:返回两个数值

25、相除后的余数;是被除数,是除数;余数的正负号与除数相同;如果被除数与除数同号,那么函数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。例?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)1 -2 2 -18)8)求最大值和最小值函数格式MAX(,)MIN(,)功能:MAX()计算各自变量表达式的值,并返回其中的最大值。MIN()计算各自变量表达式的值,并返回其中的最小值。比如:?MAX(5,9,2),MAX(3,23,13),MIN(自行车,汽车,火车)9 3 火车 2.字符函数:1)字符串长度函数:LEN()2)大小写

26、转换函数:LOWER(),大写字母转换成小写字母,其他字符不变;UPPER(),小写字母转换成大写字母,其他字符不变。3)空格字符串生成函数:SPACE()4)删除前后空格函数:TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串;LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串;ALLTRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串。2.3 常用函数 2.2.字符函数字符函数:5)5)取子串函数:取子串函数:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值;RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值;SUBSTR()从指定

27、表达式值的指定起始位置取指定长度的子串作为函数值。SUBSTR()函数中,若缺省参数,则函数从指定位置一直取到最后一个字符。例2.24 Store“good bye!”to x?left(x,2),substr(x,6,2)+substr(x,6),right(x,3)go bybye!Ye!2.3 常用函数 2.2.字符函数字符函数:6)6)计算子串出现次数函数计算子串出现次数函数格式:格式:OCCURSOCCURS(,2)功能:返回第一个字符串在第二个字符串功能:返回第一个字符串在第二个字符串中出现的次数,函数值为数值型。若第一个字中出现的次数,函数值为数值型。若第一个字符串不是第二个字符

28、串的子串,函数值返回符串不是第二个字符串的子串,函数值返回0 0。例例2.25 Store abcracadabra to s2.25 Store abcracadabra to s?occurs(a,s),occurs(b,s),occu?occurs(a,s),occurs(b,s),occurs(c,s),occurs(e,s)rs(c,s),occurs(e,s)5 2 2 0 5 2 2 02.3 常用函数 2.2.字符函数字符函数:7)7)求子串位置函数:求子串位置函数:AT(AT(,);ATC(ATC(,)。功能:功能:AT()AT()的函数值为数值型。如果的函数值为数值型。如果

29、 1是是 2的子串,则返回的子串,则返回 1的首字符在的首字符在 2中中的位置;若不是子串,则返回的位置;若不是子串,则返回0 0。用于表明要在用于表明要在 2中搜索中搜索 1的第几次出现,其默的第几次出现,其默认值是认值是1 1。例例 Store“This is Visual FoxPro6.0”to Store“This is Visual FoxPro6.0”to x x?at(“fox”,x),atc(“fox”,x),at(“is”,x,?at(“fox”,x),atc(“fox”,x),at(“is”,x,3),at(“xo”,x)3),at(“xo”,x)0 16 10 0 0

30、16 10 02.3 常用函数 2.2.字符函数:字符函数:8)8)子串替换函数子串替换函数 格式:STUFF(,)功能:用值替换中由和指定的一个子串。替换和被替换的字符个数不一定相等。如果值是0,则插在由指定的字符前面。如果值是空串,那么中由和指定的子串被删去。例2.27 s1=good bye!“s2=morning“?stuff(s1,6,3,s2),stuff(s1,1,4,s2)good morning!morning bye!2.3 常用函数 2.2.字符函数字符函数:字符函数是指自变量一般是字符型字符函数是指自变量一般是字符型数据的函数数据的函数 9)9)字符替换函数字符替换函数

31、 格式:CHRTRAN(,)功能:该函数的自变量是三个字符表达式。当中的一个或多个相同字符与中的某个字符相匹配时,就用中的对应字符(与中的字符具有相同的位置)替换这些字符。如果包含的字符个数少于包含的字符个数,导致没有对应的字符,那么中相匹配的各字符将被删除。如果中包含的字符个数多于中包含的字符个数,多余字符将被忽略。例2.28 a=chrtran(AFACAD,ACD,X56)b=chrtran(老师好!,老师,您)?a,bXFX5X6 您好!2.3 常用函数 2.2.字符函数字符函数:字符函数是指自变量一般是字符字符函数是指自变量一般是字符型数据的函数型数据的函数 10)10)字符串匹配函

32、数字符串匹配函数格式:LIKE(,)功能:比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑真(.T.),否则返回逻辑假(.F.)。中可以包含通配符“*”和“?”。“*”可以与任何数目的字符相匹配,“?”可以与任何单个字符相匹配。例2.29 x=“abc”y=“abcd”?like(“ab*”,x),like(x,”ab*”),like(“ab*”,y),like(x,y),like(“?b?”,x),like(“Abc”,x).T.F.T.F.T.F.2.3 常用函数 3.3.日期和时间函数日期和时间函数1)1)系统日期和时间函数系统日期和时间函数 DATE()返回当前系统日

33、期,函数值为日期型。TIME()以24小时制的hh:mm:ss格式返回当前系统时间,函数值为字符型。DATETIME()返回当前系统日期时间,函数值为日期时间型2)年份、月份和天数函数 YEAR()MONTH()DAY()比如:Store2011-07-20 to d?year(d),month(d),day(d)2011 7 202.3 常用函数 3.3.日期和时间函数日期和时间函数3)3)时分秒函数时分秒函数HOURHOUR()MINUTEMINUTE()SECSEC()2.3 常用函数 4.数据类型转换函数1)数值转换成字符串格式:STR(,)功能:将的值转换成字符串。转换要根据需要自动

34、四舍五入。返回的字符串的理想长度L应该是的值的整数部分位数加上值。如果大于L,则字符串加前导空格以满足规定的长度;如果大于等于L,则优先满足整数部分而自动调小数位数;如果小于L的整数部分位数,则返回“*”号。的默认值为0,的默认值为10。例2.33 Store-345.456 TO n?str(n,9,2),str(n,6,2),str(n,3),str(n,6),str(n)-345.46 -345.5 *-345 -345 2.3 常用函数 4.4.数据类型转换函数数据类型转换函数2)2)字符串转换成数值字符串转换成数值 格式:VAL()功能:将由数字符号组成的字符型数据转换成相应的数值型

35、数据。例2.34 Store-456 To xStore.78 to y&注意78前有个“.”Store A78 to z?val(x+y),val(x+z),val(z+y)-456.78 -456.00 0.002.3 常用函数 4.4.数据类型转换函数数据类型转换函数3)3)字符串转换成日期或日期时间字符串转换成日期或日期时间 格式:CTOD()CTOT()功能:CTOD()将值转换成日期型数据。CTOT()将值转换成日期时间型数据。例2.35 set date to ymd Set century onSet century to 19 rollover 30?ctod(04/28/1

36、1),ctot(04/28/11 11:00:00)04/28/2011 04/28/2011 11:00:00 AM2.3 常用函数 4.4.数据类型转换函数数据类型转换函数4)4)日期或日期时间转换成字符串日期或日期时间转换成字符串 格式:DTOC(,1)TTOC(,1)功能:DTOC()将日期型数据或日期时间数据的日期部分转换成字符串。TTOC()将日期时间数据转换成字符串。例2.36 假设当前的系统日期时间为2011-03-26 11:55:00Set date to mdySet century offStore datetime()to t?t03/26/11 11:54:39 P

37、M?dtoc(t),dtoc(t,1),ttoc(t),ttoc(t,1)03/26/11 20110326 03/26/11 11:55:00 PM 201103261155002.3 常用函数 4.4.数据类型转换函数数据类型转换函数5)5)宏替换函数宏替换函数 格式:&.功能:替换出字符型变量的内容,即&的值是变量中的字符串。例2.37 Use 学生xm=“姓名”x=“5+6”?xm,&xm,x,&x姓名 张海 5+6 112.3 常用函数 5.5.测试函数测试函数1)1)值域测试函数格式:BETWEEN(,)功能:判断一个表达式的值是否介于另外两个表达式的值之间。在和之间时,函数值为真

38、(.T.),否则为假(.F.);如果和,其中一个是NULL值,那么函数值也是NULL值。3个变量可以是数值型、日期型、货币型等,但3个变量的类型要保持一致。例2.38 Store.NULL.to xStore 100 to y?between(150,y,y+100),between(90,x,y),between(50,100,电脑).T.NULL.3个变量类型不一致,提示找不到变量 2.3 常用函数 5.测试函数2)空值(NULL值)测试函数 格式:ISNULL()功能:判断一个表达式的运算结果是否为NULL值,若是NULL值则返回逻辑真(.T.),否则返回逻辑假(.F.)。例2.39 S

39、tore.NULL.TO x?x,isnull(x).NULL.T.2.3 常用函数 5.5.测试函数测试函数3)3)空值(NULL值)测试函数 格式:EMPTY()功能:根据指定表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.)。注意:空值(NULL)测试函数与“空”值EMPTY()测试函数是两个不同的概念。比如:?empty(123),empty(0),empty(ctod(),empty($0),empty(space(5).F.T.T.T.T.2.3 常用函数 5.5.测试函数测试函数4)4)数据类型测试函数 格式:VARTYPE(,)功能:测试的类型,返回一个大写

40、字母,函数值为字符型。比如:Store“大学”to MStore null to NStore$200 to Y?vartype(M),vartype(N),vartype(Y),vartype(66),vartype(大学)C X Y N U2.3 常用函数 5.5.测试函数测试函数5)5)条件测试函数条件测试函数 格式:IIF(,)功能:测试的值。若为逻辑真.T.,函数返回的值;若为逻辑假.F.,函数返回的值。和的类型不要求相同。例2.42?iif(100100,50,150),iif(300100,250,350)150 250?iif(len(space(5)5,1,-1)-12.3

41、常用函数 5.5.测试函数测试函数6)6)表文件首测试函数表文件首测试函数 格式:BOF()功能:测试当前表文件或指定文件中的记录指针是否指向了文件首,若是返回逻辑真(.T.),否则返回逻辑假(.F.),表文件首是指第一条记录前面的位置。若指定工作区上没有打开表文件,函数返回逻辑假(.F.)。若表文件不包含任何记录,函数返回逻辑真(.T.)。2.3 常用函数 5.5.测试函数测试函数7)7)表文件尾测试函数表文件尾测试函数 格式:EOF()功能:测试指定表文件中的记录指针是否指向文件尾,若是则返回真(.T.),否则返回逻辑假(.F.),若缺少自变量,则测试当前表文件,若在指定工作区上没有打开表

42、文件,函数返回逻辑假,若表文件中不包含任何记录,函数返回逻辑真。表文件尾是指最后一条记录的后面位置。2.3 常用函数 5.5.测试函数测试函数8)8)记录号测试函数记录号测试函数 格式:RECNO()功能:返回当前表或指定文件中当前记录的记录号。9)记录个数测试函数 格式:RECCOUNT()功能:返回当前表文件或指定表文件中物理上存在的记录个数记录删除测试函数 格式:DELETED()功能:测试当前表文件或指定表文件中的当前记录是否有删除标记“*”。若有就返回逻辑真,否则返回逻辑假。2.4 程序与程序文件程序与程序文件1.1.程序的概念程序的概念1)1)基本概念基本概念程序是能够完成一定任务

43、的命令的有序集程序是能够完成一定任务的命令的有序集合。这组命令被存放在称为程序文件或命令合。这组命令被存放在称为程序文件或命令文件的文本文件中,程序文件的系统默认扩文件的文本文件中,程序文件的系统默认扩展名是展名是.prg.prg.2)2)书写要求书写要求程序中的每条命令都以回车结尾,一行只程序中的每条命令都以回车结尾,一行只能写一条命令;若要分行书写,应在一行程能写一条命令;若要分行书写,应在一行程序的结尾处输入分号(序的结尾处输入分号(;)续行符。)续行符。3)3)程序特点程序特点2.4 程序与程序文件程序与程序文件2.2.程序文件的建程序文件的建立与运行立与运行1 1)创建程序)创建程序

44、通过项目管理器创建通过文件菜单创建通过命令创建2 2)保存程序)保存程序通过菜单保存直接关闭没有保存的程序,则会弹出相应对话框,提示保存或放弃按CTRL+W组合键保存3)修改程序通过项目管理器的“修改”选项打开程序并修改通过文件菜单中“打开”选项打开程序并修改通过命令MODIFY COMMAND打开程序并修改4)运行程序通过项目管理器的“运行”按钮运行程序通过程序菜单中“运行”选项运行程序通过命令DO运行程序2.4 程序与程序文件程序与程序文件3.3.简单的输入简单的输入/输出命令输出命令1.INPUT1.INPUT TO TO 2.ACCEPT 2.ACCEPT TO TO 3.WAIT3.

45、WAIT TO TO WINDOWWINDOWAT AT,NOWAITNOWAIT CLEAR|CLEAR|NOCLEARNOCLEARTIMEOUT TIMEOUT 2.5 程序的基本结构程序的基本结构 1.1.顺序结构顺序结构顺序结构是最简单的程序结构,它按命令顺序结构是最简单的程序结构,它按命令在程序中出现的先后次序依次运行。在程序中出现的先后次序依次运行。例例2.47 CLEAR 2.47 CLEAR&清除主窗口显示的清除主窗口显示的全部信息全部信息r=3 r=3&设置圆的设置圆的半径半径*依次计算周长和面积依次计算周长和面积p=2*pi()*r p=2*pi()*r&函数函数PI()

46、PI()返返回圆周率回圆周率s=pi()*r2s=pi()*r2*输出计算结果输出计算结果?”?”周长周长=”,p=”,p?”?”面积面积=”,s=”,s主窗口中显示:周长主窗口中显示:周长=18.85 =18.85 面积面积=28.2743=28.27432.5 程序的基本结构程序的基本结构 2.2.选择结构选择结构1)1)简单的条件语句简单的条件语句IF IF 1 ENDIF ENDIF2)2)一般形式的条件语句一般形式的条件语句IF IF 1 ELSE ELSE 2 ENDIF ENDIF 2.5 程序的基本结构程序的基本结构 2.2.选择结构选择结构3)3)多分支语句多分支语句 语句格

47、式:语句格式:DO CASEDO CASE CASE CASE 1 1 CASE CASE 2 2 CASE CASE n n OTHERWISE OTHERWISE ENDCASE ENDCASE2.5 程序的基本结构程序的基本结构 3.3.循环结构循环结构循环结构也称为重复结构,是指程序循环结构也称为重复结构,是指程序在运行过程中,其中的某段代码被重复运在运行过程中,其中的某段代码被重复运行若干次。被重复运行的代码段通常称为行若干次。被重复运行的代码段通常称为循环体。循环体。Visual FoxProVisual FoxPro支持的循环结构支持的循环结构语句包括:语句包括:DO WHILE

48、-ENDDODO WHILE-ENDDO、FOR-ENDFORFOR-ENDFORSCAN-ENDSCANSCAN-ENDSCAN语句。语句。2.5 程序的基本结构程序的基本结构 3.3.循环结构循环结构1)DO WHILE ENDDO1)DO WHILE ENDDO这是一个功能全面使用频率较高的循环语句。这是一个功能全面使用频率较高的循环语句。语句格式:语句格式:DO WHILE DO WHILE LOOP LOOP EXIT EXIT ENDDO ENDDO运行该语句时,先判断运行该语句时,先判断 是否为真,如果是是否为真,如果是真则运行真则运行DO WHILEDO WHILE与与ENDD

49、OENDDO间的循环体,当运行到间的循环体,当运行到ENDDOENDDO时,再返回时,再返回DO WHILE DO WHILE 重新判断循环条件是否重新判断循环条件是否为真,确定是否再次运行循环体。若条件为假则结为真,确定是否再次运行循环体。若条件为假则结束循环语句运行束循环语句运行ENDDOENDDO后的语句。后的语句。2.5 程序的基本结构程序的基本结构 3.循环结构1)DO WHILE ENDDO1)DO WHILE ENDDO例如CLEARCLEARX=12345X=12345Y=0Y=0DO WHILE X0DO WHILE X0Y=Y+X%10Y=Y+X%10X=INT(X/10)

50、X=INT(X/10)ENDDOENDDO?Y?Y主窗口中显示:152.5 程序的基本结构程序的基本结构 3.3.循环结构循环结构2)FOR-ENDFOR 2)FOR-ENDFOR 语句语句该语句通常用于已知循环次数情况下的循环操作。语句格式:FOR =TO STEP LOOP EXIT ENDFOR|NEXT先将初值赋给循环变量,然后判断循环条件是否成立,若成立,则运行循环体,然后循环变量增加一个步长值,并在次判断循环条件确定下一次的循环操作。如果条件不成立则结束循环运行ENDFOR后的语句。2.5 程序的基本结构程序的基本结构 3.3.循环结构循环结构2)FOR-ENDFOR 2)FOR-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁