第6次课常量变量表达式函数.docx

上传人:b****8 文档编号:28011187 上传时间:2023-07-07 格式:DOCX 页数:21 大小:24.14KB
下载 相关 举报
第6次课常量变量表达式函数.docx_第1页
第1页 / 共21页
第6次课常量变量表达式函数.docx_第2页
第2页 / 共21页
第6次课常量变量表达式函数.docx_第3页
第3页 / 共21页
第6次课常量变量表达式函数.docx_第4页
第4页 / 共21页
第6次课常量变量表达式函数.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

第6次课常量变量表达式函数.docx

《第6次课常量变量表达式函数.docx》由会员分享,可在线阅读,更多相关《第6次课常量变量表达式函数.docx(21页珍藏版)》请在冰豆网上搜索。

第6次课常量变量表达式函数.docx

第6次课常量变量表达式函数

第五部分常量、变量、表达式及函数

常量与变量:

1.1常量:

1.数值型常量:

?

.由0-9、小数点、正负号构成;

?

.对于很大的数据一般采用科学记数法形式书写;

如:

5.12E+12(表示5.12×1012)、5.12E-12(表示5.12×10-12)

2.货币型常量:

?

.由前置(前导)符号“$”开始,如:

$1234.12;

?

.默认采用4位小数,如果多余4位小数,则对多余的位数进行四舍五入;

?

.不能采用科学记数法表示。

3.字符型常数(字符串):

?

.用单引号('')、双引号("")、方括号定界([]);

如:

'abcd'、"abcd"、[abcd];&&注意:

定界符必须成对出现

?

.定界符不能交叉,如:

’abcd”、”abcd]都是错误的;

?

.不包含任何字符的字符串("")叫空串,空串与包含空格的字符串("")不同。

4.日期型常量:

?

.用大括号(花括号)定界,如:

{10/08/01};

?

.分隔符可以用斜杠(/)、连字号(-)、句点(.)、空格;

?

.日期型常量分为:

传统日期格式与严格日期格式。

●传统日期格式:

(用SETSTRICTDATETO0设置)

◆月、日用2位数字表示;

◆年可用2位,也可以用4位。

如:

{10/08/01},{10/08/2001}

●严格日期格式:

(默认,用SETSTRICTDATETO[1|2]设置)

◆{^yyyy-mm-dd};如:

{^2010-06-12}

◆书写时大括号内的第一个字符必须是脱字符(^);

◆年必须用4位数;

◆年月日的次序不能颠倒、不能缺省;

5.日期时间型常量:

包括日期与时间两个部分,{<日期>,<时间>},如:

{^2006-03-08,06:

30P}

6.逻辑常量:

?

.用两个(.)定界,如.T.、.Y.;

?

.逻辑型常量取值有:

.T.、.t.、.F.、.f.、.Y.、.y.、.N.、.n.;

?

.逻辑型常量只占一个字节。

1.2变量:

1.字段变量:

①.字段变量数据类型;

类型

代表字母

完整英文单词

长度特点

特点

字符型

C

Character

不固定

长度不能超过254个字节

数值型

N

Numeric

不固定

长度不超过20位(其中小数最大为19位)

货币型

Y

Currency

固定

固定长度为8字节

日期型

D

Date

固定

固定长度为8字节

日期时间型

T

DateTime

固定

固定长度为8字节

逻辑型

L

Logic

固定

固定长度为1字节

浮点型

F

Float

不固定

长度不超过20位(其中小数最大为19位)

整型

I

Integer

固定

固定长度为4字节

双精度型

B

Double

固定

固定长度为8字节

备注型

M

Memo

固定

固定长度为4字节

通用型

G

General

固定

固定长度为4字节

?

.字段变量优先于内存变量。

例题:

假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6)。

在命令窗口输入并执行如下命令后,主窗口中将显示:

()

姓名=姓名-"您好"

?

姓名

A、张三B、张三您好C、张三您好D、出错

2.内存变量:

?

.内存变量的数据类型;

