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

第三章:数据与数据运算
8)子串替换函数: STUFF(字符串1,起始位置,长度,字符串2) 用字符串2替换字符串1中有位置和长度指定的字符 串。 9) 字符替换函数: CHRTRAN(字符串1,字符串2,字符串3) 如果字符串1中有一个字符与字符串2中的一个字符 相匹配,则用字符串3中与字符串2相对应的那个字符 来替换字符串1中的字符。如果字符串3的个数小于字 符串2,则在字符串3中找不到相关字符时删除字符串 1中的字符。
第三章:数据与数据运算
4. 数据类型转换函数: 1)数值转换成字符串: STR(数字表达式,[长度],[小数位]) 将数字转换成字符串。长度指定返回的整个字符 串的长度,小数位指定返回的小数位。 如果长度大于数字表达式的长度,则前端补空格 如果长度大于整数部分但小于整个数据长度,则先满 足整数部分, 如果长度小于整数部分,则输出*字符串。
第三章:数据与数据运算
6. 逻辑常量:表示 真和假的两个常量,书写格式为: 逻辑真:.t. 、.T. 、.y. 、.Y. 逻辑假: .f. 、.F. 、 .n. 、. N. 三. 变量的表示: 在vfp中变量可以分为以下几种: 1) 内存变量 2)字段变量 3)数组 1. 内存变量的使用: 1)VFP中内存变量不需要经过特别的定义就可以 使用。当给内存变量赋值时系统自动创建该内存 变量并确定它的类型。 2)内存变量的赋值: 格式1: 变量=值 格式2:store 值 to 变量列表
第三章:数据与数据运算
4. 关系表达式:由关系运算符组成的表达式 1) 常用的关系运算符:
运算符 > > = <>、#、 !=
说明 大于 小于 等于 不等于
运算符 〉= 〈= == $
说明 大于等于 小于等于 精确比较 子串包含测试
VFP上机_表达式与函数

将设备表复制到D盘xxx目录下(xxx即个人文件夹),执行命令:set default to d:\xxx一、常量及变量1.常量及其运算(1)数值型常量?2*3.14*3 && 18.84?0.281828E1*2 && 5.63656(2)字符型常量字符型常量定界符:'abc'、"abc"、[abc]?"信息 "+"技术" && "信息技术"?"信息 "-"技术" && "信息技术 "(3)日期型常量、日期时间型常量及其运算通常日期格式与严格日期格式的切换命令为:set strictdate to 0|1?{03/05/90}+30 && {04/04/90},即30天以后?{03/05/90}-30 && {02/03/90},即30天以前?{03/05/90}-{03/05/89} && 365,即两个日期相差的天数?{03/05/90}+{03/05/89} && 错误!两个日期不可相减?{03/05/90 11:59:00am}+60 && {03/05/90 12:00:00 PM},即60秒以后?{03/05/90 11:59:00am}-60 && {03/05/90 11:58:00 AM},即60秒以前?{03/05/90 11:59:00am}-{03/05/90 10:59:00am} && 3600,即相差的秒数?{03/05/90 11:59:00am}+{03/05/90 10:59:00am} && 错误,两个日期时间型常量不可相减(4)逻辑型常量及其运算逻辑型常量只能进行逻辑运算。
VFP第三章

程序设计教程
北京邮电大学出版社
第3章 Visual FoxPro的数据及其运算 FoxPro的数据及其运算
本章知识要点
了解并掌握基本数据类型以及Visua FoxPro的常 用函数、表达式的使用。 重点:Visual FoxPro的常用函数,内存变量的使 用。 难点:内存变量的使用。 计划课时:2课时。
7.Memo (备注型,用字母M表示) 备注型,用字母M表示) 备注型数据(又叫记忆型、注释型)用于存放较多 字符的数据。其长度系统定义为4位。它能接受一切字符 数据,当数据中定义一个备注字段时,系统自动生成一个 与表文件同名但扩展名为.FPT的备注文件。
通用型,用字母G表示) 8. General (通用型,用字母G表示) 通用型数据用来存放电子表格、图像、声音等OLE对 象的数据。其长度系统定义为4位。通用型数据内容与备 注型相同,也是存放在扩展名为FPT的备注文件中。
例:
a1 = 6 STORE 6 TO a1,a2,c
注意: 注意: 访问内存变量时,若它与字段变量同名时, 访问内存变量时,若它与字段变量同名时, 则应该用如下格式进行访问: 则应该用如下格式进行访问: M.内存变量名 内存变量名 或 M—>内存变量名 内存变量名
姓名= 王明” 例:M.姓名=“王明” 姓名 或 M—>姓名=“王明” 姓名= 王明” 姓名
( ) ; **或 ; * ; / ;
(括号) (乘方) (乘)
^
% ; + ; -
(除) (求余数) (加) (减)
例: y = x2-3x+9
2.字符型表达式 2.字符型表达式 字符型表达式 是用字符运算符将字符型数据连接起来的式子,其运 算结果是字符型数据。运算符有两种: (1). 连接运算 “+”:将两个字符串连接起来形成一个新的字符串。 “-”:是去掉前一字符串的尾空格,然后与后面字 符串连接起来,并把去掉的尾空格放到结果串的末尾。 (2). 包含运算 <字符串1> $ <字符串2> 包含运算的结果是逻辑值:若<字符串1>包含在<字符 串2>之中,其表达式值为.T.,否则为.F.。
第三章 VFP基础

