实验二 数据表达式及函数Word文档下载推荐.docx

上传人:b****2 文档编号:4791389 上传时间:2023-05-04 格式:DOCX 页数:19 大小:55.97KB
下载 相关 举报
实验二 数据表达式及函数Word文档下载推荐.docx_第1页
第1页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第2页
第2页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第3页
第3页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第4页
第4页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第5页
第5页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第6页
第6页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第7页
第7页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第8页
第8页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第9页
第9页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第10页
第10页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第11页
第11页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第12页
第12页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第13页
第13页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第14页
第14页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第15页
第15页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第16页
第16页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第17页
第17页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第18页
第18页 / 共19页
实验二 数据表达式及函数Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验二 数据表达式及函数Word文档下载推荐.docx

《实验二 数据表达式及函数Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验二 数据表达式及函数Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

实验二 数据表达式及函数Word文档下载推荐.docx

逻辑值只有两个:

真值和假值。

2、逻辑型常量的表示

真值:

.T.、.t.、.Y.、.y.

假值:

.F.、.f.、.N.、.n.

六、日期型常量

用{}将年、月、日括起,年、月、日之间用分隔符,分隔符可以是/、_、和空格。

日期型常量有两种格式:

严格的日期格式和传统的日期格式

⑴传统的日期格式

{mm/dd/yy},年份可以是2位数字或4位数字,此格式命令会受语句SETDATETO和SETCENTURYTO设置的影响

⑵严格的日期格式

{^yyyy-mm-dd}例:

{^1999-10-02}

年份必须是4位数字,年月日的次序不能颠倒,不能缺省,用8个字节表示

取值范围是:

{^0001-01-01}~{^9999-12-31}

⑶影响日期格式的设置命令

A格式:

SETMARKTO[日期分隔符]

功能:

设置日期型数据的分隔符,若SETMARKTO表示恢复默认斜杠分隔符

B格式:

SETDATETOMDY|DMY|YMD……

设置日期显示的格式

C格式:

SETCENTURYON/OFF[世纪值]

设置(或关闭)成用4位数字显示年份

例:

SETCENTURYON

?

{10/02/1999}

5、日期时间型常量(占用8个字节)

日期时间型常量可以同时表示日期和时间

格式为:

{<

日期>

<

时间>

}

与日期型常量完全相同

时间格式为:

[hh[:

mm:

[ss]][a/p]]

例:

{^2002-9-17,9}表示2002年9月17日上午9点

2.2VisualFoxPro的变量

一、变量的认识

1、变量是一个用名称(称为变量名)来表示的量,它的值是可改变的。

2、①分类

 

二、给变量赋值

1.简单内存变量

赋值:

格式1:

<

内存变量名>

=<

表达式>

格式2:

STORE<

TO<

内存变量名表>

【例2-3】使用?

|?

?

输出内存变量。

ZF1=‘银川’

STORE18.4toA1,A2,A3

L1=.T.

S1=$500.89

Store{^2004-09-15}toRQ1,RQ2

ZF1,A1,A2,A3,L1,S1,RQ1,RQ2

说明:

⑴当内存变量与字段变量同名时,在内存变量名前加M.(或M->

)区分同名的字段变量。

⑵格式1一次只能给一个变量赋值;

格式2一次可以给多个用逗号分隔的变量赋值。

⑶在使用变量之前不需要定义,当使用赋值命令后,即建立了内存变量

⑷可以通过对内存变量重新赋值来改变其内容和类型。

⑴?

功能:

在下一行显示若干个表达式的值

⑵?

在同一行显示表达式的值

三、变量的有关命令

1.内存变量显示

LISTMEMORY[LIKE〈通配符〉][TOPRINTER|TOFILE〈文件名〉]

DISPLAYMEMORY[LIKE〈通配符〉][TOPRINTER|TOFILE〈文件名〉]

功能:

显示内存变量的当前信息,包括变量名、作用域、类型、取值。

说明:

①选用LIKE只显示与通配符相匹配的内存变量。

②[TOPRINTER]显示的同时送往打印机;

[TOFILE]存入给定文件名的文本文件.TXT中。

③LIST滚动显示,DISP分页显示

通配名是指包含?

或*的变量名,?

表示该位置可以是任意的某个符号,*表示该位置可以是任意多的符号。

例题1.a?

c和a*c的含义.\。

2.显示以a为开头的所有变量

2.内存变量的清除

格式1:

CLEARMEMORY

格式2:

RELEASE<

