灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3157回复:0

[二级考试]2012年计算机等级考试二级VFP复习基础(4)

楼主#
更多 发布于:2012-08-22 13:53


7.函数
  Visual FoxPro系统中,函数是一段程序代码,用来进行一些特定的运算或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。Visual FoxPro系统有数百种不同函数。按函数提供方式,可分为系统函数和用户自定义函数;按函数运算、处理对象和结果的数据类型,可分为数值型函数、字符型函数、逻辑型函数、日期时间型函数、数据转换函数等,按函数的功能和特点,可分为数据处理函数、数据库操作函数、文件管理函数、键盘和鼠标处理函数、输出函数、窗口界面操作函数、程序设计函数、数据库环境函数、网络操作函数、系统信息函数和动态数据操作函数等。
  Visual FoxPro的函数由函数名与自变量两部分组成。标准函数是Visual FoxPro系统提供的系统函数,其函数名是Visual FoxPro保留字,自定义函数是用户自已定义的函数,函数名用户指定;自变量必须用圆括号对括起来,如有多个自变量,各自变量以逗号分隔;有些函数可省略自变量,或不需自变量,但也必须保留括号;自变量数据类型由函数的定义确定,数据形式可以是常量、变量、函数或表达式等。
  函数是一类数据项,除个别(如宏替换)函数外,函数都不能像命令一样单独使用,只能作为命令的一部分进行操作运算。
  (1)数值函数
  数值函数用于数值运算,其自变量与函数都是数值型数据。
  1)取绝对值函数ABS()
  【格式】ABS(<数值表达式>)
  【功能】计算数值表达式的值,并返回该值的绝对值。
  【例】?ABS(-43.29)43.29
  2)指数函数EXP()
  【格式】EXP(<数值表达式>)
  【功能】求以e为底、数值表达式值为指数的幂,即返回该数的指数值。
  3)取整函数INT()
  【格式】INT(<数值表达式>)
  【功能】计算数值表达式的值,返回该值的整数部分。
  【例】?INT(-76.93) -76
  4)自然对数函数LOG()
  【格式】LOG(<数值表达式>)
  【功能】求数值表达式的自然对数。数值表达式的值必须为正数。
  5)平方根函数SQRT()
  【格式】SQRT(<数值表达式>)
  【功能】求非负数值表达式的平方根。
  【例】?SQRT(5*5) 5.00
6)最大值函数MAX()和最小值函数MIN()
  【格式】
  MAX(<数值表达式1>,<数值表达式2>[,<数值表达式3>...])
  MIN(<数值表达式1>,<数值表达式2>[,<数值表达式3>...])
  【功能】返回数值表达式中的最大值MAX()和最小值MIN()。
  7)求余数函数MOD()
  【格式】MOD(<被除数>,<除数>)
  【功能】返回<被除数>除以<除数>得到的余数值。
  【说明】在求摸运算中应注意以下几点:
  (1)除数不能为0。
  (2)除数为正数,返回正数;如果为负数,返回负数。
  (3)如果被除数与除数能够整除,结果为0。
  (4)如果被除数与除数不能整除,且被除数与除数同号,则结果为被除数除以除数而得到的余数。即:MOD(X1,X2)=X1-INT(X1/X2)*X2。
  (5)如果被除数与除数不能整除,且被除数与除数异号,则结果为被
  除数除以除数而得到的余数再加上除数。
  即:MOD(X1,X2)=X1-INT(X1/X2)*X2+X2。
  【例】?MOD(10,3) ;;结果为:1
  ?MOD(-10,-3) ;;结果为:-1
  ?MOD(-10,3) ;;结果为:2
  ?MOD(10,-3) ;;结果为:-2
  8)四舍五入函数ROUND()
  【格式】ROUND(<数值表达式1>,<数值表达式2>)
  【功能】返回数值表达式1四舍五入的值,数值表达式2表示保留的小数位数。
  【例】?R0UND(3.14159£?4),ROUND(1234.9962,0),ROUND(1234.567,-1)
  3.1416 1235 1230
  9)π函数PI()
  【格式】PI()
  【功能】返回常量π的近似值。
  10)随机函数RAND()
  【格式】RAND(<数值表达式>)
  【功能】产生0-1之间的随机数。
  (2)字符函数
  字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。函数中
  涉及的字符型数据项,均以cExp表示。
  1)子串位置函数
  【格式】AT(,)
  【功能】返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。
  【例】X=”Visual FoxPro 8.0”
  ?AT(”Fox”£?X);;显示结果为8
  ?AT(”fox”£?X);;显示结果为0
  ?AT(”o”£?X);;显示结果为9
  ?AT(”o”£?X£?2);;显示结果为13
  2)取左子串函数LEFT()
  【格式】LEFT(,)
