第三章 数据与数据运算_第1页
第三章 数据与数据运算_第2页
第三章 数据与数据运算_第3页
第三章 数据与数据运算_第4页
第三章 数据与数据运算_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章数据与数据运算实验31 Visual FoxPro数据与数据运算(一)实验目的1熟悉VFP各类数据及其运算方法。2熟练掌握各类常量、变量、函数与表达式的含义及其输入和输出的格式。(二)实验内容及步骤1常量(1)数值(N)型常量:用于表示正负整数或小数。【实例31】在命令窗口分别输入:? 3.416? 5.863E12? 3.246E-8然后在VFP主窗口观察输出的结果与格式。(2)货币(Y)型常量:用于表示货币值的常量。货币型常量的前置符为$,小数保留4位,超过4位小数,则四舍五入。【实例32】在命令窗口输入:? $123.45678然后在VFP主窗口观察输出的结果与格式。(3)字符(C

2、)型常量:用定界符(" ",' ', )括起来的字符串。【实例33】在命令窗口分别输入:? "ABC"? 'abc'? "ABC"'abc'在VFP主窗口观察输出的结果与格式。(4)日期(D)型常量【实例34】传统格式的日期常量1)在命令窗口分别输入:? 07/08/04能否通过吗?为什么?2)在命令窗口分别输入:SET STRICTDATE TO 0? 07/08/043)在命令窗口分别输入:SET MARK TO "-"或SET MARK TO ".&q

3、uot;? 07/08/04在VFP主窗口中观察日期型常量的显示格式。4)在命令窗口输入:SET CENTURY ON? 07/08/04在VFP主窗口中观察日期型常量的显示格式。5)在命令窗口输入:SET DATE TO ANSI? 07/08/04在VFP主窗口中观察日期型常量的显示格式。【实例35】严格格式的日期常量在命令窗口输入:? 2004-07-08在VFP主窗口中观察日期型常量的显示格式。(5)日期时间(T)型常量【实例36】12小时制与24小时制的时间格式1)系统默认12小时在命令窗口分别输入:? 2004-07-08 03:45:55? 2004-07-08 03:45:55

4、p在VFP主窗口中观察日期时间型常量的显示格式。2)将时间设置为24小时制在命令窗口分别输入:SET HOUR TO 24? 2004-07-08 03:45:55p在VFP主窗口中观察日期时间型常量的显示格式。(6)逻辑(L)型常量:只有逻辑真和逻辑假两个值。【实例37】在命令窗口分别输入:? .T. , .t. , .Y. , .y. , .F. , .f. , .N. , .n.在VFP主窗口中观察逻辑型常量的显示格式。2变量【实例38】内存变量赋值与内存变量类型的测定X=3.14? TYPE("X")NX="IBM"? TYPE("X&

5、quot;)CX=.T.? TYPE("X")L【实例39】内存变量的显示、释放和清除。CLEAR MEMORYDIMENSION Y(2,2)STORE "XXX" TO X1,Y(1,1)&&等价于X1="XXX",Y(1,1)= "XXX"Y(2,1)=2001-03-23X2=$123.23DISPLAY MEMORY LIKE Y*&&宜使用DISPLAY,而不用LISTYPub(Public公用)A(Array数组) ( 1, 1)C"XXX" ( 1

6、, 2)L.F. ( 2, 1)D03/23/01 ( 2, 2)L.F.XY3=2001-08-22,11:30p&&X开头的内存变量有3个:X1,X2,Xy3DISPLAY MEMORY LIKE X*RELEASE ALL EXCEPT X*DISPLAY MEMORY LIKE X*XPubY 123.2300X1PubC "XXX"XY3PubT 08/22/01 11:30:00PM3数组【实例310】使用一个DIMENSION语句定义多个不同维数的数组DIMENSION X(5) ,Y(2,3)&&一个语句可定义多个不同维数的数

7、组? X(5) ,Y(1,2)&&输出数组元素的值.F. .F.&&数组元素的初值为.F.【实例311】同时给数组的全部元素赋值。DIMENSION A(3)A=8&&等效于A(1)=8,A(2)=8,A(3)=8? A(1),A(2),A(3) 8 8 8【实例312】数组可以与简单变量同名。DIMENSION B(3)B=8? B(1), B(2), B(3),B 8 8 8 8【实例313】在赋值语句中,表达式的位置使用出现数组名。DIMENSION C(2,3)D=C&&等价于D=C(1,1),即D=.F.? D.F.4变

8、量的优等级【实例314】USE Student&&打开Student.dbf表文件(假设表文件已建立)LIST&&显示表的全部记录,命令执行后,记录指针指向表的结束标记EOF。GO 1&&把记录指针移到第1记录。? 姓名&&输出字段变量“姓名”的值李小明&&当记录指针移到第1记录时,字段变量“姓名”的值为“李小明”姓名="赵小辉"&&“姓名”为内存变量名,因为允许内存变量与字段变量同名。? 姓名&&同名时默认字段变量优先,所以“姓名”字段变量李小明&&am

9、p;字段变量“姓名”的值为“李小明”? M->姓名&&指定“姓名”为内存变量赵小辉&&内存变量的值为“赵小辉”? M.姓名&&指定“姓名”为内存变量赵小辉&&内存变量的值为“赵小辉”5函数(1)数值函数1)取整值函数【实例315】X=5.89? INT(X),INT(-X) 5 -52)四舍五入函数【实例316】X=345.345? ROUND(X,2), ROUND(X,1), ROUND(X,0), ROUND(X,-1) 345.35 345.3 345 3503)求余数函数【实例317】? MOD(10,3), MO

