




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 二 常用函数与表达式的使用一、实验目的:1、了解数值、日期等重要函数的格式和使用方法;2、表达式的使用二、实验要示:1、学会各种函数格式要求;2、函数的运算;3、表达式的书写与应用。二、实验内容与步骤:函数是用程序来实现的一种数据运算或转换。每一个函数都有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一个运算结果,称为函数值或返回值。函数可以用函数名加一对圆括号调用,自变量放在圆括里,如LEN(X);函数调用可以出现在表达式里,表达式将函数的返回值作为自己运算的对象。函数调用也可以作为一条命令使用,但此时系统忽略函数的返回值。1.数值函数数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。(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(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(,)功能:返回指定表达式在指定位置四舍五入后的结果. 指明四舍五入的位置.若大于等于0,那么它表示的是要保留的小数位数. 若小于0,那么它表示的是整数部分的舍入位数.例:X=345.345?ROUND(X,2),ROUND(X,1),ROUND(X,0),ROUND(X,-1) 345.34 345.3 345 350(5)求余函数格式:MOD(,)功能:返回两个数值相除后的余数. 是被除数,是除数.余数的正负号与除数相同.如果被除数与除数同号,那么函数值即两个数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值.例:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)1 -2 2 -12.字符函数(1)求字符串长度函数格式:LEN()功能:返回指定字符表达式值的长度,即所包含的字符个数.函数值为数值型.例: X=”中文VISUAL FOXPRO6.0”?LEN(X)20(2)大小写转换函数格式:LOWER()UPPER()功能:LOWER()将指定表达式中的大写字转换成小写字母,其他字符不变.UPPER()将指定表达式中的小写字转换成大写字母,其他字符不变.例:?LOWER(X1y2A*),upper(n=1)x1y2a* N=1(3)空格字符串生成函数格式:SPACE()功能: 返回由指定数目的空格组成的字符串(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(SS),LEN(ALLTRIM(SS) 8 5 7 4(5)取子串函数格式:LEFT(,长度)RIGHT(,长度)SUBSTR(,长度)功能:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值.RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值.SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值若缺省第三个自变量,则函数从指定位置一直取到最后一个字符.例:STROE “GOOD BYE!”TO X?LEFT(X,2),SUBSTR(X,6,2)+SUBSTR(X,6),RIGHT(X,3) GO BYBYE! YE!(6)求子串位置函数格式:AT(,)ATC(,)功能:AT()的函数值为数值型.如果是的字串,则返回值的首字符在值中的位置;若不是子串,则返回0. 用于表明要在值中搜索值的第几次出现.其默认值为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)数值转换成字符串格式:STR(,长度,)功能:将的值转换成字符串,转换时根据需要自动进行四舍五入,返回字符串的理想长度L应该是值的整数部分位数加上值,再加上1位小数点.如果值大于L,则字符串加前导空格以满足规定的要求;如果大于等于值的整数部分位数(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;如果值小值的整数部分位数,则返回一串星号(*).小数位数的默认值为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 YSTORE”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 为每一个打开的表设置了一个内部使用的记录指针,指向正在被操作的记录,该记录称为当前记录.记录指针的作用是标识表的当前记录.(1) 当前记录号函数格式:RECNO()功能:返回指定的工作区中所打开的库文件的当前记录号.若该工作区中未打开表文件,则返回数值0.若省略,则表示当前工作区.N:为工作区代号, C:为工作区别名例:USE AA?RECN() 1SKIP 2 ?RECN() 3GO 5?RECN() 5SKIP 3?RECN() 2(2) 表文件首测试函数格式: BOF()功能:测试指定表文件中的记录指针是否指向文件首,若是返回.T.,否则返回.F.,表文件首是指第一条记录之前的位置.若缺省自变量,则测试当前表文件. 若该工作区中未打开表文件,则返回数值.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(表的别名|)功能:测试指定的表,或在指定工作区中所打开的表,记录指针所指的当前记录是否有删除标记”*”,若有为真,否则为假.若缺省|,则测试当前工作区中所找开的表.例:USE AAGO 3DELE ?DELE() .T.(5) 条件测试函数格式:IIF(,)功能:测试的值,若为真,函数返回的值,否则返回的值.例:X=100Y=200?IIF(XY,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*912*4-6分析:先计算关系运算符两边的数值,再进行比较.结果为.T.。(4)逻辑表达式?9*65*8.AND.(69-45)12分析:先计算逻辑运算符两边的关系表达式之值,再进行逻辑运算,结果为.T.。(5)日期表达式?2002-07-18-20分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能家居系统互联互通标准下的智能家居行业市场细分报告
- 山西省资料员考试题库及答案
- 三国演义考试题及答案
- 2025年建设用地流转补偿协议
- 注塑员考试题及答案
- 中秋节主题活动方案范例(2篇)
- 2025年商业租赁权合同让渡协议
- 2025年社区管理服务托管合同样本
- 矿山法考试题及答案
- 漆工考试题及答案
- 《紫藤萝瀑布》《丁香结》《好一朵木槿花》
- 2023柔性棚洞防护结构技术规程
- 浙江工业大学学生综合测评分细则
- 河流地貌的发育 - 侵蚀地貌
- 离网光伏发电系统详解
- 英语初高中衔接音标
- 广告文案写作(第二版)全套教学课件
- 《国家电网公司电力安全工作规程(配电部分)》
- 金融学黄达ppt课件9.金融市场
- GB/T 3758-2008卡套式管接头用锥密封焊接接管
- GA/T 1105-2013信息安全技术终端接入控制产品安全技术要求
评论
0/150
提交评论