串讲笔试考点(3)

2018-11-18 21:05

将第一个字符串尾部的空格移到第二个字符串的尾部,然后,再将两个字符串连接起来。 【例】 ? “ABC “+”DEF” =“ABC DEF” ? “ABC “- “DEF”=“ABCDEF “

包含运算符$:检测左边的字符串是否被包含在右边的字符串中。 如果包含,返回逻辑真值(.T.),否则返回逻辑假值(.F.)。

精确比较运算符==:只有当两边的字符串完全相等时,才返回逻辑真值(.T.),反之假(.F.)。 (2)字符表达式:由字符串运算符将字符型常量、变量、函数等连接起来的式子。 例: ?”abc “+” bcd “ 结果为”abc bcd” ?“abc “-” bcd “ 结果为”abc bcd “ ?“book”$”bookstore” 结果为(.T.) ?“the”$”this” 结果为(.F.) ?“that”= =“that” 结果为(.T.) ?”that “= =“that” 结果为(.F.) 3、日期时间表达式

(1)日期型运算符:(+)、(-) 例如

? {04/03/99,12:30:20}+20 结果为:{04/23/99,12:30:40} ? {04/03/99, 12:30:20}- 20 结果为:{03/14/99,12:30:00} ? {03/03/99,12:30:20}- {03/3/99,11:30:20} 结果为3600

例如:已知某个人的出生日期为1979年7月20日,计算其现在年龄为多少? ({^2008/1/17}-{^1979/7/20})/365 注意:

(1)两个日期及日期时间型数据的相加是无意义的。

(2)+和-既可作为日期运算符,也可作算术和字符串运算符,而使用时具体做何种运算符受其所连接运算对象决定。

3.2.2 关系表达式