2)取左子串函数LEFT()
  【格式】LEFT(,)
  【功能】返回从cExp串中第一个字符开始,截取nExp个字符的子串。
  3)取右子串函数RIGHT()
  【格式】RIGHT(,)
  【功能】返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。
  4)取子串函数SUBSTR()
  【格式】SUBSTR(,[,])
  【功能】返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。
  【例】CN=”ABCDEFG”? SUBSTR(CN,4,2),SUBS(CN,1,4),SUBS(CN,6,3)DEABCD FG若省略〈长度〉,或者〈长度〉超过从〈起始位置〉到末尾的长度,则截取的子字符串为从〈起始位置〉到〈字符串表达式〉末尾的所有字符。例如:?SUBSTR(”计算机程序设计教程”,11)设计教程5)字符串长度函数LEN()
  【格式】LEN()
  【功能】返回cExp串的字符数(长度)。函数值为N型。
  【例】?LEN(”Visual FoxPro8.0”)16
  6)删除字符串前导空格函数LTRIM()
  【格式】LTRIM()
  【功能】删除cExp串的前导空格字符。
  7)删除字符串尾部空格函数RTRIM()|TRIM()
  【格式】RTRIM|TRIM()
  【功能】删除cExp串尾部空格字符。
  8)空格函数SPACE()
  【格式】SPACE()
  【功能】返回一个包含nExp个空格的字符串。
  【例】X=SPACE(2)+”学生情况”+SPACE(4)?LEN(X),LEN(TRIM(X)),LEN(LTRIM))14 10 12
  9)字符串替换函数STUFF()
  【格式】STUFF(,,,)
  【功能】从nExp1指定位置开始,用cExp2串替换cExp1串中nExp2个字符。
  【例】X1="ABCDEFG"
  X2="abcd"?STUFF(X1,4,3,X2),STUFF(X1,1,4,X2)
  ABCabcdG abcdEFG
10)大小写转换函数LOWER()和UPPER()  【格式】LOWER()
  UPPER()
  【功能】LOWER()将cExp串中字母全部变成小写字母,UPPER()将cExp串中字母全部变成大写字母,其它字符不变。
  11)字符匹配函数LINK()
  【格式】LIKE(,)
  【功能】比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真(.T.),否则返回逻辑假(.F.)
  【说明】中可以使用通配符*和?。*可以与任何数目的字符相匹配,?可以与任何单个字符相匹配。
  【例】X=“abc” Y=“abcd”
  ?LIKE(X,Y),LIKE(“ab*”,X),LIKE(“a*”,Y),LIKE(“?b”,X)
  .F..T..T..F.(3)日期时间函数(p73)
  日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。
  1)系统日期函数DATE()
  【格式】DATE()
  【功能】返回当前系统日期,此日期由系统设置。函数值为D型。
  2)系统时间函数TIME()
  【格式】TIME([])
  【功能】返回当前系统时间,时间显示格式为hh:mms。是以24小时指制表示的。函数值为C型。
  3)日期函数DAY()
  【格式】DAY()
  【功能】返回指定的dExp式中的天数。函数值为N型
  4)星期函数DOW()、CDOW()
  【格式】DOW()
  CDOW()
  【功能】DOW()函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW()函数返回dExp式中星期的英文名称。函数值为C型。
  5)月份函数MONTH()、CMONTH()
  【格式】MONTH()
  CMONTH()
  【功能】MONTH()函数返回dExp式中月份数。函数值为N型。CMONTH()函数则返回月份的英文名。函数值为C型。
6)年份函数YEAR()  【格式】YEAR()
  【功能】函数返回dExp式中年份值。函数值为N型。(4)转换函数
  在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。
  1)ASCII码函数ASC()
  【格式】ASC()
  【功能】返回cExp串首字符的ASCII码值。函数值为N型。
  【例】?ASC(“abc”);;结果为:97
  2)ASCII字符函数CHR()
  【格式】CHR()
  【功能】返回以nExp值为ASCII码的ASCII字符。函数值为C型。
  【例】?CHR(99);;结果为:c
  3)字符日期型转换函数CTOD()
  【格式】CTOD()
  【功能】把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。
  【例】DA=”12/12/99”
  ?CTOD(DA)
  12/12/99
  4)日期字符型转换函数DTOC()
  【格式】DTOC([,1])
  【功能】把日期dExp转换成相应的字符串。函数值为C型。
  【例】D={^2004/11/24}
  DT=DTOC(D)
  ?DT
  ??LEN(DT)
  11/24/04 85)数值转换成字符串函数STR()
  【格式】STR([,][,])
  【功能】将nExp1的数值转换成字符串形式。函数值为C型。
  【例】?STR(1324.46,6,1)1324.5
  ?STR(1324.46,8,3),STR(1324.46,3,1)1324.460***
  注:如果长度小于的位数则返回一串*号。
6)字符串转换成数值函数VAL()  【格式】VAL()
  【功能】将cExp串中数字转换成对应数值,转换结果取两位小数。函
  数值为N型。【例】?VAL(”32”+”18”)3218.00
  ?VAL(”112GH”),VAL(”AB204”),VAL(”ASD”)112.00 0.00 0.00
  7)宏代换函数;
  【格式】;<字符型内存变量>
  【功能】取“字符型内存变量”的值。
  【说明】
  (1)宏代换是一种间接取值的操作,在;符号后面必须紧跟(无空格)一个己被赋过值的字符型内存变量的名字。
  (2)若;<字符型内存变量>与后面的字符之间无空格分界时,应加上“.”符号作为分界符。
  (3)宏代换的使用可以嵌套另一个宏代换,但不能嵌套自己。例如,X=“;X”的写法是错误的。
  (4)对于数字字符串,可以通过;函数使其与其他数字进行计算。
  【例】求宏代换。
  <1>CH=”X”
  X=9
  ?;CH;;结果为:9
  <2>TT=”学生”
  USE;TT;;结果为:打开了“学生.dbf”表文件。
  <3>X=”2004”
  M=”+”
  Y=”;X.;M.1”
  ?Y;;结果为:2004+1
  ?;Y;;结果为:2005(5)测试函数
  在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。
  1)数据类型函数VARTYPE()
  【格式】VARTYPE(<表达式>)
  【功能】返回<表达式>表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义


喜欢0 评分0
游客

返回顶部