第3章VFP的常量变量表达式和函数.docx

上传人:b****6 文档编号:8849873 上传时间:2023-02-02 格式:DOCX 页数:20 大小:27.96KB
下载 相关 举报
第3章VFP的常量变量表达式和函数.docx_第1页
第1页 / 共20页
第3章VFP的常量变量表达式和函数.docx_第2页
第2页 / 共20页
第3章VFP的常量变量表达式和函数.docx_第3页
第3页 / 共20页
第3章VFP的常量变量表达式和函数.docx_第4页
第4页 / 共20页
第3章VFP的常量变量表达式和函数.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

第3章VFP的常量变量表达式和函数.docx

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

第3章VFP的常量变量表达式和函数.docx

第3章VFP的常量变量表达式和函数

第3章VisualFoxPro的常量、变量、表达式和函数

3.1VisualFoxPro的常量

一、常量的认识

1、常量是表示一个确定的数据,如65.8等。

2、VisualFoxPro中,常量的类型有数值型、货币型、字符型、逻辑型、日期型、日期时间型6种。

二、数值型常量

1、数值型常量表示的是一个具体的数,因此,数值型常量也称为常数。

2、数值型常量的表示

·日常表示法

如12、+56、-64.8等。

·科学表示法

1.6E12表示1.6×1012;

1.6E-12表示1.6×10-12;

-1.6E12表示-1.6×1012;

-1.6E-12表示-1.6×10-12。

三、货币型常量

1、货币型常量用来表示一个具体的货币值。

货币型常量的小数位数最多4位。

2、货币型常量的表示

如$12,$12.68,-$12.68等。

四、字符型常量

1、字符型常量用来表示一串字符(数字、符号、汉字统称为字符),因此,字符型常量也称为字符串。

2、字符型常量的表示

如'abcd'、"abcd"、[abcd]均表示字符串abcd。

3、说明

·表示字符型常量前后的'、"或[]称为字符型常量的定界符,它表示字符串的开始和结束,不是字符串的组成内容。

字符串的前后定界符必须一致,如'abcd"等是错误的。

·当字符串中包含定界符时,必须使用与之不同的定界符作为字符串的定界符,如字符串ab'cd应表示为"ab'cd"或[ab'cd]。

·字符型常量中的字母大小写是区分的,比如"abcd"和"ABCD"是不同的两个字符串。

注意:

其他场合,字母的大小写是不区分的。

·组成字符串的内容中可以有空格,如"abcd"、"abcd"、""等都是正确的字符串。

·定界符中没有任何内容时,也是正确的字符串,这样的字符串称为空串。

注意:

空串并不是指全部由空格组成的字符串。

五、逻辑型常量

1、逻辑型常量用来表示一个逻辑值。

逻辑值只有两个:

真值和假值。

2、逻辑型常量的表示

真值:

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

假值:

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

六、日期型常量

1、日期型常量用来表示一个日期。

2、日期型常量的表示

如2010年12月9日可表示为:

{^2010-12-9}、{^2010.12.9}、{^2010/12/9}、{^2010129}。

说明:

这种表示格式不受系统当前日期格式的影响。

七、日期时间型常量

1、日期时间型常量用来表示一个日期和时间。

2、日期时间型常量的表示

格式:

{^日期,时间}

其中,日期的书写格式与日期型常量中的日期格式相同,时间的书写格式有:

8:

30:

30、18:

15:

25、8:

10:

30A、8:

10:

30AM、8:

10:

30P、8:

10:

30PM。

〖练习〗

通过显示命令显示你的姓名、所在专业、年龄、月消费金额、出生日期、是否党员(假设真值表示是党员、假值表示不是党员)、我们下次课的日期及时间。

3.2VisualFoxPro的变量

一、变量的认识

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

2、变量名一般以字母或汉字开始,其后可以是字母、汉字、数字及某些符号(如下划线)。

〖思考〗

a,aa,b12,c_1,a1B2,2d4,同学们,“同学们”,"同学们"

以上哪些可以作为变量名?

3、变量的类型由其值的类型决定。

二、给变量赋值

1、赋值命令的格式

变量=表达式

store表达式to变量1,变量2,……

2、赋值命令举例

例1:

下列赋值命令是否正确?

正确的说出含义,错误的说出原因。

Store88toa1,a2,a3

Store8+8tob1,b2,b3

Store8,9,10toc1,c2,c3

d1=d2=d3=55

p=10

p=”生物工程和环境科学”

例2:

为变量a赋一个值12,为变量x、y、z赋值34.2,并验证。

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