256,25 16 1 5
数值表达式:由数值运算符将数值型常量、变量、函数
等连接起来的式子,其结果为数值型。
3.3 运算符及表达式
3.3.2 字符串运算符及字符表达式
1、字符串运算符有
‚+”完全连接:两个字符串的简单连接;
‚-‛不完全连接:将前字符串的尾部空格移到 后字符串的尾部,然后,再将两个字符串连接起来。 ‚$”包含:检测左边的字符串是否被包含在右边 的字符串中。如果包含,返回.T. ,否则返回.F. 。 ‚= =”精确比较:只当两边的字符串完全相等时, 才返回.T. 。
3.1 数据类型
3.1.6 货币型数据(Currency)-Y
用来表示货币值。占用8个字节。
3.1 数据类型
3.1.7 逻辑型数据(Logic)-L
用来进行各种逻辑判断的数据。只有两个值,即真 (.T.)和假(.F.),长度固定为1位,占用1个字节。
3.1 数据类型
3.1.8 日期型数据(Date)-D
几个例外: 1. 自由表的字段名、索引标识Tag最多 只能10个字符; 2. 字段名只能以字母(汉字)开头;
3.2
常量与变量
1、内存变量 存在于内存中的临时变量,常被用来存储所需要 的常数、中间结果或最终结果。内存变量的定义是通 过赋值语句来完成的。
3.2
常量与变量
1) 内存变量赋值 命令格式:STORE <表达式> TO <内存变量名表> 或 <内存变量名>=<表达式>
【例3-1】
aa=“abc” STORE “ABC” TO aa STORE 0 TO x,y,z
3.2 2)输出内存变量
常量与变量
VFP的数据与运算

3.2.1 常量
5. 日期型常量
一种由数字按固定格式组成的特殊类型。
日期型常量两边必须用大括号{ }括起来,年月日 彼此间用分隔符(. - /)隔开。 而用字符串表示 日期型常量时需用CTOD( )函数进行转换。
例:{^2006.03.15}、{^2006-03-15}、 {^2006/03/15}、CTOD(“03/15/2006”)、{ }
(2) 命名以字母或下划线开头。除自由表中字段 名、索引的TAG标识名最多只能10个字符外, 其他的命名可使用1~128个字符
(3) 为避免误解、混淆,不应使用Visual FoxPro 保留字(命令名、函数名等各种系统预定义项 的名称)进行命名
3.2.2.2 字段变量
字段变量就是表中的字段名,它是表中最基本的 数据单元
内存变量独立于表而存在,在使用时随时建立
内存变量的类型有字符型、数值型、货币型、 逻辑型、日期型和日期时间型等
3.2.2.3 内存变量
1. 内存变量的赋值
内存变量赋值既可以定义一个新的内存变量,也 可改变已有内存变量的值或数据类型
给内存变量赋值的命令有两种格式:
格式1:<内存变量>=<表达式>
格式2:STORE<表达式>TO<内存变量表>
与其他变量不同的是,字段变量是定义在表中的 变量,随表的存取而存取,因而是永久性变量
字段变量的类型可以是Visual FoxPro的任意数据 类型,字段值就是变量值
字段变量的名字、类型、长度等是在定义表结构 时定义的
3.2.2.3 内存变量
内存变量是内存中的一个存储区域,变量值就 是存储在这个区域里的数据,变量的类型取决 于变量值的类型
第三章VFP6语言基础1

