




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二讲第二讲 VFPVFP的数据及其运算的数据及其运算内容提要内容提要 运算符运算符 表达式表达式 函数函数运算符及表达式运算符及表达式 运算符是在运算符是在VFPVFP中用来进行中用来进行运算的符号。运算的符号。 表达式是由数据、数据存储表达式是由数据、数据存储容器和运算符组成的运算式。容器和运算符组成的运算式。 在在VFPVFP系统中根据不同的运算符及系统中根据不同的运算符及表达式结果的不同,表达式可以分为表达式结果的不同,表达式可以分为以下五种:以下五种: 1.1.常见的表达式常见的表达式 算术表达式的运算结果是算术表达式的运算结果是。特别注意一些特别注意一些符号的变化符号的变化【例】写
2、出数学式 所对应的算术表达式 221r2mgm该数学式子对应的VFP算术表达式为: g*m1*m2/(2+r*2) 或 g*m1*m2/(2+r2) 或 g*m1*m2/(2+r*r) 字符表达式运算的结果是字符表达式运算的结果是【例】 字符连接运算示例。?计算机+世界计算机世界?Ihavea+BookIhaveaBook?计算机-世界计算机世界?Ihavea-BookIhaveaBook【例】 字符串包含运算示例。?计算机$计算机世界.T.?“book $ I have a Book.F. 日期和日期时间运算符分为日期和日期时间运算符分为“+ +”和和“- -”两种,其作用分别是两种,其作用
3、分别是在日期数据上增加或减少天数,在日期数据上增加或减少天数,在日期时间数据上增加或减少秒在日期时间数据上增加或减少秒数数。注意:日期型不能和日期型数据相加注意:日期型不能和日期型数据相加格式结果及类型+日期型日期型。指定日期若干天后的日期 + 日期型日期型。指定日期若干天后的日期-日期型日期型。指定日期若干天前的日期- 数值型数值型。两个指定日期相差的天数+日期时间型日期时间型。指定日期时间若干秒后的日期时间 +日期时间型日期时间型。指定日期时间若干秒后的日期时间- 日期时间型日期时间型。指定日期时间若干秒前的日期时间- 数值型数值型。两个指定日期时间相差的秒数格式结果及类型【例】日期和日期
4、时间表达式运算示例。d1= 2008-09-01+2d2= 2008-09-01-2? d1-d24 关系表达式的运算结果关系表达式的运算结果为为。各种类型数据的比较规则如下:各种类型数据的比较规则如下: 数值型和货币型数据根据其代数数值型和货币型数据根据其代数值的大小进行比较。值的大小进行比较。日期型和日期时间型数据进行比较日期型和日期时间型数据进行比较时,时,越新的日期或时间越大越新的日期或时间越大。逻辑型数据比较时,逻辑型数据比较时,.T.T.比比.F.F.大大。字符型数据字符型数据( (字符串字符串) )比较时,对于西文字符,比较时,对于西文字符,按其按其ASCIIASCII码值的大小
5、进行排列;对于汉字字码值的大小进行排列;对于汉字字符,在默认状态下,根据它们的拼音顺序比符,在默认状态下,根据它们的拼音顺序比较大小。较大小。当运算对象为字符型时,可用命令当运算对象为字符型时,可用命令SET SET EXACT ON/OFFEXACT ON/OFF来设置来设置“= =”是否为精确比是否为精确比较。较。 在非精确比较时,在关系表达式的在非精确比较时,在关系表达式的格式中,只要格式中,只要后一个表达式是前一个表后一个表达式是前一个表达式的前缀达式的前缀,其结果便为真。,其结果便为真。【例例】关系运算示例。关系运算示例。SET EXACT OFFSET EXACT OFF?1244
6、.3322?1244.3322?AB ?AB ?助教助教教授教授 ? ? ABVABV ABTABT .f.f. zc=zc=教授教授 ? zc=? zc=教授教授, , 教授教授=zc, zc=zc, zc=教授教授 ?321 ?321 .T. .T.F.F.T.T.T.T.T. .F. .F.T. .F. .F.操作符操作符/ /操作数类型不匹配操作数类型不匹配 逻辑表达式的运算结果仍是逻辑表达式的运算结果仍是该运算符该运算符只有一个只有一个操作对象操作对象逻辑运算真值表逻辑运算真值表ABA .AND.BA .OR. B.NOT.A.T.T.T.T.F.T.F.F.T.F.F.T.F.T.
7、T.F.F.F.F.T.【例】逻辑运算示例。x=8y=15? x5, y5 OR y5 AND y10, NOT y10.T. .F. .T. .F. .T.2. 2. 表达式的输出表达式的输出 命令格式:命令格式: 函函 数数 函数具有特定的功能,分为函数具有特定的功能,分为系系统函数统函数和和自定义函数自定义函数两类。两类。 函数具有函数具有函数名、参数和函数函数名、参数和函数值三个要素值三个要素,有的函数缺省参数。,有的函数缺省参数。函数调用的一般形式为:函数调用的一般形式为: 函数名(函数名( 参数表参数表 )一、数值处理函数一、数值处理函数1 1)取整函数)取整函数 INT(INT(
8、)格式:格式:【例】INT() 函数的使用。 x=-26.72 ?INT(x),INT(-x)-26,262)2)求余数函数求余数函数 格式:格式:MOD(MOD(,)2)例如:函数MOD(27,4)的值为 MOD(27,-4)的值为MOD(-27,4)的值为MOD(-27,-4)的值为3-11-3函数值与函数值与同号同号【例】MOD()函数和INT()函数的使用。X=123X1=INT(X/100) X2=INT(MOD(X,100)/10) X3=MOD(X,10) ?X1+10*X2+100*X3& x的十位数字结果:321& x的个位数字& x的百位数字3)3)
9、四舍五入函数四舍五入函数 格式:格式: ROUNDROUND(,2)【例】ROUND()函数的使用。x=486.735?ROUND(x,4-2), ROUND(x,1), ROUND(x,0), ROUND(x,-1),ROUND(X,-2)486.74 486.7 487 490 5006)6)随机函数随机函数 格式:格式: RANDRAND()()7)7)函数函数 格式:格式: PIPI()()4)4)求平方根函数求平方根函数 格式:格式: SQRTSQRT( )5)5)求指数函数求指数函数 格式:格式: EXPEXP( )注意:自然底数e=2.71828183 二、二、 字符串处理函数字
10、符串处理函数1)1)求字符串长度函数求字符串长度函数LEN(LEN()格式:格式:2)2)删除字符串前后空格函数删除字符串前后空格函数RTRIM(RTRIM()LTRIM(LTRIM()ALLTRIM(ALLTRIM()格式:格式:【例】RTRIM()、LTRIM()、ALLTRIM()函数的使用。STORE SPACE(1)+FOX+SPACE(3) TO SS? RTRIM(SS)+LTRIM(SS)+ALLTRIM(SS)FOXFOXFOX7 4 6 3? LEN(SS),LEN(RTRIM(SS), LEN(LTRIM(SS),LEN(ALLTRIM(SS)4)4)求子串位置函数求子串
11、位置函数格式:格式:AT(AT(, , ,)3)3)生成空格函数生成空格函数SPACE(SPACE()格式:格式:【例】?LEN(SPACE(8)-SPACE(3) 11【例】 AT() 函数的使用。STORE This is Visual FoxPro TO x? AT(FOX,x), AT(is,x,3),AT(xo,x)0 10 05)5)取子串函数取子串函数格式:格式:LEFT(LEFT(,)RIGHT(RIGHT(,)SUBSTR(SUBSTR(, ,)【例】取子串函数的使用。STORE GOOD BYE! TO X? LEFT(X,2), SUBSTR(X,6,2)+SUBSTR(
12、X,6), RIGHT(X,3)GO BYBYE! YE! 6)6)宏替换函数宏替换函数 格式:格式:& . .【例例】宏替换函数的使用。宏替换函数的使用。m=32m=32* *SQRT(4)SQRT(4)? INT(34.15+&m) ? INT(34.15+&m) i=1i=1j=2j=2x12= Goodx12= Good Good= made in china Good= made in china ? x&i.&j, &x12? x&i.&j, &x12 主窗口显示: 98主窗口显示: Good made in
13、china 【例例】宏替换函数的使用。宏替换函数的使用。a1=5a1=5a2=6a2=6B=B=“+?a1&b.a2?a1&b.a2x=x= XSDAXSDAUse &x.dbf Use &x.dbf y= y= list memory &y like a&y like a* *A= A= 457 ? ? abc&a.457 , abc&abc & 打开数据表XSDA.dbf主窗口显示: A开头的内存变量主窗口显示: abc457457 abc&abc 主窗口显示: 11三、三、 日期时间函数日期时间函数 1)1)
14、系统日期和系统时间函数系统日期和系统时间函数 格式:格式:DATE()DATE()TIME()TIME()DATETIME() DATETIME() 字符型字符型 2)2)求年份、月份和天数函数求年份、月份和天数函数 格式:格式:YEARYEAR(|)MONTHMONTH(|)DAYDAY(|)【例】YEAR()、MONTH()、DAY()函数的使用。 STORE 2009-03-16 TO d ? YEAR(d),MONTH(d),DAY(d)主窗口显示:2009 3 16返回值返回值4位位四、数据类型转换函数四、数据类型转换函数 1)1)字符串转换为数值函数字符串转换为数值函数 格式:格式
15、:VAL(VAL()【例】VAL()函数的使用。?VAL(X12.8),VAL(-35.875),VAL(3A.79)主窗口显示:0.00 -35.88 3.00 2)2)数值转换成字符串函数数值转换成字符串函数 格式:格式:STR(STR(,)【例】STR()函数的使用。STORE -348.387 TO P?“P=+STR(P,8,3)P=-348.387?STR(P,9,2),STR(P,6,2),STR(P,3),STR(P,6),STR(P),STR(P,10,4)主窗口显示:-348.39 -348.4 * -348-348 -348.3870 3)3)字符与字符与ASCIIASC
16、II之间的转换函数之间的转换函数 格式:格式:ASC(ASC()CHR(CHR()【例】 字符与ASCII码之间的转换函数的使用。ch1=“Ych2=CHR(ASC(ch1)+ASC(“d)-ASC(“D)? ch2主窗口显示:y 4)4)日期或日期时间与字符串转换函数日期或日期时间与字符串转换函数 格式:格式:CTOD(CTOD() DTOC(DTOC(| ,1) ,1)五、测试函数五、测试函数1 1)条件测试函数)条件测试函数 格式:格式:IIF(IIF(,)2) 【例】 条件测试函数的使用。X=200Y=500? IIF(X200,X-10,X+10),IIF(Y200,Y-10,Y+1
17、0)主窗口显示:210 490STORE DATE() TO dSTORE DTOC(d) TO s? s,IIF(LEN(s)=8, 年份是: + STR(YEAR(d),4),s)主窗口显示:09/22/08 年份是:2008思考:如何随机输出字符串YES或NO?2 2)数据类型测试函数)数据类型测试函数 格式:格式:VARTYPE(VARTYPE() 返回的返回的字母字母数据类型数据类型返回的返回的字母字母数据类型数据类型C字符型或备注型字符型或备注型G通用型通用型N数值型、整型、浮数值型、整型、浮点型或双精度型点型或双精度型D日期型日期型Y货币型货币型T日期时间型日期时间型L逻辑型逻辑
18、型XNull值值O对象型对象型U未定义未定义六、系统对话框函数六、系统对话框函数格式:格式:MESSAGEBOX(MESSAGEBOX(, ,)函数名不能省略函数名不能省略对话框类型及含义按钮类型值对话框按钮图标类型值图标默认按钮类型值默认按钮012345“确定”按钮“确定”和“取消”按钮“终止”、“重试”和“忽略”按钮“是”、“否”和“取消”按钮“是”和“否”按钮“重试”和“取消”按钮16324864“终止”图标“问号”图标“感叹号”图标“信息”图标0256512第1个按钮第2个按钮第3个按钮返回值按钮1确定2取消3终止4重试5忽略6是7否函数的返回值【例】 用MESSAGEBOX()输出字符串对话框。?MESSAGEBOX(使用三个图标并带有终止图标 , 3+16+256, 提示信息对话框)显示结果如图所示对话框按钮对话框按钮图标类型图标类型默认按钮默认按钮【例】 用MESSAGEBOX()输出字符串对话框。MESSAGEBOX(成绩表已经生成!,0+64, 学生成绩情况)显示结果如下左图所示。yes=MESSAGEBOX(是否删除该记录? ,4+32, 学生基本情况)?yes显示结果如下右图所示。当选择
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠州城市职业学院《嵌入式技术理论》2023-2024学年第二学期期末试卷
- 锡林郭勒职业学院《建筑安全》2023-2024学年第二学期期末试卷
- 山东农业大学《立体构成(B)》2023-2024学年第二学期期末试卷
- 广东南方职业学院《电子线路CAD创新设计与应用》2023-2024学年第二学期期末试卷
- 重庆电子工程职业学院《实践教学》2023-2024学年第二学期期末试卷
- 北京农学院《电动力学》2023-2024学年第二学期期末试卷
- 山东信息职业技术学院《天然药物化学研究前沿》2023-2024学年第二学期期末试卷
- 郑州旅游职业学院《人体工程学》2023-2024学年第二学期期末试卷
- 甘肃畜牧工程职业技术学院《自动控制系统课程设计》2023-2024学年第二学期期末试卷
- 汉江师范学院《工程概预算》2023-2024学年第二学期期末试卷
- 新疆克州大学生乡村医生专项计划招聘考试真题2024
- 六一儿童节英语介绍课件
- 基于游戏化教学的2025年小学音乐教学设计案例研究报告
- 2025年广东省高三语文5月模拟联测试卷附答案解析
- 快递合作协议书范本
- 2024年河北省魏县事业单位公开招聘医疗卫生岗笔试题带答案
- 肉牛养殖场可行性研究报告
- 《市场分析策略》课件
- 2025安徽蚌埠市龙子湖区产业发展有限公司招聘22人笔试参考题库附带答案详解
- 道路施工现场安全管理措施
- 重庆市八中2024-2025学年高三下学期3月适应性检测(六)语文试题 含解析
评论
0/150
提交评论