收藏 分销(赏)

常变函课件.ppt

上传人:pc****0 文档编号:13359623 上传时间:2026-03-07 格式:PPT 页数:16 大小:246.50KB 下载积分:10 金币
下载 相关 举报
常变函课件.ppt_第1页
第1页 / 共16页
常变函课件.ppt_第2页
第2页 / 共16页


点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第二章 数据与数据运算,数据的表现形式:常量、变量、表达式、函数,一、常量,常量:用以表示一个具体的、不变的值。不同类型常量的书写格式不同。在,Visual,FoxPro,中,常量主要包括以下几种类型。,1,)数值型常量(,N,),:,数值型常量即常数,用来表示一个数量的大小,由,数字,09,小数点和正负号组成。,例如:,123,,,1234.456,,,-1234.567,2,)货币型常量(,Y,),:,货币型常量用来表示货币值,其书写格式与数值型常量,类似,但要加上一个前置的符号,($),。货币型常量的小数,位数不能超过,4,位若超过,4,位多余的位数自动四舍五入。,例如,:$123,,,$345.6540,3,)字符型常量(,C,),:,字符型常量也称为字符串,其表示方法是用半角单引,号、双引号或方括号把字符串括起来。这里的单引号、,双引号或方括号称为定界符许多常量都有定界符。定界,符虽然不作为常量本身的内容,但它规定了常量的类型,及常量的起始和终止界限。,例如:,“,12345“,,”你好,”,,,ABC,学们好,,,2WC,好,!,4,)日期型常量(,D,),:,日期型常量的定界符是一对花括号。花括号内第一个字,符必须是“,”,,年分必须是,4,位数字,年月日的次序不能,颠倒不能缺省。,例如:,2009-03-03,2000-12-31,1,5.,日期时间型常量,(T):,日期时间型常量包括日期和时间两部分内容:,格式,:,,,。,部分与日期型常量相似,也有传统的和严格的两种格式。,例如,:2009-03-03,9,,,2007-07-22,11:23:35,6.,逻辑型常量,(L):,逻辑型数据只有逻辑真,(.t.,或,.T.),和逻辑假,(.f.,或,.F.),两个值。前后两,个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为,变量名。逻辑型数据只占用,1,字节。,例如,:,在,Visual,Foxpro,中,有如下内存变量赋值语句,:B X=2001-07-28 10:15:20PM Y=.F.M=5123.45 N=$123.45 Z=”123.24”,执行上述赋值语句之后,内存变量,X,Y,M,N,和,Z,的数据类型分别是,A)D,、,L,、,Y,、,N,、,C B)T,、,L,、,N,、,Y,、,C C)T,、,L,、,M,、,N,、,C D)T,、,L,、,Y,、,N,、,S,二、,变量,Visual FoxPro,中变量分为字段变量和内存变量。,(,1,)字段变量就是表中的字段,字段名为变量名值为当前表。字段变量类型在,定义表结构时已定义。字段变量值的改变必须依赖于指针的移动。,(,2,)内存变量是内存中的一块存储,区域,,变量值就是存放在这个存储区域里的,数据,变量的类型取决于变量值的类型。内存变量的数据类型包括:字符,型,(C),、数值型,(N),、货币型,(Y),、日期型,(D),、日期时间型,(T),和逻辑型,(L),。,1,、,简单,的内存变量每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀,M.(,或,M-),,否则系统将访问同名的字段变量。,例如:如果内存变量和字段变量均有变量名“姓名”,那么引用引用内存变量的,正确方法是,D,A)M.,姓名,B)M-,姓名,C),姓名,D)A),和,B),都可以,2,、数组(,1,)数组与简单内存变量不同,它是内存中一片存储区域,数组中的每个变量称为数组元素。每个数组的数据类型可以不相同,每个数组通过数组名及相应的下标来访问。规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为,1,。,格式:,Dimension,数组名,(,下标上限,1,下标上限,2),Declare,数组名,(,下标上限,1,下标上限,2),例如,:Dimension a(3),Dimenson y(2,3),在使用数组和数组元素时,应注意如下问题。,(1),在一切使用简单内存变量的地方,均可以使用数组元素。,(2),赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。,(3),在同一个运行环境下,数组名不能与简单变量名重复。,(4),在赋值语句中的表达式位置不能出现数组名。,(5),可以用一维数组的形式访问二维数组。,(6),在,Visual FoxPro,中说明数组后,数组的每个元素在未赋值之前的默认值是,.F.,例如,:Dimension y(2,3),Store 50 to y(2,1),?y(2,1),y(4),很显然,y(2,1)=y(4)=50,3,、内存变量常用命令,(,1,)内存变量的赋值格式,1,:,=,格式,2,:,STORETO,说明:格式,1,一次只能给一个变量赋值。,格式,2,一次可以给多个以逗号分隔的变量赋值。,(,2,)表达式值的显示格式,1,:?,(在下一行显示若干个表达式的值)格式,2,:?,(在同一行显示表达式的值),例如:,ZF1=“,西安”,L1=.T.,S1=$500.89,S2=-234.456,STORE 2009-03-03 TO RQ1,RQ2,?ZF1,L1,S2,S2,RQ1,RQ2,3.,内存变量的显示,格式,1,:,LIST MEMORYLIKETO PRINTER,或,TO FILE,格式,2,:,DISPLAY MEMORYLIKETO PRINTER,或,TO FILE,4.,内存变量的清除,格式,1,:,CLEAR MEMORY,格式,2:RELEASE,格式,3,:,RELEASE ALLEXTENDED,格式,4,:,RELEASE ALLLIKE,或,EXCEPT,例如,:,CLEAR MEMORY,DIMENSION Y(2,3),STORE,你好,“,TO X,X1,Y(1,1),Y(3)=2009-03-03,X2=134.234,LIST MEMORY LIKE Y*,RELEASE ALL LIKE Y*,LIST MEMORY LIKE X*,注,:,如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在内存变,量名前加上前缀,M.(,或,M-),,否则系统访问的将是同名的字段变量。,三、表达式(通过特定的运算符将表达试常量、变量、函数连接起来的式子。),1.,数值表达式(,1,)算术运算优先级。数值表达式中的算术运算符有些与日常使用的运算符稍,有区别,算术运算符及其含义和优先级如表,3-1,所示。表,3-1,算术运算符及其优先级,(,2,)求余运算。求余运算,%,和取余函数,MOD(),的作用相同。余数的正负号与除,数一致当表达式中出现*、,/,和,%,运算时,它们具有相同的优先级。,2.,字符表达式由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据,字符型数据只能进行两种运算,(+,、,-),,它们的优先级相同。“,+”,首尾连接前后两个字符串形成一个新的字符串;,“,-”,连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部,例如:,S1=”1232 “,S2=”ABC“,?,S1+S2,,,S1-S2,,,S2-S1+S2,3.,日期时间表达式日期时间表达式中可以使用的运算符也有“,+”,和“,-”,两个,其格式也有一定的限制,不能任意组合,如不能用运算符“,+”,将两个,连接起来。,4.,关系表达式关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来而形成的,即:,。关系运算符及其含义如表,3-2,所示,它们的优先级相同。,表,3-2,关系运算符,说明:,(,1,)数值型和货币型数据比较(按数值的大小比较)。,(,2,)日期和日期时间型数据比较(早的日期或时间小,晚的日期或时间大),(,3,)逻辑型数据比较(,.T.,大于,.F.,),(,4,)子串包含测试(测试前字符串是否为后字符串的子字符串),(,1,)设置字符的排序次序当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦,发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小,(,2,)字符串,精确,比较与,EXACT,设置在用双等号运算符比较两个字符串时,只有当两个字符串完全相同,(,包括空,格及各字符的位置,),时,运算结果才会是逻辑真,.T.,,否则为逻辑假,.F.,。,Set exact on,短的填补空格,等长比较。,Set exact off,只要左右字符串前面部分相同,即为真值。,6,、逻辑表达式,(,1,)逻辑表达式逻辑运算符的运算规则如表,3-3,表,其中,和,各代表两个逻辑型常量。,表,3-3,逻辑运算规则,2.,运算符优先级,:.NOT.,或!,(,逻辑非,),、,.AND.(,逻辑与,),、,.OR.(,逻辑或,),依次降低。,提示:算术运算符,字符运算符和日期运算符,关系运算符,逻辑运算符,四、函数,函数特点:自由变量(或参数)的值,经过某些特定的运算后,得到相应的函,数值。,格式:函数名(自变量,1,,自变量变,,,自变,N,),类型:每个函数的自变量和函数值都有规定的数据类型。,掌握,:(,1,),自变量类型 (,2,)函数名和功能 (,3,)函数值类型,1,、数值函数,特点:自变量和返回值都是数值型数据,(,1,)绝对值函数,格式:,ABS,(,),功能:,ABS(),返回指定的数值表达式的绝对值。,(,2,)求平方根函数,格式:,SQRT(),功能:返回指定表达式的平方根,表达式的值不能为负。,(,3,)求整数函数,格式:,INT(),功能:,INT(),返回指定数值表达式的整数部分。,(,4,)四舍五入函数,格式:,ROUND(,,,),功能:返回,在指定位置四舍五入后的结果,,指明,四舍五入的位置。若,大于等于,0,,表示的是要保留的小数,位,若小于,0,,则表示整数部分的舍入位数。,例如,:?,ROUND(123.456,2),X=6789.5678,?ROUND(X,3),ROUND(X,0),ROUND(X,-1),ROUND(X,-3),(,6,)求余数函数,格式:,MOD(,,,),功能:返回两个数相除后的余数。余数的正、负号与除数相同。如果被除数与,除数同号,则函数值为两数相除的余数;如果异号,则函数值为两数相,除的余数再加上除数的值。,例如:?,MOD(15,4,),MOD(15,-4,),MOD,(-15,4,),MOD,(-15,-4,),(,7,)求最大值和最小值函数,格式:,MAX(,,,,,),MIN(,,,,,),功能:,MAX(),返回自变量中的最大值。,MIN(),返回自变量中的最小值。,例如:?,MAX,(,5,6,7,),,MIN,(,”,2”,”12”,”05”,),2,、字符函数,特点:自变量一般是字符型数据的函数,(,1,)求字符串长度函数,格式:,LEN(),功能:返回指定字符表达式值的长度,即字符个数。,(,2,)大小写转换函数,格式:,LOWER(),UPPER(),功能:,LOWER(),将指定表达式中的大写字母转换成小写字母,;,其他字符不,变,;UPPER(),将指定表达式中的小写字母转换成大写字母,;,其他字符不变。,3.,空格字符串生成函数,格式:,SAPCE(),功能:返回由指定数目的空格组成的字符串。,4.,删除前后空格函数,格式:,TRIM(),LTRIM(),ALLTRIM(),功能:,TRIM(),删除指定表达式尾部的空格。,LTRIM(),删除指定表达式前端的空格。,ALLTRIM(),删除指定字符串前端和尾部的空格。,例如:,?TRIM(“ABCD ”),LTRIM(“12ABCD”),ALLTRIM(“ABC ”-”B12 ”),(,6,)计算子串出现次数函数,格式:,OCCURS(,,,),功能:返回第一个字符串在第二个字符串中出现的次数。,(,7,)求子串位置函数,格式:,AT(,,,,,),ATC(,,,,,),功能:,AT(),返回第一个字符串的首字符在第二个字符串中出现的位置。前提条,件是第一个字符串必须是第二个字符串的子串,否则函数返回值为,0,。,ATC(),功能与,AT(),类似,但不区分字符串中字符的大小写。,(,8,)子串替换函数,格式:,STUFF,,,,,,,),功能:用,的值替换,中由,和,指定,的一个子串。替换和被替换的字符不一定相等。如果,为,0,则插在由,指定的字符前面。如果,值是空,串,那么,中由,和,指明的子串被删去。,例如:,STORE GOOD BYE,!,TO S1,STORE MORNING TO S2,?STUFF(S1,6,3,S2),STUFF(S1,1,4,S2),结果:,GOOD MORNING,!,MORNING BYE,!,(,9,)字符串匹配函数格式:,LIKE(,,,),功能:比较两个字符串对应位置上的字符。其中,中可包含通配,符*和?。*表示若干个任意字符,?表示任意一个字符。,3,、日期和时间函数,(,1,)系统日期和时间函数,格式:,DATE(),TIME(),功能:,DATE(),返回当前系统日期,函数值为日期,TIME(),以,24,小时制返回当前系,统时间,函数值为字符型;,DATETIME(),返回肖前系统日期时间,函数值,为日期时间型。,(,2,)求年份、月份和天数的函数,格式:,YEAR(|),MONTH(|),DAY(|),功能:,YEAR(),从指定的日期表达式或日期时间表达式中返回年份。,MONTH(),从,指定的日期表达式或日期时间表达式中返回月份,DAY(),从指定的日期表达,式或日期时间表达式中返回月份的天数。这,3,个函数的返回值均为数值,型数据,4,、数据类型转换函数,特点:数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。,1.,数值转换成字符串函数,格式:,STR(,,,,,),功能:将,的值转换成字符串,转换时根据需要自动四舍五入。,例如:课本,66,页。,(,2,)字符串转换成数值函数格式:,VAL(),功能:将由数字符,(,包括符号、小数点,),组成的字符型数据转换成数值型数据。,例如:,?VAL(,“,34.85AB,”,),VAL(,“,315,计划,”,),VAL(,“,ABC123456,”,),(,3,)字替串转换成日期或日期时间函数格式:,CTOD(),功能:,CTOD(),将,转换成日期型数据,(,4,)日期或日期时间转换成字符串函数格式:,DTOC(|,,,1),功能:,DTOC(),将日期型数据或日期时间型数据的日期部分转换成字符串。,(,5,)宏替换函数,格式:,.,功能:替换出字符型变量的内容,即的值是变量中的字符串。如果该函数与,其后面的字符无明显分界,则要用“,.”,作为函数结束标识宏替换可以嵌套,使用。,例如:,(,1,)城市,=“,北京”(,3,),ABC=“,Foxpro,”(4)BJ=“96(2)”,STORE“,向,&,城市,.,致敬,!”TO A X=“B”XSK=“XS”+BJ,?A Y=“C”USE&XSK,(,2,),X1=“10”Z=“A&”+”X&”+”Y”,X2=“20”?&Z,?&X1*&X2,5,、测试函数,(,1,)空值,(NULL),测试函数 格式:,ISNULL(),功能:判断一个表达式的运算结果是否为,NULL,值。,(,2,)数据类型测试函数 格式:,VARTYPE(,,,),功能:测试表达式的类型,返回一个大写字母,函数值为字符型。字母含义,如表,3-4,所示。表,3-4 VARTYPE(),测得的数据类型,(,3,)表文件尾测试函数格式:,EOF(|),功能:测试当前表文件,(,若默认自变量,),或指定表文件中的记录指针是否指向文,件尾,若是,则返回逻辑真,(.T.),,否则为逻辑假,(.F.),。若在指定工作区,上没有打开表文件,则函数返回逻辑假,(.F.),,若表文件中不包含任何记,录,则函数返回逻辑真,(.T.),。,(,4,)表文件首测试函数格式:,BOF(|),功能:测试当前表义件,(,若默认自变量,),或指定表文件中的记录指针是否指向文件,首,若是,则返回逻辑真,(.T.),,否则为逻辑假,(.F.)(,若在指定工作区上没有,打开表文件,则函数返回逻辑假,(.F.),,若表文件中不包含任何记录,则函,数返回逻辑真,(.T.),。,(,5,)条件测试函数 格式:,IIF(,,,,,),功能:测试,的值,若为逻辑真,(.T.),,则函数返回,的,值,否则返回,的值,和,的类型可以不相同。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服