0
3.1 常量、变量、数据类型
1. 常量
常量就是在工作过程中其值不发生变 化的量。常量有四种类型: (1) 数值型常量(Numeric,简称N型) 数值型常量又称常数,是由阿拉伯数 字、正负号和小数点组成的可以进行 算术运算的数。可用科学计数法表示 。
1
3.1 常量、变量、数据类型
• 逻辑“真” 用.T.或.Y.、.t.、.y.表示,但系统一律 转换为.T.存储。
• 逻辑“假” 用.F.或.N.、.f.、.n.表示,但系统一 律转换为.F.存储。
6
3.1 常量、变量、数据类型
(5) 货币型常量
• 货币型常量以$符号开头,并四舍
五入保留4位小数。
•例如货币型常量$100.12345,代表
(2) 字符型常量(Character,简称C型)
• 字符型常量又称字符串,是由ASCII字 符和汉字组成的一串字符。
• VFP规定字符型常量最多包含254个字 符(一个汉字占2个英文字符位置)。
• 字符串须用定界符。定界符有三种:单 引号(‘’)、双引号(“ ”)和方括号([、 ])。
• 当字符串本身含有其中一种符号时,选 用另一种符号作为定界符。
: 100.1235
7
3.1 常量、变量、数据类型
2. 变量
在命令操作和程序运行过程中其值允许变化的 量称变量。
变量包括3种:
• 内存变量 •简单变量 •数组
• 字段变量 • 系统变量 • 对象变量
8
3.1 常量、变量、数据类型
1) 内存变量
•内存变量的三个属性:变量名、类型和值。 变量名 以字母(也可汉字)或下划线开头,由字母、 数字、下划线组成,至多128个字符的字符串
全国计算机二级vf第三讲常量、变量、表达式

常量
表示一个具体的,不变的值。不同常量的书 写方式不同 1. 字符型常量 2. 数值型常量 3. 货币型常量 4. 日期型常量 5. 逻辑型常量
1.字符型常量
表示方法:用英文状态下的单引号,双引 号,中括号把字符串括起来 定界符:单引号,双引号,中括号
2.数值型常量
数值型常量也就是常数,用来表示数量的 大小 由0~9、小数、正负数组成
表达式
表达式:通过运算符把两个数据连接起来的式子,并且能得到另外一个数据 的这种形式
一. 二. 三. 四.
五.
字符表达式 数值表达式 日期表达式 关系表达式 逻辑表达式
一、字符表达式
概念:由字符串运算符将字符型数据连接起来形成
运算符:+或— + 表示照原样链接 — 表示紧缩式链接(将第一字符串尾部 空格移至整个字符串以后)
3.货币型常量
货币型常量用来表示货币值 书写时只需要在数值型常量前加“$” 货币数据在存储和计算时,采用4位小数
4.日期型与日期时间型常量
严格型日期的输入格式{^yyyy-mm-dd} 传统型和美国型输入格式{mm/dd/yyyy} Set mark to (日期间隔符) 设置日期的间隔符 Set century on/off 设置年份的显示位数 Set date to ymd/mdy 设置日期的显示格式 严格型日期时间型:{^yyyy-mm-dd hh:mm:ss a/p}
说明 大于 小于 等于 不等于 运算符 <= >= == $ 说明 小于等于 大于等于 精确比较 包含测试
字符的排序次序①②来自③大写大于小写,小写大于 空格 从左自右依次比较 汉字按拼音比较
03.VFP语言基础