1、数组的认识1

普通变量(简称变量)的情况是:

一个变量里只能“放”一个值。

数组变量(简称数组)的情况是:

一个变量里可以“放”多个值。

2、数组的认识2

数组中,之所以能“放”多个值,是因为它有多个元素。

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

(1)、a

(2)。

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

3、数组的认识3

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

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

4、数组的使用

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

说明:

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

5、数组的定义

一维数组的定义:

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

二维数组的定义:

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

说明:

·下标上限指下标的最大值。

下标下限指下标的最小取值。

VFP中,下标的下限规定为1。

·一个命令可同时定义多个数组,之间用逗号分隔。

例:

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

6、有关说明

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

·给数组赋一个值时,其元素均得到该值,但通常都是为其元素分别赋值(因为各元素值往往不同);

·数组不直接参加运算,参加运算的是它的元素;

·二维数组元素也可以只用一个下标来表示。

四、变量的有关命令

1、listmemory命令

格式:

LISTMEMORY[LIKE通配名][TOPRINTER][TOFILE文件名]。

功能:

显示变量信息。

说明:

·变量信息包括变量名、类型、值等内容。

·命令格式中,中括号项表示中括号里的内容不是必须有的,看实际情况。

这样的项称为选项。

〖思考〗使用选项时,中括号要否?

·“LIKE通配名”选项解释

表示只显示和通配名一致的变量信息。

没有该选项时,表示显示全部的变量信息。

说明:

通配名是指包含?

或*的变量名,其中,?

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

比如a?

c表示这样的一些变量:

第一位是a,第二为任意,第三位是c;a*c表示这样的一些变量:

第一位是a,最后一位是c,中间内容任意。

·“TOPRINTER”选项解释

表示将变量信息同时送打印机打印。

·“TOFILE文件名”选项解释

表示将变量信息同时存入到指定的文件中。

·显示全部变量信息时,不仅有我们自己使用的变量,而且包括VFP本身所固有的变量(这些变量称为系统变量,系统变量名均以下划线开始)。

·当显示的变量信息超出一个屏幕时,前面的信息会滚出屏幕。

2、displaymemory命令

格式:

DISPLAYMEMORY[LIKE通配名][TOPRINTER][TOFILE文件名]。

功能:

显示变量信息。

说明:

与listmemory命令的唯一区别在于:

当显示的变量信息超出一个屏幕时,该命令能做到一个屏幕一个屏幕地显示。

3、clearmemory命令

格式:

clearmemory

功能:

清除所有变量。

说明:

系统变量是我们清除不掉的。

4、release命令

格式1:

release变量1,变量2,……

功能:

清除指定的变量。

格式2:

releaseall

功能:

清除所有变量。

格式3:

releasealllike通配名

功能:

清除和通配名一致的变量。

格式4:

releaseallexcept通配名

功能:

清除和通配名不一致的变量。

〖练习〗

一、试用二维数组表示如下矩阵并予以显示:

1000

0100

0010

0001

二、用一个下标方式表示上题对角线上各元素,并通过显示命令显示出他们的值。

三、分别为变量abc,xb,mbn赋值{^2012-12-15},.f.,25,然后显示:

1、这三个变量的值;

2、这三个变量的信息。

四、VFP中,能否使用三维数组?

五、练习其他有关内容。

3.3VisualFoxPro的函数

一、认识

·可以通过VFP提供的函数对数据进行运算。

·通过函数对数据进行运算时,参加运算的叫自变量或参数,运算结果就是函数值。

·函数的一般使用格式:

函数名(自变量,自变量,……)

注意:

VFP中,当一个函数不需要自变量时,圆括号也要写上,如DATE()等。

二、常用数值函数

1、ABS函数

功能:

求一个数的绝对值。

例1:

ABS(67)

例2:

ABS(-67+89)

例3:

ABS(-82)

思考:

如何验证函数值?

2、SIGN函数

功能:

当自变量值正时,返回1;当自变量值负时,返回-1;当自变量值为0时,返回0。

例:

SIGN(56-73)

思考:

试用SIGN函数写出为变量B赋值的赋值命令,要求:

当变量A的值为正时,B赋以值8+20;当变量A的值为负时,B赋以值8-20;当变量A的值为0时,B赋以值8。

3、SQRT函数

功能:

求正数的平方根。

例:

SQRT

(2)

说明:

默认计算结果为2位小数。

SETDECIMALSTO命令可设置运算结果的小数位数。

4、PI函数

功能:

函数值为圆周率的值。

例:

PI()

5、INT函数

