首页 计算机常用函数

计算机常用函数

举报
开通vip

计算机常用函数计算机常用函数 2.3 常用函数 函数:是用程序来实现的一种数据运算或转换。 1、系统函数的形式 函数名([形参表]) 2、函数的返回值 函数经过运算所得结果称为函数的返回值(只能有一个)。 3、常用函数的分类 通常将常用的函数分为数值函数、字符处理函数、日期和时间函数、数据类型转换 函数、测试函数五种。 学习函数时不仅要注意函数的名称和功能,而且还要注意函数自变量的数据类型和函数值的 数据类型,这样才能正确使用每一个函数。 任何可以使用表达式的地方都可以使用函数。 1. 数值函数 1)绝对值函...

计算机常用函数
计算机常用函数 2.3 常用函数 函数:是用程序来实现的一种数据运算或转换。 1、系统函数的形式 函数名([形参表]) 2、函数的返回值 函数经过运算所得结果称为函数的返回值(只能有一个)。 3、常用函数的分类 通常将常用的函数分为数值函数、字符处理函数、日期和时间函数、数据类型转换 函数、测试函数五种。 学习函数时不仅要注意函数的名称和功能,而且还要注意函数自变量的数据类型和函数值的 数据类型,这样才能正确使用每一个函数。 任何可以使用表达式的地方都可以使用函数。 1. 数值函数 1)绝对值函数 格式:ABS(<数值表达式>) 功能:求数值表达式的绝对值 示例: x=-2 ?abs(x),abs(10+x),abs(2+x),abs(2*x) 答案:2804 2)符号函数 格式:SIGN(<数值表达式>) 功能:返回数值表达式的值的符号, 当数值表达式的值为正、负、0时函数分别为1,-1,0。 示例: x=3 ?sign(x), sign(-1), sign(x-3) 答案:1 -1 0 3)圆周率函数 格式:PI( ) 功能:返回圆周率。 示例: s=pi()*10*10 ? “s=”, s 答案:s=314.16 4)求平方根函数 格式:SQRT(<数值表达式>) 功能:返回数值表达式值的平方根,数值表达式的值不能为负。 示例: x=-4 y=2.22 ?sqrt(abs(-4)), sqrt(10+y) 答案:2.00 3.50 5)求整数函数 格式:INT(<数值表达式>) 功能:INT()返回数值表达式的整数部分。 示例: x=3.9 ?int(x), int(-x) 答案:3 -3 5)求整数函数 格式:ceiling(<数值表达式>) 功能:ceiling()返回大于或等于数值表达式的最小整数。 示例: x=3.9 ?ceiling(x), ceiling(-x) 答案:4 -3 5)求整数函数 格式:floor(<数值表达式>) 功能:floor()返回小于或等于数值表达式的最大整数。 示例: x=3.9 ?floor(x), floor(-x) 答案:3 -4 6)四舍五入函数 格式:ROUND(<数值表达式1>, <数值表达式2>) 功能:对数值表达式1四舍五入,保留数值表达式2的值所指定的位数。 示例: x=123.456 ?round(x, 2), round(x, 1), round(x, 0), round(x, -1) 答案:123.46 123.5 123 120 7)求余函数 格式:MOD(<数值表达式1>, <数值表达式2>) 功能:返回数值表达式1除以数值表达式2的余数,且余数的符号与除数相同。若数值表达 式1与数值表达式2同号,函数值为两数的余数。若异号,函数值为两数的余数再加上除数 的值。 示例: x=10 ?mod(x, 4), mod(x, -4), mod(-x, 4), mod(-x, -4) 答案:2 -2 2 -2 8)求最大值函数 格式:MAX(<数值表达式1>, <数值表达式2>[, <数值表达式3>„„]) 功能:求数值表达式1,数值表达式2,数值表达式3„„中的最大值 示例: x=10 ?max(2, 10, -2, 20, 9, x) 答案:20 9)求最小值函数 格式:MIN(<数值表达式1>, <数值表达式2>[, <数值表达式3>„„]) 功能:求数值表达式1,数值表达式2,数值表达式3„„中的最小值 示例: x=10 ?min(2, 10, -2, 20, 9, x) 答案:-2 2. 字符函数 1)求字符串长度函数 格式:LEN(<字符表达式>) 功能:返回字符表达式的长度 示例: x=“中国哈尔滨” y=“china” ?len(x), len(y) 答案:10 5 2)大小写转换函数 格式:LOWER(<字符表达式>) UPPER(<字符表达式>) 功能: LOWER()是将字符表达式中的大写字母转为小写字母 UPPER()是将字符表达式中的小写字母转为大写字母 示例: x=“123study hard” ?lower(x), upper(x) 答案: 3)空格字符串生成函数 格式:space(<数值表达式>) 功能:返回由数值表达式值指定数目的空格 示例: x=“We” y=“are” z=“students.” ?x+space(2)+y+space(2)+z 答案: 4)删除前导尾部空格函数 格式:TRIM(<字符表达式>) LTRIM(<字符表达式>) ALLTRIM(<字符表达式>) 功能: TRIM()将字符表达式的值的尾部空格去掉 LTRIM()将字符表达式的值的前导空格去掉 ALLTRIM()将字符表达式的值的前导与尾部空格同时去掉 示例: a=“ 中国” b=“首都 “ c=“ 北京 “ d=a+b+c ?a, b, c, d ?trim(a)+ltrim(b)+alltrim(c) 答案: 5)子串函数 格式:LEFT(<字符表达式>,) RIGHT(<字符表达式>, ) SUBSTR(<字符表达式>, < N1 >[, ]) 功能:LEFT()从字符表达式的左端开始取N个字符。 RIGHT()从字符表达式的右端开始取N个字符。 SUBSTR()从字符表达式的第N1个位置开始取N2字符。若N2省略,取到最后一个字 符。 示例: x=“中国北京首都” ?left(x, 4)+right(x, 4)+substr(x, 5, 4) 答案: 宋体6)计算子串出现次数函数 格式:OCCURS(<字符表达式1>,<字符表达式2>) 功能:返回<字符表达式1>在另一个字符表达式<字符表达式2>中出现的次数,函数值为数值 型。 说明:如果在<字符表达式2>中没有找到<字符表达式1>,则该函数返回0。 示例: STORE ??abracadabra?? TO s ?OCCURS(??a??,s),OCCURS(??e??,s),OCCURS(??a ??,s) 答案:5 0 0 7)求子串位置函数 格式: AT(<字符表达式1>,<字符表达式2>[,<数值表达式3>]) ATC(<字符表达式1>,<字符表达式2>[,<数值表达式3>]) 功能:AT()若字符表达式1为字符表达式2的子串时,则返回字符表达式1的首字符在字符 表达式2中的位置。否则返回0。数值表达式3是字符表达式1在字符表达式2中第几次出 现,默认值为1。 ATC()与AT()功能类似,但在子串比较时不区分字母大小写。 示例: x=“This is computer. The computer is our friend.” ?at(“is”, x), at(“is”, x, 3), at(“The”, x), at(“THE”, x),atc((“THE”, x) 答案: 8)子串替换函数 格式: STUFF(<字符表达式1>,<起始位置>,<长度>, <字符表达式2>) 功能:用<字符表达式2>值替换<字符表达式1>中由<起始位置>和<长度>指明的一个子串。 替换和被替换的字符个数不一定相等。如果<长度>值是0,<字符表达式2>则插在由<起始位置>指定的字符前边。如果<字符表达式2>是空串,则<字符表达式1>中由<起始位置>和<长度>指明的子串被删去。 示例: STORE ‘GOOD BYE!’ TO s1 STORE ‘MORNING’ TO s2 ?stuff(s1,6,3,s2),STUFF(s1,1,4,s2) 答案: 9)字符替换函数 格式:CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>) 功能:当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符串中的对应字符(相同位置)替换这些字符。 如果第三个字符串中包含的字符个数少于第二个字符串包含的字符个数,因而没有对应字符,那么第一个字符串中相匹配的各字符将被删除。 如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符被忽略。 10)字符串匹配函数 格式:LIKE(<字符表达式1>,<字符表达式2>) 功能:比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真(.T.),否则返回逻辑假(.F.)。 注: <字符表达式1>中可以包含通配符*和?。 示例: STORE “abc” TO x ?LIKE(“ab*”,x),like(“?b?”,x),LIKE(“Abc”,x) ?LIKE("abchhh","ab*") ?LIKE("ab*","abchhh") 历年试题 1、表达式LEN(SPACE(0))的运算结果是( c ) A)(NULL( B)1 C)0 D)”” 2、有如下赋值语句,结果为“大家好”的表达式是(D ) a="你好" b="大家“ A)b+AT(a,1) B)b+RIGHT(a,1) C)b+LEFT(a,3,4) D)b+RIGHT(a,2) 3、字符串长度函数LEN(“中文FOX”-SPACE(10))的值是( D ) A)20 B)13 C)15 D)17 4、执行命令?AT(”中心”,”教育部考试中心”)的显示值是( C ) A )13 B)6 C)11 D)12 5、执行如下程序: ST=”VISUAL FOXPRO” ?UPPER(SUBSTR(ST,1,1))+LOWER(SUBSTR(ST,2)) 屏幕的显示结果是(C ) A)VISUAL FOXPRO B)Visual FoxPro C) Visual foxpro D)Visual Foxpro 6、设变量X=12.618,在执行命令 ?ROUND(X,2),ROUND(X,-1),ROUND(X,-2)后显示的结果是( B ) A、12.61 12 10 B)12.62 10 0 C、12.60 10 0 D)12.62 12 10 7、如果字符串s1=”人口普查u u u u”,s2=”是科学地制定国民经济政策的基础u u u u”, 若想得到字符串”人口普查是科学地制定国民经济政策的基础”,应该执行的命令是(D ) A、SUBSTR(S1,1,8)+S2 B)TRIM(S1)-S2 C、S1-S2 D)TRIM(S1-S2) 8、执行如下两条命令 STRING=10 ?ABS(6-STRING) 屏幕显示的结果是( A ) A) 4 B)6 C)-4 D)-6 9、已知X=”research ”,Y=”sea",LEN(X)的值为10,则LEN(x-Y) 的结果为( d ) A) 5 B)7 C)11 D)13 10、在visual FoxPro中,函数MOD(18,4)、MOD(18,-4)、MOD(-18,4)、MOD(-18,-4)的 结果分别为( B ) A、2 -2 -2 2 B) 2 -2 2 -2 C、2 -2 -2 -2 D)2 2 2 2 11、运算结果是字符串”book”的表达式是( D ) A)LEFT(“mybook”,4) B)RIGHT(“bookgood”,4) C)SUBSTR(“mybookgood”,4,4) D) SUBSTR(“mybookgood”,3,4) 12、表达式STUFF(“GOODBOY”,5,3”GIRL”)的运算结果为【GOODGIRL 】 13、LEFT(“123456789”,LEN(“数据库”))的计算结果是【 123456 】。 14、?LEN(“+”+”a+b=c”)=【6 】 15、?LEN(TRIM(“五一”+”假期”))=【8 】 16、LEN(“计算机”)来测试数值型内存变量是否能够被3整除. 如果使用INT函数,表达式应该写成【int(x/3)=x/3 】;如果使用 MOD函数,表达式应该写成【 mod(x,3)=0 】;如果使用ROUND函数, 表达式应该写成【 round(x/3,0)=x/3 】。 3.日期和时间函数 宋体(1)日期和时间函数 1)系统当前日期函数DATE() 格式:DATE() 功能:返回当前系统日期值。返回值为日期型,其格式可由SET DATE、SET CENTURY、SET MARK TO改变。 2)系统当前时间函数TIME() 格式:TIME() 功能:以时、分、秒(HH:MM:SS)的格式显示系统的当前时间,返回值为字符型。 3)系统当前日期时间函数DATETIME () 格式:DATETIME () 功能:返回系统当前日期时间值。返回值为日期时间型。 (2)求年份、月份和天数函数 1)年份函数YEAR() 格式:YEAR(<日期型表达式>/<日期时间型表达式>) 功能:返回日期型、日期时间型表达式的年份值。函数返回值为数值型。 2)月份函数MONTH() 格式:MONTH(<日期型表达式>/<日期时间型表达式>) 功能:返回日期型、日期时间型表达式的月份值。函数返回值为数值型。 3)日函数DAY() 格式:DAY(<日期型表达式>/<日期时间型表达式>) 功能:返回日期型、日期时间型表达式的日子的数值。函数返回值为数值型。 (3)时、分和秒函数 1)小时函数HOUR() 格式:HOUR(<日期时间型表达式>) 功能:返回日期时间型表达式的小时部分(24小时制)。函数返回值为数值型。 2)分钟函数MINUTE() 格式:MINUTE(<日期时间型表达式>) 功能:返回日期时间型表达式的分钟部分。函数返回值为数值型。 3)秒数函数SEC() 格式:SEC(<日期时间型表达式>) 功能:返回日期时间型表达式的秒数部分。函数返回值为数值型。 示例: x={^2009-10-2 01:30:28 am} ?date(), time(), datetime(), day(datetime()) ?year(x), month(x), hour(x), minute(x), sec(x) 答案: x={^2009-10-2 01:30:28 pm} ?year(x), month(x), hour(x), minute(x), sec(x) 答案: 4.数值类型转换函数 1)数值转换成字符型函数 格式:STR(<数值表达式>[,[,N]]) 功能:将数值表达式转为长度为L,小数位数为N的字符串。 宋体说明: 1)<长度>给出转换后的字符串长度,该长度包括小数点、负号。如果缺省<长度>和<小数位数>,其输出结果将取固定长度为10位,且只取其整数部分; 2)<小数位数>给出小数位数,决定转换后小数点右面的小数位数,默认位数为0位; 3)如果<长度>的值大于<数值表达式1>给出值的数字位数时,在返回的字符串左边添加空格; 4)如果<长度>的值大于等于整数位数但小于整数和小数位数之和,将优先满足整数部分而自动调整小数位数。 5)如果<长度>的值小于小数点左边的数字位数,将返回一串星号,表示数值溢出。 4.数值类型转换函数 示例: x=-1.278 ?str(x, 8, 2), str(x, 2),str(x, 1) 答案: ? str(x) 答案:-1 4.数值类型转换函数 2)字符串转为数值函数 格式:VAL(<字符表达式>) 功能:将字符表达式值转为数值 1)<字符表达式>的值必须是数字形式的字符串,它只能含有数字、正负号和小数点; 2)转换时,如果遇到非上述字符则停止。如果字符型表达式的第一个字符即非上述字符,则转换停止; 3)转换后的小数位数,隐含为2位,可用SET DECIMAL TO N去改变。 示例: x=“-12.45” y=“b2.6” ?val(x), val(y) 3)将字符串转为日期或时间函数 格式:CTOD(<字符表达式>) CTOT(<字符表达式>) 功能: CTOD()将字符表达式转为日期型数据 CTOT()将字符表达式转为日期时间型数据 说明:<字符表达式>必须是一个有效的日期|日期时间格式。 示例: ?ctod(“10/2/2009”), ctot(“10/2/2009 10:30:51 am”) 答案: 4)日期时间转为字符型数据 格式:DTOC(<日期表达式>|<日期时间表达式>[,1]) TTOC(<日期时间表达式>[,1]) 功能: DTOC()将日期表达式或日期时间表达式转为字符型数据,若选1则字符格式YYYYMMDD共8个字符。 TTOC()将日期时间表达式转为字符型数据,若选1则字符格式YYYYMMDDHHMMSS共14个 字符 示例: ?dtoc(date()), ttoc(datetime()) ?dtoc(date(),1), ttoc(datetime(),1) 2.3.4 数据类型转换函数 5)宏替换函数 格式:&< 字符型变量>[.] 功能:以内存变量的值代替变量名。说明: ? 它是众多函数中惟一参数不带括号的函数; ? 宏替换函数的作用范围是从符号&起,直到遇到一个“.”或空格字符为止。如果宏代换后的值要与其后面的字符串一起使用,则应在&与其后的字符串之间插入一个圆点“.”。 示例: abcd=[Visual] VisualFoxpro=[小型关系数据库] Visual=123456789 ,"&abcd.FoxPro" ? &abcd.Foxpro ? &Abcd ? "&Abcd" 结果: VisualFoxPro (C) 小型关系数据库 (C) 123456789 (N) Visual (C) 1) p=“学生” Use &p 表名 Use 学生 2)D=“display record” &D 5 命令 display record 5 3) s=“123.45” ? &s+6 N型常量 129.45 4)xm=“李明” y=“&xm.你好!” ? Y 字符串常量 李明你好! 历年试题 1、在下列表达式中,结果为字符型的是( A ) A)??125??-??100?? B)??ABCD??+??XYZ??=??ABCXYZ?? C)CTOD(??07/01/97??) D)DTOC(DATE())>??07/01/97?? 2、假定有下述变量定义:姓名=[李华],性别=[女],生日={^1970/09/08},婚否=”已婚”,要显示出以下格式的信息:李华,女,出生于19700908已婚,可用命令( C ) A)?姓名,性别,生日,婚否 B)?姓名+”,”+性别+”,”+”出生于”+生日+婚否 C)?姓名+”,”+性别+”,”+”出生于”+DTOC( 生日,1)+婚否 ”,”+性别+”,”+”出生于”+DTOC( 生日)+婚否 D)?姓名+ 3、下列函数中函数值为字符型的是( B ) A)DATE() B)TIME() C)YEAR() D)DATETIME() 4、下列选项中结果不是字符型数据的是( D ) A)DTOC(DATE()) B)DTOC(DATE(),1) C) STR(123(567) D)AT(”1”,STR(1321)) 5、假定系统日期是2004年12月20日,有如下命令NJ=MOD(YEAR(DATE())-2400,100),执行该命令后,NJ的值是( B ) A)2004 B)4 C)20041220 D)1220 6、下列表达式中,运算结果为数值型的正确表达式是( c ) A)DATE()+TIME() B)DATE()+30 C)DATE()-CTOD(”01/01/98”) D)DATE()-DTOC(DATE()) 7、已打开数据库表文件,其中出生日期字段为日期型,下列表达式中结果不是日期型的为( c ) A) CTOD(”09,18,97”) B)出生日期+5 C)DTOC(出生日期) D)DATE()一2 8、执行A=”1,保护环境”和B=20两条赋值命令后,能够正确求值的表达式是( B ) A)RIGHT(A,4)+SUBSTR(B,2) B)VAL(LEFT(A,1))+B C)A+B 9、表达式INT((CTOD(”10/01/99”)-CTOD(”10/01/49”))/365)的值应为( ) A)-50 B)52 C)48 D)50 这个要看set century to 19 rollover 19 还是 set century to 19 rollover 99 还要注意两个日期相减之后是天数~~ 除以365是年数 10、’2003/05/04’+’ ’+TIME()的值可能为( b ) A)12:30:50 B)2003/05/04 12:30:50 C)2003/05/04 D)DATE() 11、命令?STR(1000.50)执行后的显示结果应为( c ) A)1000 B)1000.5 C)1001 D)1000.50 12、表达式的值是字符型的是( c ) A、DATE()+15 B)DATE()-{^2002/9/3} C、DTOC({^2002/9/3}) D)YEAR(DATE())\ 13、设N=886,M=345,K=”M+N”,表达式1+,K的值是(a ) A)1232 B)数据类型不匹配 C)1+M+N D)346 14、表达式VAL(SUBS(”奔腾586”,5,1))*LEN(”visual FoxPr0”)的结果是( c ) A)13(00 B)14(00 C)65(00 D)16(00 15、设系统日期为2001年12月31日,下列表达式的值是【 9918.00 】 VAL(SUBSTR(“1999”,3)+RIGHT(STR(YEAR(DATE())),2))+17 16、YEAR{^1999-12-30}-99=【 1900 】 17、请用代表符号填写以下Visual FoxPro表达式的数据类型: YEAR(DATE())的数据类型为【N 】; DATE()-6的数据类型为【 D 】. 5.测试函数 1)值域测试函数 格式: BETWEEN(<表达式1>, <表达式2>, <表达式3>) 功能:若表达式1值大于等于表达式2且小于等于表达式3时,函数返回.T.,否则返回.F.。若表达式2,表达式3有一个为NULL,则函数返回NULL。 2)空值测试函数 格式:ISNULL(<表达式>) 功能:若表达式值为NULL,函数返回.T.,否则返回.F.。 3)“空”值测试函数 格式:EMPTY(<表达式>) 功能:若表达式值为空,函数返回.T.,否则返回.F.。 说明:数值型、双精度、货币、浮点、整型为0就认为空。字符型空串、空格、制表、回车、换行认为空。备注型无内容认为空。逻辑型为.F.,日期、日期时间型为空时,认为空。如CTOD(“”),CTOT(“”)都认为空 4)数据类型测试函数 格式:VARTYPE(<表达式>) 功能:返回表达式的类型,用大写字母表示类型。C为字符型或备注型,N为数值型、整型、浮点型、双精度型。Y为货币型,L为逻辑型,O为对象型,G为通用型,D为日期型,T为日期时间型,X为NULL值,U为未定义 5)表文件尾测试函数EOF() 格式:EOF([<工作区号>/<表别名>]) 功能:检测当前或指定工作区中表的记录指针是 否位于最后一条记录之后。如果是,返回真值(.T.),否则返回假值(.F.)。 若缺省自变量,则测试当前表文件。 特例:当表中不包含记录时,EOF()和BOF()均返回.T.。 6)表文件首测试函数BOF() 格式:BOF ([<工作区号>/<表别名>]) 功能:检测当前或指定工作区中表的记录指针是否位于第一条记录之前。 如果是,返回真值(.T.),否则返回假值(.F.)。 7)当前记录号测试函数 格式:RECNO ([<工作区号>|<表别名>]) 功能:返回当前表或指定工作区中表的当前记录的记录号。如果指定工作区没有打开表文件,函数值为0;如果记录指针指向文件尾,函数值为表文件中的记录数加1;如果记录指针指向文件首,函数值为1。 8)记录个数测试函数 格式:RECCOUNT ([<工作区号>|<表别名>]) 功能:返回当前或指定工作区中表的记录个数。 9)条件测试函数 格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>) 功能:若逻辑表达式的值为.T.则返回1的值 若逻辑表达式的值为.F.则返回2的值 10)记录删除测试函数 格式:DELETED([<表的别名>|<工作区号>]) 功能:检测指定工作区中当前记录是否带有删除标记“*”。若有,则函数值为.T.,否则 为.F.。
本文档为【计算机常用函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_729658
暂无简介~
格式:doc
大小:43KB
软件:Word
页数:20
分类:
上传时间:2017-10-07
浏览量:51