13
④浮点型常量:
对应于日常应用中的科学记数法;
例如:13亿。
在数学上以实数形式表示是1,300,000,000。
以科学记数法的乘幂形式表示是1.3×109。 在VFP中采用浮点型常量表示为1.3E+9。
14
⑤ 日期型常量: ◇系统默认格式: {^yyyy-mm-dd} 如: {^2006-05-01} ◇说明: 日期值的输入格式与输出格式并不完全相同,特 别是输出格式受系统环境设臵的影响,用户可根据应 用需要进行相应调整、设臵。 ◇设臵年份的位数: set century on 年份设臵为4 set century off 年份设臵为2
2.浮点型(F)
与数值型数据完全等价,只是在存储形式上采用浮点 格式,主要是为了得到较高的计算精度,占8个字节。
5
3.双精度型(B) 是具有更高精度的一种数值型数据。 它采用固定长度浮点格式存储,占用8个字节。 4.整型 (I) 是不包含小数部分的数值型数据。 整型数据只用来表示整数,以二进制形式存储,占 用4个字节。
?M->学号
27
4、系统变量
都以下划线开头,有特殊的用途;
如:_pageno
_diarydate
存储页面号
存储当前日期
28
5、内存变量的显示
命令格式:
list|display memory [like<通配符>]
[to printer[prompt]|to file<文件名>]
说明:
①打印输出的内容
示例:X=3.141
◇命令:store <表达式> to <内存变量表>
示例:STORE 3.141 TO X
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章Visual FoxPro的常量、变量、表达式和函数3.1 Visual FoxPro的常量一、常量的认识1、常量是表示一个确定的数据,如65.8等。
2、Visual FoxPro中,常量的类型有数值型、货币型、字符型、逻辑型、日期型、日期时间型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"是不同的两个字符串。
注意:其他场合,字母的大小写是不区分的。
·组成字符串的内容中可以有空格,如"ab cd"、"a bc d"、" "等都是正确的字符串。
·定界符中没有任何内容时,也是正确的字符串,这样的字符串称为空串。
注意:空串并不是指全部由空格组成的字符串。
五、逻辑型常量1、逻辑型常量用来表示一个逻辑值。
逻辑值只有两个:真值和假值。
2、逻辑型常量的表示真值:.T. 、.t. 、.Y. 、.y.假值:.F. 、.f. 、.N. 、.n.六、日期型常量1、日期型常量用来表示一个日期。
2、日期型常量的表示如2010年12月9日可表示为:{^2010-12-9}、{^2010.12.9}、{^2010/12/9}、{^2010 12 9}。
说明:这种表示格式不受系统当前日期格式的影响。
七、日期时间型常量1、日期时间型常量用来表示一个日期和时间。
2、日期时间型常量的表示格式:{^日期,时间}其中,日期的书写格式与日期型常量中的日期格式相同,时间的书写格式有:8:30:30、18:15:25、8:10:30A、8:10:30AM、8:10:30P、8:10:30PM。
〖练习〗通过显示命令显示你的姓名、所在专业、年龄、月消费金额、出生日期、是否党员(假设真值表示是党员、假值表示不是党员)、我们下次课的日期及时间。
3.2 Visual FoxPro的变量一、变量的认识1、变量是一个用名称(称为变量名)来表示的量,它的值是可改变的。
2、变量名一般以字母或汉字开始,其后可以是字母、汉字、数字及某些符号(如下划线)。
〖思考〗a,aa,b12,c_1,a1B2,2d4,同学们,“同学们”,"同学们"以上哪些可以作为变量名?3、变量的类型由其值的类型决定。
二、给变量赋值1、赋值命令的格式变量=表达式store 表达式to 变量1,变量2,……2、赋值命令举例例1:下列赋值命令是否正确?正确的说出含义,错误的说出原因。
Store 88 to a1,a2,a3Store 8+8 to b1,b2,b3Store 8,9,10 to c1,c2,c3d1=d2=d3=55p=10p=”生物工程和环境科学”例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、list memory命令格式:LIST MEMORY [LIKE 通配名] [TO PRINTER] [TO FILE 文件名]。
功能:显示变量信息。
说明:·变量信息包括变量名、类型、值等内容。
·命令格式中,中括号项表示中括号里的内容不是必须有的,看实际情况。
这样的项称为选项。
〖思考〗使用选项时,中括号要否?·“LIKE 通配名”选项解释表示只显示和通配名一致的变量信息。
没有该选项时,表示显示全部的变量信息。
说明:通配名是指包含?或*的变量名,其中,?表示该位置可以是任意的某个符号,*表示该位置可以是任意多的符号。
比如a?c表示这样的一些变量:第一位是a,第二为任意,第三位是c;a*c表示这样的一些变量:第一位是a,最后一位是c,中间内容任意。
·“TO PRINTER”选项解释表示将变量信息同时送打印机打印。
·“TO FILE 文件名”选项解释表示将变量信息同时存入到指定的文件中。
·显示全部变量信息时,不仅有我们自己使用的变量,而且包括VFP本身所固有的变量(这些变量称为系统变量,系统变量名均以下划线开始)。
·当显示的变量信息超出一个屏幕时,前面的信息会滚出屏幕。
2、display memory命令格式:DISPLAY MEMORY [LIKE 通配名] [TO PRINTER] [TO FILE 文件名]。
功能:显示变量信息。
说明:与list memory命令的唯一区别在于:当显示的变量信息超出一个屏幕时,该命令能做到一个屏幕一个屏幕地显示。
3、clear memory命令格式:clear memory功能:清除所有变量。
说明:系统变量是我们清除不掉的。
4、release命令格式1:release 变量1,变量2,……功能:清除指定的变量。
格式2:release all功能:清除所有变量。
格式3:release all like 通配名功能:清除和通配名一致的变量。
格式4:release all except 通配名功能:清除和通配名不一致的变量。
〖练习〗一、试用二维数组表示如下矩阵并予以显示:1 0 0 00 1 0 00 0 1 00 0 0 1二、用一个下标方式表示上题对角线上各元素,并通过显示命令显示出他们的值。
三、分别为变量abc,xb,mbn赋值{^2012-12-15},.f.,25,然后显示:1、这三个变量的值;2、这三个变量的信息。
四、VFP中,能否使用三维数组?五、练习其他有关内容。
3.3 Visual FoxPro的函数一、认识·可以通过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位小数。
SET DECIMALS TO命令可设置运算结果的小数位数。
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函数功能:从多个自变量中挑出最大的值。