10、D(10,-3), MOD(-10,3), MOD(-10,-3) 1 -2 2 -14)求最大值函数【实例318】? MAX(345,-3.71,57) 3455)求最小值函数【实例319】? MIN(345,-3.71,57) -3.71(2)参数是字符的函数1)求字符串长度函数【实例320】? LEN("Visual FoxPro") 132)大小写转换函数【实例321】? UPPER("Visual FoxPro"),LOWER("Visual FoxPro") VISUAL FOXPRO visual foxpro3)生成空

11、格字符串函数格式:SPACE(<数值表达式>)【实例322】? SPACE(20)+"主菜单"主菜单4)删除字符串前后空格函数【实例323】? LEN("TEST")? LEN(ALLTRIM("TEST")5)取子串函数【实例324】X="GOOD BYE!"? LEFT(X,2), RIGHT(X,4), SUBSTR(X,6,2), SUBSTR(X,6)GO BYE! BY BYE!6)求子串位置函数【实例325】? AT("Fox","Visual FoxPro&

12、quot;), AT("fox","Visual FoxPro")80(3)参数是日期和时间的函数1)系统日期和时间函数【实例326】? DATE( ), TIME( ), DATETIME( )12/08/04 08:58:54 12/08/04 08:58:542)求年份、月份、天数函数【实例327】D=DATE( )? DATE( ),YEAR(D), MONTH(D), DAY(D)12/08/04 2004 12 83)求时、分、秒函数【实例328】T= DATETIME( )? DATETIME( ) , HOUR(T) , MINUTE(T

13、) , SEC(T)12/08/04 09:03:01 9 3 1(4)数据类型转换函数1)数值转换成字符串函数(N型C型)【实例329】N=-123.456? STR(N,9,2), STR(N,6,1), STR(N,3), STR(N,6), STR(N)-123.46 -123.5*-123 -1232)字符串转换成数值函数(C型N型)【实例330】? VAL("-123.45"), VAL("-12A.45"), VAL("A-123.45") -123.45 -12.000.003)字符串转换成日期或日期时间函数(C型D或

14、T型)【实例331】? CTOD("07/08/04"),CTOT("07/08/04 15:25:45") 07/08/04 07/08/04 03:25:45 PM4)日期或日期时间函数转换成字符串(D或T型C型)【实例332】C1=DTOC(DATE()C2=DTOC(DATE(),1)? C1,C212/08/04 20041208T1=TTOC(DATETIME()T2=TTOC(DATETIME(),1)? T1,T212/08/04 09:16:26 200412080916265)宏替换函数【实例333】宏替换函数的应用TB="

15、Student"USE &TB&&等价于USE StudentXM="姓名"? &XM+"你好!"&&等价于 ? 姓名+"你好!"李小明你好!SKIPXM="姓名"? &XM+"你好!"李新你好!【实例334】宏替换函数分隔符的作用ZY="财会"? "&ZY"财会? "&ZY三班"&ZY三班? "&ZY.三班"财会三班(

16、5)测试函数1)数据类型测试函数【实例335】X="TCL"&&内存变量X的数据类型为CY=10&&内存变量Y的数据类型为NZ=$100.2&&内存变量Z的数据类型为Y? TYPE("X")C? TYPE("Y")N? TYPE("Z")Y? TYPE("DATE()")D&&DATE()函数的数据类型为D? TYPE("DATETIME()")T&&DATETIME()函数的数据类型为T2)“空

17、”值测试函数【实例336】X=0Y=2.18? EMPTY(X) .T. &&数值型数据值为0时为“空”? EMPTY(Y).F.? EMPTY(CTOD("12/19/04").F.? EMPTY(.F.).T. &&逻辑型数据值为.F.时为“空”? EMPTY(.NULL.).F. &&空值.NULL.为非“空”3)表文件结束标记测试函数EOF()4)表文件开始标记测试函数BOF()5)记录号测试函数RECNO()【实例337】USE StudentBROWSE? BOF(),RECNO() .F. 1SKIP -1? B

18、OF(),RECNO() .T. 1&&注意!BOF的记录号是1,而不是0和1GO BOTTOM? EOF(),RECNO() .F. 8SKIP&&等价于SKIP 1或SKIP +1? EOF(),RECNO() .T. 9&&EOF的记录号等于最大记录号加上1GO 3? BOF(),EOF(),RECNO() .F. .F. 35)条件测试函数【实例338】成绩=72? IIF(成绩>=60, "及格","不及格")6表达式(1)数值表达式【实例339】设a=2,b=6,c=3,求a=2b=6c=

19、3? (b+sqrt(b*b-4*a*c)/(2*a) &&表达式写在同一行内,乘号*不能略,区分运算层次只使用圆括号( )。-0.6340(2)字符表达式【实例340】X="How"Y="areyou!"? X+Y(3)日期时间表达式【实例341】? DATE()-2002-12-8&&若用+号则出错731(4)关系表达式【实例342】字符串非精确比较1)SET EXACT OFF&&系统初态默认值? "福建商专"="福建"&&比较到右串结束即结束.

20、T.2)SET EXACT ONSET EXACT ON&&为等长比较? "福建商专"="福建".F.【实例343】字符串精确比较? "福建商专"="福建"&&两个字符串完全相等才相等.F.(5)逻辑表达式【实例344】? 5>3 .AND. 5<3.F.(三)实验要求1在上机实验前,认真学习Visual FroPro程序设计教材中与本实验课题相关的内容。2在计算机上验证教材中有关常量、变量、函数和表达式的例题。3完成以下实验作业:(1)先判断下列数据的类型,然后用TYPE( )函数加以验证。1)2004/12/122)2004/12/123)2004/12/124)2004/12/12 21:23:555)31416E-46)$3000.56787)TIME()8)DATE()9)DATETIME()10)2004/12/30-2004/9/111)2004/12/12 21:23:55-2004/12/12 11

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论