格式3:

RELEASEALL[EXTENDED]

格式4:

RELEASEALL[LIKE<

通配符>

|EXCEPT<

三、数组——变量的另一种使用形式

1、数组的认识

如果一个数组,其元素不分“行”、“列”,则该数组称为一维数组;

如果一个数组,其元素按“行”、“列”排列,则该数组称为二维数组。

如,假设a是一个数组,其有两个元素,则两个元素分别表示为a

(1)、a

(2)。

假设b是一个有两行两列4个元素的数组,则4个元素分别表示为b(1,1)、b(1,2)、b(2,1)、b(2,2)。

2、数组的定义

数组必须先DIMENSION或DECLARE定义,然后才能使用。

一维数组的定义:

dimension|declare数组名(下标上限)

二维数组的定义:

dimension|declare数组名(第一个下标上限,第二个下标上限)

定义一维数组A,有4个元素;

定义二维数组B,有3行4列元素。

dimensionx(8),y(3,4)

8个元素,12个元素

普通变量在第一次赋值时被自动定义,即无需预先定义。

数组定义后,如果未对其赋值,则各元素为假值;

3.表中数据与数组数据之间的交换

①将表的当前记录复制到数组

SCATTER[F1ELDS<

字段名表>

][MEMO]TO<

数组名>

[BLANK]

复制表的当前记录的指定字段到数组元素,若不指定字段,则复制除备注型M和通用型G之外的全部字段。

SCATTER[F1ELDSLIKE<

|FIELDSEXCEPT<

][MEMO]TO<

[BLANK]

复制用通配符指定包括或排除的字段

②将数组数据复制到表的当前记录。

GATHERFROM<

[FIELDS<

][MEMO]

将数组中的数据作为一个记录复制到表的当前记录中,若数组元素个数多于记录中字段的个数,则多余部分被忽略。

[FIELDSLIKE<

§

2.2表达式

定义:

同类型的各种数据(常量、变量、函数)通过同类型运算符按一定规则连接起来的式子。

2.2.1数值、字符与日期时间表达式

一、数值表达式

由算术运算符将数值型常量、变量、函数连接起来形成,运算结果仍为数值型。

⑴算术运算符优先级

A.()>

B.**或^>

C.*、/、%>

D.+、_

⑵求余运算

%或MOD()求余或取模,余数的正负号与除数一致

二、字符表达式

由字符运算符与字符型常量、变量、函数构成,运算结果仍为字符型

+:

将两个字符串收尾连接形成一个新字符串

-:

连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部

例题:

X=Hello

Y=World

X+Y

X-Y

输出结果为:

HelloWorld

HelloWorld

三、日期时间表达式

由日期型运算符与日期型或数值型的常量、变量或函数构成。

运算结果为日期型或数值型。

日期运算符:

+、-

对日期表达式的格式有一些限制。

书本51页

{^2005-09-16,10:

10:

10AM}-{^2004-09-16,09:

10AM}

§

2.2.2关系表达式

也称简单逻辑表达式,由关系运算符与其他表达式组成,其作用是比较两个表达式的大小或前后,其运算结果是逻辑型。

1.形式:

表达式1>

关系运算符>

表达式2>

①数值型和货币型数据比较

按数值的大小比较

②日期和日期时间型数据比较

早的日期或时间小,晚的日期或时间大

③逻辑型数据比较

.T.大于.F.

④子串包含测试

测试前字符串是否为后字符串的子字符串

2.字符串精确比较与EXACT设置

SETEXACTON/OFF

⑴setexactoff非精确比较

右边的字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真.T.

⑵setexacton精确比较

当=时,现在较短字符串尾部加上若干个空格,使两个字符串长度相等,再比较

当==时,须两个字符串完全相同(包括空格及各字符的位置)

例题setexactoff

store“abc”toS1

store“ab”toS2

S1=S2,S2=S1

TF

2.2.3逻辑表达式

由逻辑运算符将逻辑数据连接起来的式子,其运算结果为逻辑值。

1.逻辑运算符:

.NOT.、.AND.、.OR.(NOT>

AND>

OR)

2.运算符优先级:

算术运算符>

字符运算符和日期时间运算符>

逻辑运算符

例如:

3+3>

=6.OR.3+3>

5.AND.2+3=5

3.3常用函数

函数特点:

自由变量(或称参数)的值,经过某些特定的运算后,得到相应的函数值

格式:

函数名(自变量1,自变量2,……自变量N)

类型:

每个函数的自变量和函数值都有规定的数据类型

掌握:

⑴自变量类型⑵函数名和功能⑶函数值类型

分为5类

3.3.1数值函数

特点:

自变量和返回值都是数值型数据

1.绝对值和符号函数

⑴ABS(<

数值表达式>

⑵SIGN(<

⑴返回绝对值

⑵返回符号

2.求平方根函数

SQRT(<

返回指定表达式的平方根,自变量不能为负

3.圆周率函数

PI()

返回圆周率A=PI()

4.求整数函数

①INT(<

②CEILING(<

③FLCIOR(<

①返回整数部分

②返回大于或等于指定数值表达式的最小整数

③返回小于或等于指定数值表达式的最大整数

5.四舍五入函数

ROUND(<

数值表达式1>

数值表达式2>

返回在指定位置四舍五入后的结果。

若表达式2为负,则舍入到对应整数位

例:

ROUND(123.456.2)→123.46

X=6789.5678

ROUND(X,3),ROUND(X,0)ROUND(X,-1),ROUND(X,-3)

6.求余数函数

格式:

MON(〈数值表达式1〉,〈数值表达式2〉)

返回余数,余数的正负号与除数相同。

即负数以正数,余数;

正数除以,余,负

7.求最大和最小值函数

⑴MAX(〈数值表达式1〉,〈数值表达式2〉)[,〈数值表达式3〉……]

⑵MIN(〈表达式1〉,〈表达式2〉[,〈表达式3〉……])

⑴返回最大值

⑵返回其中的最小值

自变量表达式可以是:

数值型、字符型、货币型、双精度型、浮点型、日期型和日期时间型,但所有表达式类型须相同

3.3.2字符函数

指自变量一般是字符型数据的函数

1.求字符串长度函数

LEN(〈字符表达式〉)

返回字符表达式的长度,结果为数值型

2.大小写转化函数

①LOWER(〈字符表达式〉)

②UPPER(〈字符表达式〉)

3.空格字符串生成函数

SPACE(〈数值表达式〉)

生成指定数目的空格字符串

4.删除前后空格函数

①TRIM(〈字符表达式〉)

②LTRIM(〈字符表达式〉)

③ALLTRIM(〈字符表达式〉)

5.取子串函数

①LEFT(〈字符表达式〉,〈长度〉)

②RIGHT(〈字符表达式〉,〈长度〉)

③SUBSTR(〈字符表达式〉,〈其始位置〉,[〈长度〉])

①从左端取一个指定长度的子串

②从右边取一个长度的子串

③从指定起始位置取指定长度的子串

6.计算子串出现次数函数

OCCURS(〈字符表达式1〉,〈字符表达式2〉)

返回第一个字符在第二字符串中出现的次数,函数值为N型

7.求子串位置函数

⑴AT(〈字符表达式1〉,〈字符表达式2〉,[〈字符表达式〉])

⑵ATC(〈字符表达式1〉,〈字符表达式2〉,[〈字符表达式〉])

若串1是串2的子串,则返回串1首字符在串2中的位置,否则返回0。

〈数字表达式〉指明串1在串2中第N次出现的位置。

AT(“IS”,“THISISABOOK”)

AT(‘5’,‘123456’)

AT(‘安’,‘西安’)

8.子串替换函数

STUFF(<

字符表达式C1>

起始位置N1>

长度>

N2,<

字符表达式2>

用C2替换C1中起始位置开始的N个字符

注:

①N1大于C1的长度.则将C2连到C1后面;

②N2=0,将C2插到C1中第N1个字符后面;

③C2是空串,则删除C1中由N1指定的N2长度的字符串。

C1=“abcdef”

stuff(C1,2,3,“12345”)

stuff(c1,2,0,“12345”)

stuff(c1,2,3,“”)

9.字符替换函数

CHRTRAN(<

字符表达式C2>

字符表达式C3>

当C1中的一个或多个字符与C2匹配时就用C3中对应字符替换这些字符;

若C3串字符少于C2中时,则C1中会被删掉字符;

若C3中字符多与C2中时,多余被忽略。

10、字符串匹配函数

LIKE(<

C1与C2所有对应位置都匹配,则返回.T.,否则返回.F.

C1中可以包含通配符*和?

LIKE(“XY?

”,“XYZ”),LIKE(“38*”,“38.29”)

3.3.3日期和时间函数

1.系统日期和时间函数

DATE()

TIME()

DATETIME( )

分别返回当前系统日期、时间、日期时间。

2.求年份、月份和、天数函数

YEAR(<

D型表达式>

|<

T型表达式>

MONTH(<

DAY(<

3.时、分、秒函数

HOUR(<

日期时间表达式>

MINUTE(<

SEC(<

分别取表达式中的时,分,秒部分

3.3.4数据类型转换函数

1.数值转换成字符串

STR(<

[,<

[,〈小数位数〉]

按长度和保留的小数位数,将数字转成字符串。

①若省略小数位,则转为正数,小数四舍五入

②若同时省略长度和小数位,则小数位为0,长度为10。

③当长度<

实际转换后的长度时,不能转换。

2.字符串转换成数值

VAL(<

字符表达式>

从第1个字符开始到第1个非数字字符间的字符串转换成对应数值。

若以非数字开头,则返回O。

val(“34.85abc”)

val(“315计划”)

val(“ABC123546”)

3.字符串转成日期或日期时间

CTOD(<

CTOT(<

将字符表达式的值转换成日期或日期时间型.

4.日期或日期时间转换成字符串

DTOC(<

[,1])

TTOC(<

将D或T型数据转换成字符串

选1时按约定格式,

DTOC(date()),DTOC(date(),1),TTOC(datetime())

TTOC(datetime(),1)

5.宏替换函数

&

字符型变量>

[.]

替换出字符型变量的内容,当需要用一个表达式代替许多可变的内容时,取变量当前值

①城市=“北京”

 STORE“向&

城市.致敬!

”TOA

 ?

A

②X1=’10’

X2=’10’

X1*&

X2→100

③ABC=“FoxPro”

X=“B”

Y=“C”

Z=“A&

”+“X&

”+“Y”

&

z→FoxPro

④BJ=“96

(2)”

XSK=“A:

XS”+BJ

USE&

XSK→A:

XS96

(2)

3.3.5测试函数

1.值域测试函数

BETWEEN(<

表达式T>

表达式L>

表达式H>

测试一个表达式的值是否介于另外两个表达式之间。

函数值为.T.、.F.或NULL值。

三个自变量类型须一致

2.空值测试函数

ISNULL(<

判断一个表达式的运算结果是否为NULL值。

3.空值测试函数

EMPTY(<

表达式结果为空,则.T.;

否则.F.。

“空”与NULL不同

4.数据类型测试函数

VARTYPE(<

逻辑表达式>

])

返回表达式的类型字母,

5.表文件尾测试函数

EOF([<

工作区号>

表别名>

测试记录指针是否向文件尾,若是为.T.;

否则是.F.。

6.表文件首测试函数

BOF([<

测试记录指针是否指向文件首,若是为.T.;

7.记录号测试函数

RECNO([<

返回当前表文件的当前记录号

8.记录个数测试函数

RECOUNT([<

返回当前表的记录个数。

9.条件测试函数

IIF(<

逻辑表达式L>

测试L值,若为.T.返回表达式1的值;

若为.F.,返回<

的值。

10、记录删除测试函数

DELETED([<

表的别名>

测试指定工作区中的表,当前记录是否被逻辑删除,若有*,则返回.T.否则返回.F.

表中概念补充:

1.首记录:

表文件的第一个记录叫文件首记录。

2.末记录:

表文件的最后一个记录叫文件末记录。

3.记录号:

能够表明每个记录在表文件中存放的前后次序的,叫记录序号,每条记录都有一个记录号,它由系统在内部赋给每条记录。

4.记录指针:

在表文件中,用来指示记录位置的指针。

每个表文件、排序文件或索引文件都设置有一个记录指针,由系统内部设置,在对表文件进行数据操作过程中,记录指针是可以移动的。

5.当前记录:

记录指针指向的记录被称作当前记录。

任何时候,记录指针都指向一个记录。

6.记录函数:

RECNO(),用来记录当前记录序号的函数。

实验例题

1.在命令窗口中输入如下命令:

A=”Thisisacomputer.”

B=”It’smine”

写出满足下面要求的各个命令并上机验证。

(1)取A的第11个字符赋给变量C

(2)取A左边6个字符赋给变量D

(3)取A右边3个字符赋给变量E

(4)求字符串A、B的长度。

(5)判断A中是否包含D和E。

(1)storesubstr(A,11,1)toC

C

(2)storeleft(A,6)toD

D

(3)storeright(A,3)toE

E

(4)?

Len(A),len(B)

(5)?

at(A,D),at(A,E)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2