◆字符型:

用C表示;

◆数值型:

用N表示;

◆货币型:

用Y表示;

◆日期型:

用D表示;

◆日期时间型:

用T表示;

◆逻辑型,用L表示;

?

.访问内存变量可以用M.(或M->)。

3.内存变量的类型:

?

.简单内存变量:

简单内存变量不需要使用专用语句定义,可通过直接赋值的方式使其存在。

如:

a=100&&执行该命令前a变量不存在,执行该命令后a变量存在且其值为100

?

.数组:

◆数组使用之前必须定义;

定义格式:

DIMENSION<数组名>(<下标上限1>[,<下标上限2>])[,……]

或DECLARE<数组名>(<下标上限1>[,<下标上限2>])[,……]

例如:

Dimea(5)&&定义一个名为a,共有5个存储单元的一维数组

Dimea(4,5)&&定义一个名为a,4行5列共有20个存储单元的二维数组

◆数组的最大维数为二维;

例如:

a(3,4,5)没有三维数组,所以是错误的

◆默认数组的类型是逻辑型:

数组定义之后,初始化之前,其值为逻辑假(.F.);

◆在数组赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的所有数组元数;

Dimea(4)&&该指令执行后,a数组的所有存储单元a

(1)、a

(2)、a(3)、a(4)均为逻辑假(.F.)

A=100&&该指令执行后,a数组的所有存储单元a

(1)、a

(2)、a(3)、a(4)均为100

◆数组名不能与简单变量同名;

◆可用一维数组的形式访问二维数组。

Dimeaa(5,4)

aa(6)=100&&该命令执行后,aa(2,2)的值为100

1.3内存变量常用命令:

?

.内存变量赋值:

◆简单赋值:

<内存变量>=<表达式>

例如:

A=100

B=A+200

◆批量赋值:

STORE<表达式>TO<内存变量名表>

例如:

STORE100TOA1,A2,A3,A4

STOREA1+100TOA2,A3

?

.表达式值的显示:

格式1:

[<表达式表>]先回车换行,然后显示信息

格式2:

?

?

[<表达式表>]不回车换行,直接显示信息

?

.内存变量显示。

格式1:

LISTMEMORY显示内存中变量(不暂停)

格式2:

DISPLAYMEMORY显示内存中变量(满一屏暂停)

?

.内存变量删除。

格式1:

CLEARMEMORY全部删除

格式2:

RELEASE<内存变量表>可选择性地部分删除

表达式:

1.数值表达式:

?

.运算符:

+、-、*、/、%、**、^、()

?

.求余(模)运算符(%)的运算法则:

◆余数的正负号与除数一致;

◆余数的绝对值小于除数的绝对值;

例:

5%4-5%45%-4-5%-4

13-3-1

2.字符表达式:

?

.运算符:

+、-

+两个字符串首尾连接,如:

例:

a=”abcd□”

b=”1234”

?

a+b

abcd□1234

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

例:

a=”abcd□”

b=”1234”

?

a-b

abcd1234□

?

.字符串表达式中的每一个项都必须是字符型。

3.日期时间表达式:

+、-

格式

结果及类型

格式

结果及类型

日期+日期

不能相加

日期时间+秒数

向后推若干秒

日期-日期

两日期相隔天数

日期时间-秒数

向前后推若干秒

日期+天数

向后推若干天

日期时间+日期时间

不能相加

日期-天数

向前推若干天

日期时间-日期时间

两时间相差秒数

4.关系表达式:

运算符

说明

运算符

说明

>

大于

<=

小于等于

<

小于

>=

大于等于

=

等于

==

字符串精确比较

#、<>、!

=

不等于

$

子串包含测试

?

.字符串大小比较规则:

◆汉字>字母>数字

◆汉字按汉字的全拼字母比较如:

"王">"李"(相当于"wang">"li")

◆字母:

"a"<"A"<"b"<"B"<…<"z"<"Z"

?

.字符串比较汇总

比较