(1)关系运算符:小于(<)、大于(>)、等于(=)、不等于(<>、#或!=)、小于等于(<=)、大于等于(>=)。 (2)关系表达式:由关系运算符、数值表达式、字符表达式或日期表达式组合而成的式子,返回结果为逻辑型数据。

(3)关系运算符的两边,可以是字符表达式、数值表达式或者日期表达式,但两边的数据类型必须一致才能进行比较。

(4) =与= =不完全相同。前者称为普通比较,后者称为精确比较。

当环境设定为SET EXACT ON时,二者有一定区别;当环境设定为SET EXACT OFF时,结果是不同的。 比较时,使用右字符串去比较左字符串。当右字符串比较完,则比较结束。如果此时的比较结果相同,则=比较的值为.T.,而不管左字符串是否结束;相反,= =则要求左右必须完全一致,结果才为.T. 。 【例】?”abcde” = “abc”

当设置了SET EXACT OFF时,上述关系表达式结果为.T. 当设置了SET EXACT ON时,上述关系表达式结果为.F. (5)比较大小时,

日期早的日期型数据小于日期晚的日期型数据; 越早的越小,越晚的越大

如:{^2000-06-11}>{^2008-12-15}

(6)字符型数据比较时从左到右逐个比较,当某个字符不一样时,则两个不同字符的大小决定两个字符串的大小,字符的大小受命令设置影响.

例: ?”abc”>“ab” 结果为(.T.)

(7)字符串包含运算符”$”用于比较左字符串是否存在于右字符串中,如果存在,则为.T.,反之为.F.。 (8)比较货币或数值时,按数值及货币的大小比较 例: ?$564>$234 结果为(.T.) 例: ? “王”$”王红” 结果为.T. 1、字符排序次序的设置

当比两个字符串时,系统对两个字符串的字符自左向右逐个进行比较,一旦发现两个对应的字符不同,则根据这两个字符的排列次序决定两个字符串的大小,其字符的排列次序(即字符的大小)受设置命令的影响,其命令设置方法:

(1)在”工具”菜单下选择”选项”,打开”选项对话框,选择其中的”数据选项卡,再选择右上方的”排列序列”下列框中选择”Machine(机器)”,”PinYin(拼音)”,或者”Stroke(笔画)” (2)命令设置方式

命令:SET COLLATE TO “<排序次序名>“

次序名可以是:”Machine”,”PinYin”,或”Stroke” (3)字符的排列次序

Machine(机器)次序:西文字符按照ASCII码值排列,空格在最前面,大写ABCD字母序列在小写abcd字母序列的前面, 因此大写字母小于小写字母;对于汉字,据它们的拼音顺序决定其大小,其拼音第一个字母在后的值大.

例: ?”计算机”>“电脑” 结果为(.T.) ?”a”<“A” 结果为(.F.)

PinYin(拼音)次序:按照拼音次序排序,对于西文字符,空格在最前面,小写abcd字母序列在前,大写ABCD字母序列在后,即大写字母大于小写字母。

Stroke(笔画)次序:中文按照书写笔画的多少排序;对于西文与拼音方式相同。 3.2.3 逻辑表达式

逻辑表达式是由逻辑运算符将关系表达式连接起来的表达式,结果为逻辑真和逻辑假。 逻辑运算符有:.NOT(非).、.AND(与).和.OR(或).。 优先级别:.NOT.、.AND.、.OR.。 运算规则为: 注意点总结: And 逻辑与 遇假则假 Or 逻辑或 遇真则真 not或! 逻辑非 真假互换

【例】已知某28岁女职工工资为600元

? NOT. ( 性别=“女”) 结果为.F. ?性别=“女”.AND.年龄>=28 结果为.T. ?性别=“男” .AND.年龄>=28 结果为.F.

?性别=“女”.OR.年龄<28 结果为.T. 3.2.4 运算符的优先级

同一类运算符可同时出现在一个表达式中,其运算具有优先级,而对不同类型的运算符也有可能出现于同一表达式,此时也要据它们的优先级顺序来决定表达式的运算顺序. 不同类型运算符在同一表达式中的运算符优先级顺序为: 1、算术运算符:(),**或^,* / %, + - 2、字符串运算符和日期时间运算符: + - 3、关系运算符

4、逻辑运算符: NOT, AND ,OR

例: 12>2 .AND. ‘人’ < ‘人民’ .OR. .T.< .F.

先判数12>2,再判断’人’ < ‘人民’,再运算AND,之后再运算.T.< .F.,最后运算OR.

例: ((10%3) AND (15%2=0)) OR ‘电脑’ !=‘计算机’ 3.3 常用函数

函数是用程序来实现的一种数据运算或转换,每一个函数都有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象或参数,但函数只能有一个返回值,称为函数值或返回值,函数值的类型决定了函数的类型,其常见类型有: 函数的格式:函数名(参数1,参数2) 3.3.1 数值型函数 (1)、绝对值函数

格式:ABS (<数值表达式>)

功能:返回数值表达式的绝对值。

【例】 ? ABS (-12.34) 结果为12.34 (2)、最大值函数

格式:MAX (<数值表达式1>,<数值表达式2>) 功能:计算各数值表达式的值并返回最大值。 【例】? MAX(5*4,60/2) 结果为30 (3)、最小值函数

格式:MIN (<数值表达式1>,<数值表达式2>) 功能:计算数值表达式的值,返回最小值。 (4)、平方根函数

格式:SQRT (<数值表达式>) 25 5 功能:计算数值表达式的平方根。 注:其自变量表达式不能为负

【例】? SQRT (25*4) 结果为10 ? -SQRT(ABS(zz)) (5)、取整函数

格式:INT (<数值表达式>)

CEILING(<数值表达式>) FLOOR(<数值表达式>) 功能:

INT()返回数值表达式的整数部分. 【例】? INT (-4.68) 结果为-4 ****(6)四舍五入函数

格式:ROUND (<数值表达式>,<保留小数位数>) 功能:返回指定数值表达式指定位置后的结果。 说明:如果保留小数位数为正数n, 则对小数位进行四舍五入, 如果保留小数位数为负数n, 则对整数位进行四舍五入.

第0位指整数部分的第一位数即个位

【例】? ROUND (123.34567,3) 结果为123.346 ? ROUND (753.34567,-3) 结果为1000 (7)圆周率函数 格式:PI( )

功能:返回圆周率(数值型),无自变量

(8)求余函数(与%等同)

格式:MOD(<数值表达式1>,<数值表达式2>) 功能:

返回两个数相除后的余数.3%5 <数值表达式1>为被除数, <数值表达式2>为除数, 余数的符号与被除数相同, 如果被除数与除数同号,

则函数值即为两数相除的余数; 若被除数与除数异号,

则函数值为两数相除的余数再加上除数的值. 例:

?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3) 则结果为: 1 -2 2 -1

注:首先将除数和被除数的符号忽略进行求余运算,得到X =1。 再将X的符号定为被除数的符号,得到Y=-1。

