您好,欢迎访问三七文档
第1页共5页1、分别用STORE和“=”赋值命令建立四种不同数据类型的内存变量。在命令窗口练习用STORE和“=”赋值命令建立如下10个内存变量:a1=123a2=”Hello!”STORE{^2003/9/1}TOb1,b2,日期sex=”男”name=”王力平”STORE19TOaget=.T.x=a1*22、用LIST/DISPLAYMEMORY或问号命令显示已建立的内存变量。LISTMEMOLIKE*&&显示所有用户定义的内存变量LISTMEMOLIKEa*&&显示变量名第一个字母是A的内存变量LISTMEMOLIKE?2*&&显示变量名第二个字母是2的内存变量DISPMEMO&&分页显示用户建立的内存变量及系统变量等信息LISTMEMO&&滚动方式显示用户建立的内存变量及系统变量等信息?a1,a2,b1,t&&用问号命令只显示a1,a2,b1,t四个内存变量的值??name,sex,age&&双问号命令表示不换行显示name,sex,age三个变量的值?nameAT15,sexAT22&&用问号命令在15和22列分别显示name、sex变量的值?”a1=”,a1,“x=a1*2=”,x&&显示“a1=”和“x=a1*2=”两个字符串。以及两个内存变量的值3、用RELEASE命令部分或全部释放已建立的内存变量。在命令窗口输入下面的命令将以不同情况释放掉前面已建立的内存变量:SAVETOE:\vfp\var&&将内存变量保存到var.mem文件中LISTMEMOLIKE*&&显示所有用户定义的内存变量RELEASEt,x,sex&&释放t,x,sex三个内存变量LISTMEMOLIKE*&&显示剩余的内存变量RELEALLLIKE?1*&&释放变量名第二个字母是1的内存变量LISTMEMOLIKE*&&显示剩余的内存变量RELEALLEXCEPTa*&&释放变量名第一个字母不是a的内存变量LISTMEMOLIKE*&&显示剩余的内存变量RELEASEALL&&释放所有的内存变量DISPMEMO&&分页显示用户定义的内存变量和系统变量等RESTOREFROME:\vfp\var&&将E盘var.mem文件中的变量恢复到内存LISTMEMOLIKE*&&显示恢复后的内存变量CLEARMEMORY&&释放所有的内存变量DISPMEMO4、定义数组及数组变量的赋值。在命令窗口输入下面的命令,练习数组的建立与赋值:DIMEA(3),B(2,3),B2(3)&&定义两个一维数组A和B2、一个二维数组BDISPMEMOLIKE*&&分页显示初始建立的数组变量的情况,均为.F.a(2)=.T.&&给一维数组变量a(2)赋逻辑值b(1,1)=”高峻”&&给二维数组变量b(1,1)赋字符常量值b(1,2)={^2003/9/1}&&给二维数组变量b(1,2)赋日期值第2页共5页b(2,1)=”张红梅”&&给二维数组变量b(2,1)赋字符常量值DISPMEMOLIKE*&&分页显示数组变量赋值后的情况?a(1),a(2),b(1,1)&&用问号命令显示3个数组变量的值A=100&&给A数组中所有变量赋相同的值100B={^2002/7/1}&&给B数组中所有变量赋相同的日期值DISPMEMOLIKE*RELEASEALLLIKEB*&&释放数组名第一个字母是B的数组DISPMEMOLIKE*RELEASEA&&释放A数组DISPMEMO5、字符串的比较。在命令窗口输入以下命令序列,注意主窗口显示的结果信息。SETEXACTOFF&&设置字符串为不精确比较(系统的默认状态)?“A”=”a”&&结果为假,字母大小写的ASCII码值不同?“abed””abc”&&结果为真,第三个字符比大小?“1234””131”&&结果为真,第二个字符比大小?“abcd””abc”&&结果为假,“=”左边的串是右边串左边的一部分为相等?“abc”=”abc”&&结果为真?“abc”==”abc”&&结果为假,“==”两边要完全相同样?“abc”=”abc”&&结果为假,“=”左边的串不是右边串左边的一部分?“中国””中华”&&结果为假,看第二个字符在字典中的顺序(前小后大)SETEXACTON&&设置字符串为精确比较?“abcd”=”abc”&&结果为假,“=”两边的串不完全一样?“abc”=”abc”&&结果为真,“=”两边的串尾部空格忽略不计?“abc”=”abc”&&结果为真?“abc”==”abc”&&结果为假,“==”两边要完全相同样6、函数的使用。首先判断函数结果,然后在命令窗口用问号命令输出函数值验证。(1)数值函数①四舍五入函数:ROUNDs1=345.456?ROUND(s1,1),ROUND(s1,2),ROUND(s1,-1),ROUND(s1,-2)&&结果:345.5345.46350300②函数:INTs2=3.56s3=-3.56?INT(s2),INT(s3)&&返回表达式的整数部分:3-3③余函数:MOD?MOD(10,3),MOD(-10,-3),MOD(-10,3),MOD(10,-3)&&结果:1-12-2④求极值函数:MAX和MIN?MAX(“AB”,”WR”,”34”),MAX(12,-34,0.56),MAX(DATE(),{^2050/09/8})?MIN(“AB”,”WR”,”34”),MIN(12,-34,0.56),MIN(DATE(),{^2050/09/8})?MAX(“AB”,34)&&表达式类型不一致,显示错误信息(2)字符函数第3页共5页①求字符串长度函数:LENc1=”VisualFoxpro6.0”c2=”Len函数”&&汉字和全角字符的占两个字符位置?LEN(c1),LEN(c2)&&函数值是数值型②字符串前后空格函数:TRIM、LTRIM、ALLTRIMc4=”数据库”&&字符串尾部有2个空c5=”管理系统”&&字符串前面有2个空格?c4+c5&&c4和c5两个字符串连接?c4-c5&&c4和c5连接,并将c4后的两格空个移到串尾?TRIM(c4)+LTRIM(c5)&&删除c4尾部空格和c5首部空格后进行字符串连接?ALLTRIM(c4)+ALLTRIM(c5)&&删除c4、c5首尾部空格后进行字符串连接③取子串函数:LEFT、RIGHT、SUBSTRstr1=”VisualFoxPro6.0”str2=LEFT(str1,1)str3=RIGHT(str1,3)str4=SUBSTR(str1,8,1)+SUBSTR(str1,11,1)?str2+str4+str3&&输出字符串表达式的值VFP6.0?SUBSTR(str1,8)&&省略格式中的“长度”参数,从第8个字符开始取到串尾④求子串位置函数:AT和ATCstr1=”VisualFoxPro6.0数据库管理系统”?AT(“fox”,str1),AT(“Fox”,str1),ATC(“fox”,str1)&&ATC()函数字母区分大小写?AT(“o”,str1,2),AT(“系统”,str1)&&汉字以两个字符位置计算以下几个字符函数不常用,同学们也可以练习一下:⑤求子串出现次数函数:OCCURSstr1=”DatabaseManagementSystem”str2=”表达式1,表达式2”?OCCURS(“a”,str1),OCCURS(“A”,str1),OCCURS(“em”,str1)?OCCURS(“表达式”,str2)⑥子串替换函数:STUFFstr1=”VFP6.0数据库管理系统”?STUFF(str1,5,3,”7.0”)&&替换:结果为“VFP7.0数据库管理系统”?STUFF(str1,5,3,””)&&删除:结果为“VFP数据库管理系统”?STUFF(str1,8,0,”关系”)&&插入:结果为“VFP6.0关系数据库管理系统”⑦字符替换函数:CHRTRANstr1=”Databasesystem”?CHRTRAN(str1,“bS”,”BSM”)&&替换结果为“DataBasesystem”?CHRTRAN(str1,“bsm”,”BSM”)&&替换结果为“DataBaSeSySteM”?CHRTRAN(str1,“bsa”,”B%”)&&替换结果为“DtB%e%y%tem”⑧字符串匹配函数:LIKEstr1=”VFP6.0数据库管理系统”?LIKE(”VFP”,str1),LIKE(”VFP*”,str1),LIKE(”????6.0*”,str1)(3)日期函数①求系统日期和时间函数:DATE()、TIME()、DATETIME()?DATE(),TIME(),DATETIME()&&三个函数的数据类型分别是:D,C,T第4页共5页?TYPE(‘DATE()’),TYPE(‘TIME()’),TYPE(‘DATETIME()’)②年份、月份和天数函数:YEAR、MONTH、DAYd1={^2002/3/510:30}?d1,YEAR(d1),MONTH(d1),DAY(d1)&&三个函数的函数值都是数值型?TYPE(‘YEAR(d1)’),TYPE(‘MONTH(d1)’),TYPE(‘DAY(d1)’)③求时、分、秒函数:HOUR、MINUTE、SECd2=DATETIME()?d2,HOUR(d2),MINUTE(d2),SEC(d2)&&三个函数值都是数值型?TYPE(‘HOUR(d2)’),TYPE(‘MINUTE(d2)’),TYPE(‘SEC(d2)’)(4)数据类型转换函数①数值转换成字符串:STRs1=345.678?STR(s1,6,2),STR(s1,5,2),STR(s1,7),STR(s1)?LEN(STR(s1))&&该函数省略“长度”参数,默认转换后的字符串长度为10②字符串转换成数值:VAL?VAL(“-234.34”),VAL(“V26”),VAL(“66K3”),VAL(“35.56”)③字符串转换成日期或日期时间:CTOD、CTOTc1=’8/12/98’&&字符格式应与系统当前的日期格式一致c2=’8/12/9810:15p’&&字符格式应与系统当前的日期格式一致?CTOD(C1),CTOT(C2)c3=’98/8/12’&&字符格式应与系统当前的日期格式不一致?CTOD(C3)&&无日期输出显示SETDATETOYMD&&将系统当前的日期格式设置为YMD格式c1=’98/8/12’&&字符格式与系统当前的日期格式一致c2=’98/8/1210:15p’&&字符格式与系统当前的日期格式一致?CTOD(c1),CTOT(c2)?TYPE(‘CTOD(c1)’),TYPE(‘CTOT(c2)’)&&测转换后的数据类型:D、T④日期或日期时间转换成字符串:DTOC、DTOS、TTOCd1={^1999/2/114:30}?d1,DTOC(DATE()),DTOC(d1)?DTOC(DATETIME())&&DTOC()转换后的字符格式与系统当前的日期格式一致?DTOC(DATE(),1),DTOC(DATETIME(),1)&&转换后的格式为YYYYMMDD?DTOS(d1)&&DTOS()或用参数“1”转换后的字符格式与系统当前的日期格式无关SETDATETOLONG&&将系统当前的日期格式设置为LONG格式?DTOC(d1),DTOS(d1),DTOC(d1,1)?TTOC(DATETIME()),TTOC(DATETIME(),1),TTOC(d1)⑤宏替换函数:&字符型变量[.]cc1=”66”cc2=”cc”s1=&cc1+100?s1,&cc2.1&&在“&str2.1”中的圆点是宏替换函数中的分隔符?&cc2&&显示错误提示:“找不到变量‘cc’”?“&cc2”&&问号命令输出结果是:cc第5页共5页⑥字符与ASIIC码转换函数:ASC、CHR?ASC(‘A’),ASC(‘ABC’),ASC(‘a’),ASC(‘1’)&&返回首
本文标题:vf变量函数练习题
链接地址:https://www.777doc.com/doc-5309189 .html