=(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.

5.逻辑表达式:

.NOT.(或!

)、.AND.、.OR.

逻辑运算符两端的(.)可以省略,但要保留空格;

6.运算符优先级:

算术运算符>字符串运算符>日期时间运算符>关系运算符>逻辑运算符

◆算术运算:

乘方>乘、除、求余>加、减

例如:

(1+2^(1+2))/(2+2)

2.25

◆字符运算:

加、减优先级相同

◆日期运算:

加、减优先级相同

◆关系运算:

大于、小于、大于等于、小于等于、不等、等于优先级相同

◆逻辑运算:

OR

例如:

?

12>2AND"人">"人民"OR.T.<.F.

.F.

?

((10%3=1)AND(15%2=0))OR"电脑"!

="计算机"

.T.

常用函数:

3.1数值函数:

1.绝对值函数:

格式:

ABS(<数值表达式>)参数类型:

N函数值类型:

N

作用:

求<数值表达式>的绝对值

例题:

?

ABS(12),ABS(-12)

1212

2.平方根函数:

格式:

SQRT(<数值表达式>)参数类型:

N函数值类型:

N

作用:

求<数值表达式>的平方根

说明:

数值表达式不能为负数

3.求整数函数:

格式:

?

INT(<数值表达式>)参数类型:

N函数值类型:

N

作用:

返回<数值表达式>整数部分(截尾取整)

说明:

将一个数的整数部分取出来,不管小数部分

例题:

?

Int(8.99999)

8

4.四舍五入函数:

格式:

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.61310

5.求余数函数:

格式:

?

MOD(<数值表达式1>,<数值表达式2>)参数类型:

N函数值类型:

N

作用:

返回<数值表达式1>除以<数值表达式2>的余数

说明:

其规则与运算符(%)相同

例题:

MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)

1-22-1

6.求最大值函数:

格式:

MAX(<表达式1>,<表达式2>,…)

作用:

求各表达式中最大值。

说明:

◆可以比较大小的数据类型:

除备注型、通用型外,其余类型均能比较大小;

◆所有表达式的类型必须相同。

例题:

?

Max(12,15.5,4.23),Max("abc","ab"),Max("2","12","05"),Max("汽车","飞机","轮船")

15.5abc2汽车

7.求最小值函数:

格式:

MIN(<表达式1>,<表达式2>,…)

作用:

求各表达式中最小值。

3.2字符函数:

1.字符串长度函数:

格式:

?

LEN(<字符表达式>)参数类型:

C函数值类型:

N

作用:

求<字符表达式>的字符长度(字符数)

说明:

空字符串的长度为0

例题:

x="中文VisualFoxPro6.0"

?

Len(x)

20

2.大小写转换函数:

格式:

?

UPPER(<字符表达式>)参数类型:

C函数值类型:

C

作用:

将<字符表达式>中的小写字符变为大写字符

说明:

其它字符不变

例题:

?

Upper("中文VisualFoxPro6.0")

中文VISUALFOXPRO6.0

格式:

LOWER(<字符表达式>)参数类型:

C函数值类型:

C

作用:

将<字符表达式>中的大写字符变为小写字符

3.空格字符串生成函数:

格式:

?

SPACE(<数值表达式>)参数类型:

N函数值类型:

C

作用:

返回指定数目的空格

4.删除前后空格函数:

格式:

?

TRIM(<字符表达式>)参数类型:

C函数值类型:

C

作用:

去掉<字符表达式>尾部空格

说明:

其它空格保留(不去除)

例题:

?

"abc□"+"123",Trim("abc□")+"123"

abc□123abc123

格式:

?

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

作用:

从<字符表达式>中某位置开始取若干字符

说明:

若缺省<长度>参数,则取到末尾

例题:

?

SUBSTR("中文VisualFoxPro6.0",5,6)

Visual

6.求子串位置函数:

格式:

?

AT(<字符表达式1>,<字符表达式2>)参数类型:

C函数值类型:

N

作用:

返回<字符表达式1>的首字符在<字符表达式2>中的位置

