赛腾教育常量、变量、表达式、函数常量、变量、表达式及函数一、常量与变量:1.1常量:1.数值型常量:①.由0—9、小数点、正负号构成;②.对于很大的数据一般采用科学记数法形式书写,如:5.12E12(表示5.12×1012)、5.12E-12(表示5.12×10-12);③.在内存中占8个字节。2.货币型常量:①.由前置符号“$”开始,如:$1234.12;②.默认采用4位小数,如果多余4位小数,则对多余的位数进行四舍五入;③.不能采用科学记数法表示,在内存中占8个字节。3.字符型常数(字符串):①.用单引号、双引号、方括号定界,如:’abcd’、”abcd”、[abcd];&&注意:定界符成对出现②.定界符不能交叉,如:’abcd”、”abcd]都是错误的;③.不包含任何字符的字符串(“”)叫空串,空串与包含空格的字符串(“”)不同。4.日期型常量:①.用大括号(花括号)定界,如:{10/08/01};②.分隔符可以用斜杠(/)、连字号(-)、句点(.)、空格;③.日期型常量分为:传统日期格式与严格日期格式。传统日期格式:(用SETSTRICTDATETO0设置)月、日用2位数字表示;年可用2位,也可以用4位。严格日期格式:(默认,用SETSTRICTDATETO[1|2]设置){^yyyy-mm-dd};书写时大括号内的第一个字符必须是脱字符(^);年必须用4位数;年月日的次序不能颠倒、不能缺省;用8个字节表示。5.日期时间型常量:①.包括日期与时间两个部分,{日期,时间},如:{^2006-03-08,06:30P}②.用8个字节表示;6.逻辑常量:①.用两个(.)定界,如.T.、.Y.;②.逻辑型常量取值有:.T.、.t.、.F.、.f.、.Y.、.y.、.N.、.n.;③.逻辑型常量只占一个字节。1.2变量:1.字段变量:①.字段变量数据类型;字符型:用C表示,长度不能超过254个字节;赛腾教育常量、变量、表达式、函数数值型:用N表示,长度不超过20位(其中小数最大为19位);货币型:用Y表示,固定长度为8字节;日期型:用D表示,固定长度为8字节;日期时间型:用T表示,固定长度为8字节;逻辑型,用L表示,固定长度为1字节;浮点型:用F表示,长度不超过20位(其中小数最大为19位);整型:用I表示,固定长度为4字节;双精度型:用B表示,固定长度为8字节;备注型:用M表示,固定长度为4字节。通用型:用G表示,固定长度为4字节。②.字段变量名可以为汉字;③.字段变量优先于内存变量。2.内存变量:①.内存变量的数据类型;字符型:用C表示;数值型:用N表示;货币型:用Y表示;日期型:用D表示;日期时间型:用T表示;逻辑型,用L表示;②.内存变量名可以为汉字;③.访问内存变量可以用M.(或M-)。3.内存变量的类型:①.简单内存变量:简单内存变量不需要先定义,可通过重新给变量赋值来改变变量的类型;可用下面两种方式赋值:内存变量=表达式STORE表达式TO内存变量名表②.数组:数组使用之前必须定义;定义格式:DIMENSION数组名(下标上限1[,下标上限2])[,……]DECLARE数组名(下标上限1[,下标上限2])[,……]默认数组的类型是逻辑型;数组的最大维数为二维在数组赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的所有数组元数;数组名不能与简单变量同名;可用一维数组的形式访问二维数组。例:Dimeaa(10),bb(5,2)1.3内存变量常用命令:①.内存变量赋值:内存变量=表达式A=100STORE表达式TO内存变量名表STORE100TOA1,A2,A3,A4STOREA1+100TOA2,A3赛腾教育常量、变量、表达式、函数②.表达式值的显示:格式1:?[表达式表]格式2:??[表达式表]③.内存变量显示。格式1:LISTMEMORY格式2:DISPLAYMEMORY④.内存变量删除。格式1:CLEARMEMORY格式2:RELEASE内存变量表二、表达式:1.数值表达式:+、-、*、/、%、**、^、()①.算术运算优先级:②.求余运算:求余运算:%取余函数:MOD()余数的正负号与除数一致;余数的绝对值小于除数的绝对值;例:?5%4-5%45%-4-5%-413-3-12.字符表达式:①.运算符:+、-+两个字符串首尾连接,如:例:a=”abcd”b=”1234”?a+babcd1234-连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部,如:例:a=”abcd”b=”1234”?a-babcd1234②.字符串表达式中的每一个项都必须是字符型。3.日期时间表达式:+、-格式结果及类型日期+日期不能相加日期-日期两日期相隔天数日期+天数日期型。某日期后若干天的日期日期-天数日期型。某日期前若干天的日期日期时间+秒数日期时间型。某时间后若干秒的时间日期时间-秒数日期时间型。某时间前若干秒的时间日期时间+日期时间不能相加日期时间-日期时间两时间相差秒数赛腾教育常量、变量、表达式、函数4.关系表达式:等号(=):与EXACT的状态相关。如果等于ON,先在较短字符串的尾部加上若干个空格,使两个字符串的长度相等,然后再进行比较;如果等于OFF,只要右边的字符串与左边字符串的前面部分相同,即可得到逻辑真(以右面字符串为准,右面字符串结束即终止比较)。双等号(==):只有两个字符串完全相同时,结果才为真。包含($):左面字符串完全包含在右面字符串中,结果为真。关系表达式的运算符关系运算的比较5.逻辑表达式:.NOT.(或!)、.AND.、.OR.逻辑运算符两端的(.)可以省略,但要保留空格;6.运算符优先级:算术运算符字符串运算符日期时间运算符关系运算符逻辑运算符算术运算:乘方乘、除、求余加、减例如:?(1+2^(1+2))/(2+2)2.25字符运算:加、减优先级相同日期运算:加、减优先级相同关系运算:大于、小于、大于等于、小于等于、不等、等于优先级相同逻辑运算:ORANDNOT例如:?122AND人人民OR.T..F..F.?((10%3=1)AND(15%2=0))OR电脑!=计算机.T.三、常用函数:3.1数值函数:1.绝对值函数:格式:☆ABS(数值表达式)参数类型:N函数值类型:N作用:求数值表达式的绝对值运算符说明大于小于=等于#、、!=不等于=小于等于=大于等于==字符串精确比较$子串包含测试比较=(EXACTOFF)=(EXACTON)==$abc与abc.T..T..T..T.ab与abc.F..F..F..T.abc与ab.T..F..F..F.abc与ab_.F..F..F..F.ab与ab_.F..T..F..T.abc_与ab.T..F..F..F.与ab.F..F..F..F.ab与.T..F..F..F.TRIM(ab_)与ab.T..T..T..T.ab与TRIM(ab_).T..T..T..T.赛腾教育常量、变量、表达式、函数例题:?ABS(12),ABS(-12)12122.平方根函数:格式:☆SQRT(数值表达式)参数类型:N函数值类型:N作用:求数值表达式的平方根说明:数值表达式不能为负数3.求整数函数:格式:★INT(数值表达式)参数类型:N函数值类型:N作用:返回数值表达式整数部分(截尾取整)说明:将一个数的整数部分取出来,不管小数部分例题:?Int(9.99999)94.四舍五入函数:格式:☆ROUND(数值表达式1,数值表达式2)参数类型:N函数值类型:N作用:返回数值表达式1在数值表达式2处四舍五入结果说明:若数值表达式2大于等于0,则表示要保留几位小数,否则为整数部分的舍入位数例题:?Round(12.567,2),Round(12.567,1),Round(12.567,0),Round(12.567,-1)12.5712.613105.求余数函数:格式:☆MOD(数值表达式1,数值表达式2)参数类型:N函数值类型:N作用:返回数值表达式1除以数值表达式2的余数说明:函数值的正负符号与数值表达式2相同;转换时根据需要自动进行四舍五入;如果两数同号,则函数值等于两数相除的余数;如果两数异号,则函数值等于两数相除的余数再加上数值表达式2的值。例题:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)1-22-16.求最大值函数:格式:☆MAX(表达式1,表达式2,…)参数类型:C/N/Y/B/F/D/T函数值类型:C/N/Y/B/F/D/T作用:求各表达式中最大值。说明:表达式可以是:字符型、数值型、货币型、双精度型、浮点型、日期型、日期时间型;所有表达式的类型必须相同。例题:?Max(12,15.5,4.23),Max(abc,ab),Max(2,12,05),Max(汽车,飞机,轮船)15.5abc2汽车7.求最小值函数:格式:☆MIN(表达式1,表达式2,……)参数类型:N函数值类型:N作用:求各表达式中最小值。说明:表达式可以是:字符型、数值型、货币型、双精度型、浮点型、日期型、日期时间型;所有表达式的类型必须相同。赛腾教育常量、变量、表达式、函数3.2字符函数:1.字符串长度函数:格式:★LEN(字符表达式)参数类型:C函数值类型:N作用:求字符表达式的字符长度(字符数)说明:空字符串的长度为0例题:x=中文VisualFoxPro6.0?Len(x)202.大小写转换函数:格式:☆UPPER(字符表达式)参数类型:C函数值类型:C作用:将字符表达式中的小写字符变为大写字符说明:其它字符不变例题:?Upper(中文VisualFoxPro6.0)中文VISULFOXPRO6.0格式:☆LOWER(字符表达式)参数类型:C函数值类型:C作用:将字符表达式中的大写字符变为小写字符说明:其它字符不变3.空格字符串生成函数:格式:☆SPACE(数值表达式)参数类型:N函数值类型:C作用:返回指定数目的空格说明:空格数与数值表达式的值相同4.删除前后空格函数:格式:★TRIM(字符表达式)参数类型:C函数值类型:C作用:去掉字符表达式尾部空格说明:其他空格保留(不去除)例题:?abc+123,Trim(abc)+123abc123abc123格式:☆RTRIM(字符表达式)参数类型:C函数值类型:C作用:去掉字符表达式尾部空格说明:其他空格保留(不去除)格式:☆LTRIM(字符表达式)参数类型:C函数值类型:C作用:去掉字符表达式前导部空格说明:其他空格保留(不去除)格式:☆ALLTRIM(字符表达式)参数类型:C函数值类型:C作用:去掉字符表达式前导空格和尾部空格说明:中间空格保留(不去除)5.取子串函数:格式:★LEFT(字符表达式,长度)参数类型:C函数值类型:C作用:从字符表达式左边取若干字符说明:如果字符表达式字符数目小于长度时,则取出所有字符例题:?Left(中文VisualFoxPro6.0,4)中文赛腾教育常量、变量、表达式、函数格式:★RIGHT(字符表达式,长度)参数类型:C函数值类型:C作用:从字符表达式右边取若干字符说明:如果字符表达式字符数目小于长度时,则取出所有字符例题:?Right(中文VisualFoxPro6.0,4)O6.0格式:★SUBSTR(字符表达式,起始位置[,长度])参数类型:C函数值类型:C作用:从字符表达式中某位置开始取若干字符说明:若缺省长度参数,则取到末尾例题:?L