功能:

返回自变量的整数部分。

例1:

INT(1.3)

例2:

INT(1.6)

例3:

INT(-1.3)

例4:

INT(-1.6)

6、CEILING函数

功能:

返回大于或等于自变量的最小整数。

俗称天花板函数。

例1:

CEILING(1.3)

例2:

CEILING

(2)

例3:

CEILING(-1.3)

例4:

CEILING(-2)

7、FLOOR函数

功能:

返回小于或等于自变量的最大整数。

俗称地板函数。

例1:

FLOOR(1.3)

例2:

FLOOR

(2)

例3:

FLOOR(-1.3)

例4:

FLOOR(-2)

8、ROUND函数

功能:

对自变量的值进行四舍五入运算。

运算时,第二个自变量表示精确到哪一位。

例1:

ROUND(345.345,2)

例2:

ROUND(345.345,1)

例3:

ROUND(345.345,0)

例4:

ROUND(345.345,-1)

9、MOD函数

功能:

求两个整数相除以后的余数。

例1:

MOD(10,3)

例2:

MOD(9,3)

例3:

MOD(11,3)

说明:

有负数的求余不考虑。

10、MAX函数

功能:

从多个自变量中挑出最大的值。

例:

MAX(1,2,7,4,5)

说明:

自变量也可以是非数值型的,但自变量的类型应一致。

如:

MAX(“A”,”ABC”,”BC”)

11、MIN函数

功能:

从多个自变量中挑出最小的值。

例:

MIN(1,2,7,4,5)

说明:

自变量也可以是非数值型的,但自变量的类型应一致。

如:

MIN(“A”,”ABC”,”BC”)

三、常用字符处理函数

1、LEN函数

功能:

求字符串的长度。

说明:

一个汉字长度为2,一个英文字符(包括空格)长度为1。

例:

LEN("VisualFoxPro教程")

2、LOWER函数

功能:

将自变量中的所有字母转化为小写字母。

例:

LOWER("VisualFoxPro教程")

3、UPPER函数

功能:

将自变量中的所有字母转化为大写字母。

例:

UPPER("VisualFoxPro教程")

4、TRIM或RTRIM函数

功能:

将字符型自变量右边空格去掉。

例:

TRIM("VisualFoxPro")

5、LTRIM函数

功能:

将字符型自变量左边空格去掉。

例:

LTRIM("VisualFoxPro")

6、ALLTRIM函数

功能:

将字符型自变量左、右两边的空格均去掉。

例:

ALLTRIM("VisualFoxPro")

7、LEFT函数

功能:

从一个字符串左边开始取子串。

例1:

LEFT("下午好!

",2)

例2:

LEFT("下午好!

",4)

8、RIGHT函数

功能:

从一个字符串右边取子串。

例1:

RIGHT("下午好!

",2)

例2:

RIGHT("下午好!

",4)

9、SUBSTR函数

功能:

从一个字符串中取子串。

例1:

SUBSTR("下午好!

",3,4)

例2:

SUBSTR("下午好!

",3)

10、SPACE函数

功能:

产生指定个数空格组成的字符串。

例:

SPACE(10)

11、REPLICATE函数

功能:

由指定字符串重复组合产生字符串。

例1:

REPLICATE(‘*’,10)

例2:

REPLICATE(‘ABCD’,5)

12、AT函数

功能:

求第一个字符串在第二个字符串中出现的位置。

例1:

AT("ab","huABygabhgtabagf")

例2:

AT("ab","huABygabhgtabagf",2)

13、ATC函数

功能:

求第一个字符串在第二个字符串中出现的位置,但不区分字母大小写。

例1:

ATC("ab","huABygabhgtabagf")

例2:

ATC("ab","huABygabhgtabagf",2)

14、OCCURS函数

功能:

求第一个字符串在第二个字符串中出现的次数。

例1:

OCCURS("a","abScaBdA")

例2:

OCCURS("ab","abScaBdA")

例3:

OCCURS("abc","abScaBdA")

15、STUFF函数

功能:

字符串内容替换。

例:

STUFF("gtyabku",3,4,"AA")

思考:

·在"ab"的a、b之间插入"和"。

·“淮北煤炭师范学院”已改名为“淮北师范大学”了,淮北师范大学的你,能通过STUFF函数,将“淮北煤炭师范学院”中的“煤炭”二字删除、“学院”二字改为“大学”,使得结果是“淮北师范大学”吗?

16、CHRTRAN函数

功能:

字符串内容替换。

例1:

CHRTRAN("aBCAAC","AC",”12”)

例2:

CHRTRAN("aBCAAC","AC",”1”)

例3:

CHRTRAN("aBCAAC","AC",”123”)

说明:

该函数对汉字进行替换时,会出现异常。

例4:

CHRTRAN("大家好!

","大家","你")

例5:

CHRTRAN("淮北煤炭师范学院","学院煤炭","大学")

17、LIKE函数

功能:

如果两个字符串一样,则函数值为真值,否则是假值。

例1:

LIKE("abc","ABC")

例2:

LIKE("abc","ab")

例3:

LIKE("abc","abc")

说明:

前一个字符串中可以出现通配符?

和*。

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

例4:

LIKE("ab*","ab")

例5:

LIKE("ab","ab*")

四、常用日期、时间函数

1、DATE函数

功能:

返回当前系统日期。

例:

DATE()

2、TIME函数

功能:

返回当前系统时间。

例:

TIME()

说明:

函数值为字符型。

3、DATETIME函数

功能:

返回当前系统日期及时间。

例:

DATETIME()

思考:

函数值什么类型?

4、YEAR函数、MONTH函数、DAY函数

功能:

分别返回日期或日期时间型自变量中的年份、月份和日子。

例:

分别求出今天的年、月、日。

5、HOUR函数、MINUTE函数、SEC函数

功能:

分别返回日期时间型自变量中的时、分、秒。

例:

分别求出现在的时、分、秒。

五、常用转换函数

1、STR函数

功能:

将数值型自变量转换为字符型。

例:

STR(123.456)

说明:

函数值默认10位,不带小数部分。

可以加上第2、第3个参数,用来分别表示总位数和小数位数。

默认或指定位数比实际位数多时,函数值的左边补以相应个数的空格,以保证总位数;默认或指定位数比实际位数少时,先减少小数位数,还不够时,只好返回默认或指定位数个*。

练习:

验证以下函数值,看看和自己预想的是否一致。

STR(123.456,5)

STR(123.456,5,1)

STR(123.456,5,2)

STR(123.456,6,2)

STR(123.456,3,2)

STR(123.456,2)

2、VAL函数

功能:

将字符型自变量转换为数值型。

例1:

VAL("1234.56")

例2:

VAL("123a")

例3:

VAL("上午好!

")

3、DTOC函数

功能:

将日期型或日期时间型自变量转换为相应的日期字符串。

例:

DTOC(DATE())

说明:

转换后的字符串组成和当前日期格式有关,若加上1参数,将转化为YYYYMMDD这种固定格式的字符串,如:

DTOC(DATE(),1)

4、TTOC函数

功能:

将日期时间型自变量转换为相应的字符串。

例:

TTOC(DATETIME())

说明:

转换后的字符串组成和当前日期时间格式有关,若加上1参数,将转化为YYYYMMDDHHMMSS这种固定格式的字符串,如:

TTOC(DATETIME(),1)

5、CTOD函数

功能:

将日期形式的字符串转化为日期型。

说明:

字符串的日期形式应和当前日期格式一致,否则将转化为空日期。

例:

CTOD("2010/5/1")

6、CTOT函数

功能:

将日期时间形式的字符串转化为日期时间型。

说明:

字符串的日期时间形式应和当前日期时间格式一致,否则将转化为空日期时间。

例:

CTOT("2010/5/110:

8:

30")

7、ASC函数

功能:

求字符型自变量中第一个字符的ASCII码。

例:

ASC('A')

8、CHR函数

功能:

根据ASCII码求对应的字符。

例:

CHR(65)

六、常用测试函数

1、EMPTY函数

功能:

判断一个数据是否空值,是为真,否则为假。

例:

EMPTY(0),EMPTY("0"),EMPTY(""),EMPTY(""),EMPTY({})

2、VARTYPE函数

功能:

判断自变量的数据类型,返回相应的字母。

例:

VARTYPE(23),VARTYPE('23')

3、BETWEEN函数

功能:

判断第一个自变量的值是否在后两个自变量之间,是,函数值为真值;不是,函数值为假值。

例:

BETWEEN(3,1,6),BETWEEN(3,6,1),BETWEEN(3,3,6),BETWEEN(3,4,6),BETWEEN(“e”,”a”,”x”)

七、其它常用函数

1、条件函数

用法:

IIF(逻辑型表达式,表达式1,表达式2)

功能:

如果逻辑型表达式的值为真,则表达式1的值作为函数值,否则,表达式2的值作为函数值。

例:

函数IIF(X>10,’AAA’,’BBB’)

思考:

当变量X分别取值10、0、100时,函数IIF(X>10,’AAA’,IIF(X<10,’BBB’,’CCC’))的值。

2、宏替换函数

用法:

&字符型变量.

功能:

用字符型变量的值(不带定界符)替换整个宏替换函数。

例:

假设A=’76+28’,问A和&A.分别等价于什么?

说明:

1)该函数是一个十分有用又十分特殊的函数。

2)宏替换函数出现在字符串中时也还有效,而其它函数出现在字符串中时被当作一个个字符处理。

如:

若A='ABC',则'X&A.Y'等价于'XABCY';而'XABS(-86)Y'却不等价于'X86Y'。

3)宏替换函数最后的小数点是宏替换函数的结束标记。

当宏替换函数和其后的内容能够明确区分清楚时,该结束标记可以省略。

思考:

下面的表达式中,哪些宏替换函数的结束标记可以省略?

&A.+52,&A.6-285,’&A.BCDEFG’。

〖练习〗

一、STR函数将数值型自变量转换为字符型时,函数值默认10位,试予以验证。

二、试通过VARTYPE函数了解下列函数值的类型:

LEN函数、AT函数、OCCURS函数、DATE函数、TIME函数、DATETIME函数、STR函数、VAL函数、DTOC函数、TTOC函数、CTOD函数、CTOT函数、EMPTY函数、BETWEEN函数、VARTYPE函数。

三、试用IIF函数写出为变量B赋值的赋值命令,要求:

当变量A的值为正时,B赋以值8+20;当变量A的值为负时,B赋以值8-20;当变量A的值为0时,B赋以值8。

四、先在命令窗口进行如下赋值:

A='CLE'

B='X'

C='&B+Y'

X=10

Y=20

然后在命令窗口输入下列各行并回车,看看现象或结果和自己预想的是否一致:

?

A,&A

?

B,&B

?

C,&C

&AAR

&A.AR

五、练习其他函数。

3.4VisualFoxPro的表达式

一、认识

·表达式即运算对象(常量、变量、函数)通过运算符号进行运算的式子。

·不同的运算符号有不同的优先级,运算时,优先级高的运算符号先算,优先级低的运算符号后算,同等优先级的自左至右进行运算。

如10+30-20/5。

·为了让优先级低的运算符先算,应使用圆括号。

注意:

只能使用圆括号。

·表达式中的所有符号应并列书写,不能像数学中那样书写。

·单个运算对象,也认为是表达式(表达式特例)。

二、数值表达式

1、认识

对数值型、货币型数据进行运算的式子,其值为数值型或货币型。

2、运算符及优先级

**或^:

乘方运算;

*:

乘法运算;

/:

除运算;

%:

求余运算;

+:

加运算;

-:

减运算。

例:

试写出下列算式的VFP表达式。

三、字符表达式

1、认识

对字符型数据进行运算的式子,其结果仍为字符型。

2、运算符及优先级

+:

将前后两个字符串进行合并,如"abc"+"def",其结果为字符串"abcdef"。

-:

将前后两个字符串进行合并,但将前面字符串尾部的空格挪到合并后的字符串尾部。

如"abc"-"def",其结果为字符串"abcdef"。

四、日期时间表达式

1、认识

有日期时间型数据参加运算的式子,其结果类型依情况而定。

2、表达式实例

·日期+数值或数值+日期

·日期-数值

注意:

不能数值-日期

·日期-日期

·日期时间+数值或数值+日期时间

·日期时间-数值

注意:

不能数值-日期时间

·日期时间-日期时间

五、关系表达式

1、认识

对类型一致的数据进行比较的式子,如A56,'春节'>'圣诞节'等。

如果比较成立,结果为逻辑值真,否则为假。

2、比较符号

·比较符号又叫关系运算符。

·关系运算符:

(见关系运算符)

思考:

关系表达式“1<2<3”的值是什么?

3、VFP中数据大小的规定

除使用$(属于)关系运算符的关系表达式外,关系表达式的运算结果和关系运算符两边数据的大小密切相关,因此,必须清楚VFP中关于数据大小的规定。

1)数值型、货币型的大小

同算术中大小。

2)日期型、日期时间型的大小

靠后的日期、时间大。

3)逻辑型的大小

真大于假。

4)字符型的大小

·单个字符大小的规定

当设置为Machine(机器)顺序时

字符大小:

空格<数字字符(’0’到’9’)<大写字母<小写字母;

汉字大小:

常用汉字以拼音顺序排大小,如’李’小于’张’。

当设置为PinYin(拼音)顺序时

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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