说明:

◆若<字符表达式1>没有包含在<字符表达式2>中,则函数值为0;

◆“字符表达式”区分大小写

例题:

?

AT("ab","asabhjabh"),AT("AB","asabhjabh")

30

7.子串替换函数:

格式:

?

STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)参数类型:

C函数值类型:

C

作用:

用<字符表达式2>替换<字符表达式1>中从<起始位置>开始的若干字符,替换的字符数由<长度>给出

说明:

若<长度>为0,则将<字符表达式2>插入到<字符表达式1>中<起始位置>处。

例题:

?

Stuff("中文VisualFoxPro6.0",5,16,"Turbo")

中文Turbo6.0

8.字符串匹配函数:

格式:

?

LIKE(<字符表达式1>,<字符表达式2>)参数类型:

C函数值类型:

L

作用:

比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑真,否则返回逻辑假

说明:

<字符表达式1>中可以包含通配符*和?

例题:

?

Like("ab?

","abc")

.T.

3.3日期时间函数:

1.系统日期、时间函数:

格式:

?

DATE()参数类型:

无函数值类型:

D

作用:

获取系统当前日期

例题:

?

Date()

10/12/07

格式:

TIME()参数类型:

无函数值类型:

C

作用:

获取系统当前时间

例题:

?

Time()

12:

13:

16

格式:

DATETIME()参数类型:

无函数值类型:

T

作用:

获取系统当前日期与时间

例题:

?

Datetime()

10/12/0712:

13:

45PM

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

格式:

?

YEAR(<日期表达式>|<日期时间表达式>)参数类型:

D/T函数值类型:

N

作用:

从指定的<日期表达式>或<日期时间表达式>获取年份

例题:

?

Year({^2007.12.11})-1

2006

格式:

?

MONTH(<日期表达式>|<日期时间表达式>)参数类型:

D/T函数值类型:

N

作用:

从指定的<日期表达式>或<日期时间表达式>获取月份

例题:

?

Month({^2007.12.11})

12

格式:

DAY(<日期表达式>|<日期时间表达式>)参数类型:

D/T函数值类型:

N

作用:

从指定的<日期表达式>或<日期时间表达>式获取天

例题:

?

Day({^2007.12.11})

11

3.时、分、秒函数:

格式:

HOUR(<日期时间表达式>)参数类型:

T函数值类型:

N

作用:

从指定的<日期时间表达式>获取小时部分

说明:

函数值为24小时制

格式:

MINUTE(<日期时间表达式>)参数类型:

T函数值类型:

N

作用:

从指定的<日期时间表达式>获取分钟部分

格式:

SEC(<日期时间表达式>)参数类型:

T函数值类型:

N

作用:

从指定的<日期时间表达式>获取秒数部分

3.4数据类型转换函数:

1.数值转换成字符串函数:

格式:

?

STR(<数值表达式>[,<长度>[,<小数位>]])参数类型:

N函数值类型:

C

作用:

将<数值表达式>的值转换成字符型数据

说明:

◆转换时根据需要自动进行四舍五入;

◆如果不指定<小数位>,则转换后只有整数部分;

◆如果不指定<长度>,则转换后总长度为10;若果有效部分不够10位,则左边添加空格;

◆如果指定<长度>值小于<数值表达式>值的整数部分位数,则返回相应数量的星号(*)。

例题:

?

str(123.456),str(123.456,6),str(123.456,6,2),str(123.456,2)

□□□□□□□123□□□123123.46**

2.字符串转换成数值函数:

格式:

?

VAL(字符表达式)参数类型:

C函数值类型:

N

作用:

将<字符表达式>的值转换成数值型数据

说明:

◆如果字符串内出现非数字字符,则只转换前面部分;

◆若<字符表达式>的首字符不是数字符号,则返回数值零,但忽略前导空格。

例题:

?

Val("123.4"),Val("123abd34"),Val("中国")

123.40123.000.00

3.求字符ASC码函数

格式:

ASC(字符表达式)参数类型:

C函数值类型:

N

作用:

将“字符”转换成对应的ASCII值。

说明:

◆若“字符表达式”是一个字符串(非一个字符),则只转换第一个字符;

◆若“字符表达式”是若干个汉字,则只转换第一个汉字。

◆必须记住的字符ASCII码:

"a"—97,"A"—65,"0"—48

例题:

?

ASC("a"),ASC("abcd"),ASC("123"),ASC("中国")

97974954992

4.通过ASCII值求字符函数:

格式:

CHR(数字表达式)参数类型:

N函数值类型:

C

作用:

将“数字”转换成对应的字符。

例题:

?

CHR(100),CHR(70),CHR(50),CHR(54992)

dF2中

5.字符串转换成日期或日期时间函数:

格式:

CTOD(字符表达式)参数类型:

C函数值类型:

D

作用:

将<字符表达式>的值转换成日期型数据

说明:

◆“字符表达式”必须是日期格式,如:

"12.21.07";

◆如果“字符表达式”的格式不符合日期格式,将转换出空日期。

例题:

?

Ctod("12.21.07"),Ctod("13.21.07")

12/21/07//

格式:

CTOT(字符表达式)参数类型:

C函数值类型:

T

作用:

将<字符表达式>的值转换成日期时间型数据

6.日期或时间转换成字符串函数:

格式:

DTOC(日期表达式|日期时间表达式[,1])参数类型:

D函数值类型:

C

作用:

将<日期表达式>或<日期时间表达式>的值转换成字符型数据

例题:

下列程序执行后的输出结果为:

a={^2007.12.31}

?

Dtoc(A)

A.12/31/07B.2007/12/31C.31/12/07D.12.31.07

格式:

TTOC(日期时间表达式[,1])参数类型:

T函数值类型:

C

作用:

将<日期时间表达式>的值转换成字符型数据

7.宏替换函数:

格式:

?

&<字符型变量>[.]:

参数类型:

C函数值类型:

C/N/D/T

作用:

替换出<字符型变量>的内容,即&的值是变量中的字符串。

说明:

◆如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。

◆宏替换可以嵌套使用。

例题1:

A=123

B="A"

?

&B

123

例题2:

设N=886,M=345,K='M+N',表达式1+&K的值是()

A、1232B、数据类型为匹配C、1+M+ND、346

3.5测试函数:

1.空值(NULL值)测试函数:

格式:

?

ISNULL(<表达式>)参数类型:

C/N/Y/F/I/B/D/T/L/M函数值类型:

L

作用:

若<表达式>的值为null则返回.T.,否则返回.F.

说明:

此函数如果用于检测其它非null数据,将全部返回.F.

例题:

?

isnull(.null.),isnull(12),isnull("")

.T..F..F.

2.“空”值测试函数:

格式:

?

EMPTY(<表达式>)参数类型:

C/N/Y/F/I/B/D/T/L/M函数值类型:

L

作用:

若<表达式>的值为“空”则返回.T.,否则返回.F.

数据类型

“空”值

数据类型

“空”值

数值型

0

双精度型

0

字符型

空串、空格、制表符、回车、换行

日期型

空(如CTOD(""))

货币型

0

日期时间型

空(如CTOT(""))

浮点型

0

逻辑型

.F.

整型

0

备注字段

空(无内容)

例题:

?

Empty(""),Empty(""),Empty("12"),Empty(0),Empty(.F.)

.T..T..F..T..T.

3.数据类型测试函数:

格式:

?

VARTYPE(<表达式>)

作用:

获取<表达式>的数据类型

返回的字母

数据类型

返回的字母

数据类型

C

字符型或备注型

G

通用型

N

数值型、整型、浮点型、双精度型

D

日期型

Y

货币型

T

日期时间型

L

逻辑型

X

Null值

O

对象型

U

未定义

4.条件测试函数:

格式:

IIF(<逻辑表达式>,<表达式1>,<表达式2>)

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

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1