由于除数和被除数是异号,所以结果是:Y+除数=-1+3=2。 mod(15,-4)=-1 3+(-4) 15-12=3+(-4)=-1 mod(-15,4)=1 -3+4 -15+12=-3+4=1

1、满足MOD(X,2)=0这个表达式时,说明X是一个偶数。 2、满足MOD(X,2)=1这个表达式时,说明X是一个奇数。 3、MOD(X,5)=0

如下数列请描术它的通项公式。 (1) 1、9、17、25、33?? (2) 3、7、11、19、23??

MOD(X,8)=1或MOD((X-1),8)=0 MOD(X,4)=3或MOD((X+1),4)=0

3.3.2 字符型函数

字符型函数主要对字符型数据进行运算。 (1)、求子串位置函数 格式:

AT (<字符表达式1>,<字符表达式2>,[ <数值表达式n>]) ATC(<字符表达式1>,<字符表达式2>,[ <数值表达式n>]) 功能:

查找<字符表达式1>在<字符表达式2>中的起始位置。如果有<数值表达式n>,则确定<字符型表达式1>在<字符型表达式2>中的第n次出现的起始位置,若缺省<数值表达式n>默认为1;如果字符表达式1不是字符表达式2的子串,则返回为0。

【例】? AT (“A”,”BCDE”) ‘结果为0 ? AT (“A”,”ABADE”) ‘结果为1 ? AT (“A”,”ABCADE”,2) ‘结果为4 ATC函数不区分大小写

?ATC(“a”,”ABCDA”,1) (2)、截取子串函数

*****格式: SUBSTR (<字符表达式>,<起始位置>,[ <长度>])

功能:从指定的<起始位置>开始,在<字符表达式>中截取指定<长度>的字符串。

说明:假设起始位置为m,长度为n。若省略n,则从m开始截取以后的所有字符串; 若n大于从m开始的字符串长度,则从m开始截取以后的所有字符串;若m大于字符表达式的长度,则截取的字符串为

空白字符串。 【例】

?SUBSTR (“HARDWORK”,3,4) 结果为”RDWO”

? SUBSTR (“HARDWORK”,2) 结果为”ARDWORK” ?SUBSTR (“HARDWORK”,3,9) 结果为”RDWORK” ? SUBSTR (“HARDWORK”,9,5) 结果为” “ (3)、左截取子串函数

格式:LEFT (<字符表达式>,<数值表达式>)

功能:从字符表达式左边开始,截取<数值表达式>指定长度的字符串。 【例】

? LEFT (“HARDWORK”,3) ‘结果为”HAR” (4)、右截取子串函数

格式:RIGHT (<字符表达式>,<数值表达式>)

功能:从字符表达式右边开始向左截取<数值表达式>指定长度的字符串。 【例】

? RIGHT (“HARDWORK”,3) ‘结果为”ORK” (5)、生成空字符串函数 格式:SPACE (<数值表达式>)

功能:生成指定空格数的空字符串。

【例】? SPACE (3) ‘结果为” “ (6)、字符串长度函数

格式:LEN (<字符表达式>)

功能:求字符串的长度(包括空格)。 【例】? LEN (“how are you”) 11 ‘结果为11 ?Len(space(3)-space(6))

(7)、字符串替换函数 格式:

***STUFF (<字符表达式1>,<起始位置>, <长度>,<字符表达式2>)

功能:从指定的起始位置开始,用字符表达式2替换字符表达式1中指定个数的子串。

说明:替换与被替换的字符个数不一定相等;若长度为0,则将<字符表达式2>插入到字符表达式1中;若<字符表达式2>为空,则指定长度的字符串被删除.

【例】?STUFF (“computer”,3,4, “abc”) ‘结果为”coabcer”

?STUFF (“computer”,3,1, “abc”) ‘结果为”coabcputer” ?STUFF (“computer”,3,4,” “) ‘结果为”co er” (8)、删除前后空格函数 格式:TRIM(<字符表达式>)

LTRIM(<字符表达式>) ALLLTRIM(<字符表达式>) 功能:

TRIM()返回指字符表达式值去掉尾部空格后形成的字符串 LTRIM()返回指字符表达式值去掉前导空格后形成的字符串

ALLTRIM( )返回指字符表达式值去掉前导和尾部空格后形成的字符串 例:

STORE SPACE(1) + “TEST” + SPACE(3) TO SS


串讲笔试考点(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:我国中小企业纳税行为现状及成因分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: