版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上实 验 二 常用函数与表达式的使用一、实验目的:1、了解数值、日期等重要函数的格式和使用方法;2、表达式的使用二、实验要示:1、学会各种函数格式要求;2、函数的运算;3、表达式的书写与应用。二、实验内容与步骤:函数是用程序来实现的一种数据运算或转换。每一个函数都有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一个运算结果,称为函数值或返回值。函数可以用函数名加一对圆括号调用,自变量放在圆括里,如LEN(X);函数调用可以出现在表达式里,表达式将函数的返回值作为自己运算的对象。函数调用也可以作为一条命令使用,但此时系统忽略函数的返回值。1.数值函
2、数数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。(1)绝对值和符号函数格式:ABS(<数值表达式>)SIGN(<数值表达式>)功能:ABS()返回指定的数值表达式的绝对值.SIGN()返回指定数值表达式的符号.当表达式的运算结果为正、负、零时,函数值分别为1,-1和0。例:STORE 10 TO X?ABS(5-X),ABS(X-5),SIGN(5-X),SIGN(X-10)5 5 -1 0(2)求平方根函数格式:SQRT(<数值表达式>)功能: 返回指定数值表达式的平方根。自变量表达式的值不能为负。例:?SQRT(2*SQRT
3、(2)1 68STORE 100 TO X?SIGN(X)*SQRT(ABS(X) -10(3)求整数函数格式:INT(<数值表达式>)功能:返回指定数值表达式的整数部分。例:STORE 5.8 TO X?INT(X),INT(-X)5 -5(4)四舍五入函数格式:ROUND(<数值表达式1>,<数值表达式2>)功能:返回指定表达式在指定位置四舍五入后的结果. <数值表达式2>指明四舍五入的位置.若<数值表达式2>大于等于0,那么它表示的是要保留的小数位数. 若<数值表达式2>小于0,那么它表示的是整数部分的舍入位数.例:
4、X=345.345?ROUND(X,2),ROUND(X,1),ROUND(X,0),ROUND(X,-1) 345.34 345.3 345 350(5)求余函数格式:MOD(<数值表达式1>,<数值表达式2>)功能:返回两个数值相除后的余数. <数值表达式1>是被除数,<数值表达式2>是除数.余数的正负号与除数相同.如果被除数与除数同号,那么函数值即两个数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值.例:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)1 -2 2 -12.字符函数(1)
5、求字符串长度函数格式:LEN(<字符表达式>)功能:返回指定字符表达式值的长度,即所包含的字符个数.函数值为数值型.例: X=”中文VISUAL FOXPRO6.0”?LEN(X)20(2)大小写转换函数格式:LOWER(<字符表达式>)UPPER(<字符表达式>)功能:LOWER()将指定表达式中的大写字转换成小写字母,其他字符不变.UPPER()将指定表达式中的小写字转换成大写字母,其他字符不变.例:?LOWER(X1y2A*),upper(n=1)x1y2a* N=1(3)空格字符串生成函数格式:SPACE(<数值表达式>)功能: 返回由指
6、定数目的空格组成的字符串(4)删除前后空格函数格式:TRIM(<字符表达式>)LTRIM(<字符表达式>)ALLTRIM(<字符表达式>) 功能:TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串ALLTRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串例:STORE SPACE(1)+”TEST”+SPACE(3) TO SS?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)TESTTEST TEST?LEN(SS),LEN(TRIM(SS),LEN(LTRIM(S
7、S),LEN(ALLTRIM(SS) 8 5 7 4(5)取子串函数格式:LEFT(<字符表达式>,长度)RIGHT(<字符表达式>,长度)SUBSTR(<字符表达式>,<起始位置>,长度)功能:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值.RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值.SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值若缺省第三个自变量<长变>,则函数从指定位置一直取到最后一个字符.例:STROE “GOOD BYE!”TO X?LEFT(X,2),SUBST
8、R(X,6,2)+SUBSTR(X,6),RIGHT(X,3) GO BYBYE! YE!(6)求子串位置函数格式:AT(<字符表达式1>,<字符表达式2>,<数值表达式>)ATC(<字符表达式1>,<字符表达式2>,<数值表达式>)功能:AT()的函数值为数值型.如果<字符表达式1>是<字符表达式2>的字串,则返回<字符表达式1>值的首字符在<字符表达式2>值中的位置;若不是子串,则返回0. <数值表达式>用于表明要在<字符表达式2>值中搜索<
9、字符表达式1>值的第几次出现.其默认值为1.ATC()与AT()功能类似,但在子串比较时不区分字母大小写.例:X=”this is visual foxpro”?at(“fox”,x),at(“Fox”,x) 16 03.日期和时间函数 (1)系统日期和时间函数格式:DATE() TIME() DATETIME()功能:DATE()返回当前系统日期,涵数值为日期型. TIME()以24小时制、HH;MM:SS格式返回当前系统时间,函数值为字符型。DATETIME()返回当前系统日期时间,函数值为日期时间型。例:?DATE(),TIME(),DATETIME()4函数类型转换函数(1)数值
10、转换成字符串格式:STR(<数值表达式>,长度,<小数位数>)功能:将<数值表达式>的值转换成字符串,转换时根据需要自动进行四舍五入,返回字符串的理想长度L应该是<数值表达式>值的整数部分位数加上<小数位数>值,再加上1位小数点.如果<长度>值大于L,则字符串加前导空格以满足规定的<长度>要求;如果<长度>大于等于<数值表达式>值的整数部分位数(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;如果<长度>值小<数值表达式>值的整数部分位数,则返回一串星
11、号(*).小数位数的默认值为0,<长度>的默认值为10.例:N=-123.456?”N=”+STR(N,8,3)N=-123.456?STR(N,9,2),STR(N,6,2),STR(N,3),STR(N,6),STR(N) -123.46 -123.5 * -123 -123(2)字符串转换成数值格式:VAL(<字符表达式>)功能:将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据。若字符串内出现非数字字符,那么只转换前面部分,若字符不是数字符号,则返回数值0,并忽略前导空格。例:STORE“-123.”TO XSTORE”45”TO YSTO
12、RE”A45”TO Z?VAL(X+Y),VAL(X+Z),VAL(Z+Y) -123.45 -123.00 0.00(3)宏替换函数格式:&<字符型变量>.功能:替换出字符型变量的内容,即&的值是变量中的字符串.如果该函数与其后的字符无明确分界,则要用”.”作函数结束标识.例:X=”1” Y=”2”M=X+Y?&M35.测试函数系统对表中的记录是逐条进行处理的.对于一个打开的表文件,在某一时刻只能处理一条记录.VISUAL FOXPRO 为每一个打开的表设置了一个内部使用的记录指针,指向正在被操作的记录,该记录称为当前记录.记录指针的作用是标识表的当前记录
13、.(1) 当前记录号函数格式:RECNO(<N/C>)功能:返回指定的工作区中所打开的库文件的当前记录号.若该工作区中未打开表文件,则返回数值0.若省略<N/C>,则表示当前工作区.N:为工作区代号, C:为工作区别名例:USE AA?RECN() 1SKIP 2 ?RECN() 3GO 5?RECN() 5SKIP 3?RECN() 2(2) 表文件首测试函数格式: BOF(<N/C>)功能:测试指定表文件中的记录指针是否指向文件首,若是返回.T.,否则返回.F.,表文件首是指第一条记录之前的位置.若缺省自变量,则测试当前表文件. 若该工作区中未打开表文件
14、,则返回数值.F.。例:USE AA?BOF() .F.SKIP -1 ?BOF() .T.(3) 表文件尾测试函数功能:测试指定表文件中的记录指针是否指向文件尾,若是返回.T.,否则返回.F.,表文件尾是指最后一条记录之后的位置.若缺省自变量,则测试当前表文件. 若该工作区中未打开表文件,则返回数值.F.。例:USE AA?EOF() .F.GO BOTTOM ?EOF() .F.SKIP ?EOF() .T.注意:如果打开的是表是空表,那么BOF()和EOF()的值都是为.T.(4) 记录删除测试函数格式:DELETED(表的别名>|<工作区号>)功能:测试指定的表,或在
15、指定工作区中所打开的表,记录指针所指的当前记录是否有删除标记”*”,若有为真,否则为假.若缺省<表的别名>|<工作区号>,则测试当前工作区中所找开的表.例:USE AAGO 3DELE ?DELE() .T.(5) 条件测试函数格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>)功能:测试<逻辑表达式>的值,若为真,函数返回<表达式1>的值,否则返回<表达式2>的值.例:X=100Y=200?IIF(X>Y,X-30,Y-50)1502、Visual FoxPro表达式的使用(1)算术表达式在命令窗口下输入下列命令,验证算术表达式的结果:?5-6*2%5分析:根据算术运算的优先级别,应先进行乘法计算6*2得12,再对5取模,得2,最后5减2得3。(2)字符表达式?“GOOD”+“ MORNING”分析;此为字符串的完全连接,将一个字符串连接到前一个字符串的尾部(包括空格),结果为:GOOD MORNING(3)关系运算符?8*9>12*4-6分析:先计算关系运算符两边的数值,再进行比较.结果为.T.。(4)逻辑表达式?9*6>5*8.AND.(69-45)>12分析:先计算逻辑运算符两边的关系表达式之值,再进行逻辑运算,结果为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025下半年贵州贵阳市花溪区事业单位引进高层次人才12人高频重点提升(共500题)附带答案详解
- 2025下半年四川内江市市本级部分事业单位招聘工作人员20人高频重点提升(共500题)附带答案详解
- 2025下半年云南红河蒙自市事业单位招聘工作人员105人高频重点提升(共500题)附带答案详解
- 2025上海地铁第二运营限公司退役军人招聘120人高频重点提升(共500题)附带答案详解
- 2025上半年四川广元青川县事业单位招聘97人历年高频重点提升(共500题)附带答案详解
- 2025上半年台州市级事业单位公开招聘工作人员历年高频重点提升(共500题)附带答案详解
- 纸张消防班组施工合同
- 高铁建设简易合同模板简化版
- 土石方工程招标文
- 设计合同履行与监督细节
- 辽宁2025年高中学业水平合格性考试物理试卷试题(含答案详解)
- 2024年人教版三年级上数学教学计划和进度安排
- 《电能计量知识介绍》课件
- 2025届甘肃省武威市重点中学高三六校第一次联考英语试卷含解析
- 2023-2024学年山东省潍坊市高新区六年级(上)期末数学试卷(含答案)
- 东方明珠课件
- 2024年教师师德师风工作计划(2篇)
- 物流行业服务质量保障制度
- 养老院物资采购流程及制度
- 眼镜店年终总结及计划
- 公务用车车辆安全培训课件
评论
0/150
提交评论