visualfoxpro的运算符与表达式
Visual FoxPro表达式和运算符

I+
} ‘ 或
%
加 同 学中 加 数 的 法
减 同数学中的减法 乘 同数学 中的乘法 除 同数学 中的除法 乘方 同数学 中的乘方 , 4 3表示 4 如 3
求 余 1% 5表 示 1 2o 2除 以 5所 得 的余 数 2
? a e { 19 - 0 0 ) d t O- 9 7 1- 1
运算符 功能
+
1 .算术运 算符: 算术运算符用于进 行算术运 算 , 接起来 的表 达式称 连
为 算 术 表达 式 , 果是 一 数 值 。如 下 表 : 结
日期 +天数得到新 日期
时 间 +秒 数 得 到 新 时 间
表 卜1 运算符
算术运算符 名称 功能
日期 一日期得到 间隔天数 时 间 一时 问得到 间隔秒数 日期运行符无优先级 例 l计算香港回归距现在 多少天 。 :
x & = a &定义 字 符 常量
例 : 命 令 窗 口输 入 执 行 以下 : 在
a b = ae b e = df
c g : hi
y & = b &定义字符常量 ? > &比较 a和 b字符 的 A C I x y& S I码 F A .& a和 b的 A C I 分 别 是 9 和 9 , 系不 成 立 取 逻 辑假 值 S I码 7 8关
比较两个运算 量或表 达式的大小, 回值为逻辑值 返 比较两个运算 量或表达式的大小, 返回值为逻辑值
等于 不等 于 小于等于 大于等于
不精确比较两个运算量或表达式是否相等 , 回值为逻辑值 返 比较两个运算量或表达式是否不 相等 . 返回值 为逻辑值 比较两个运算量或表达式 的大 小或相等与否 , 返回值为逻辑值 比较两个运算量或表达式 的大 小或相等与否 , 返回值为逻辑值
VFP-运算规则解析

3-2 函数
3、日期和时间函数 求系统日期:date( ) 求系统时间:time( ) 求系统日期时间:datetime( ) 求年:year(日期型数据) 求月:month(日期型数据) 求日:day(日期型数据) 求时:hour(日期时间型数据) 求分:minute(日期时间型数据) 求秒:stc(日期时间型数据)
A=“金融职业技术学校“
取计右算边子子串串出:现次rig数h:t(o串c,cu长rs度(串) 1,B?串=b2le)ft(a,4)+right(a,4)
求子串位置:at(串1,串2)
子串替换:strff(串1,超始位置,长度,串2)
字符替换:chrtran(串1,串2,串3)
字符串匹配:like(串1,串2)
12+24/(6/2+2^3)*2/4-6*6%5^2
3-1运算符与表达式
2、字符运算符
运算符 完全连接 +
不完全连接 –
说明
前后两个字符串首尾连接形成一 个新的字符串
连接前后两个字符串,并将前字 符串的尾部空格移到合并后的 新字符串尾数
例:求下列表达式的值 “Bei “+ “Jing” “Bei “+”Jing”
的年龄、求出香港回归那天是星期几。
二、实地训练
|-4.32| Abs(-4.32)
Ln10
Log(10 )
e3
Exp(3)
求, 56.7)
对于24.5674进行四舍五入保留三位小数 round(24.5674, 3)
取“职业技术学院计算机系”的左边一字
四、归纳总结
1、VFP有五类运算符和五类函数:
数值运算符
五种函数
五种运算符
VFP表达式和运算符

⼀.表达式:表达式是vfp命令和函数的重要组成部分,是由常量、变量、函数⽤运算符连接⽽成的有意义的式⼦⼆.运算符:1.算术运算符:算术运算符⽤于进⾏算术运算,连接起来的表达式称为算术表达式,结果是⼀个数值.如下表:运算符功能+,-正负号**,^幂*,/,%乘,除,取余+,-加,减优先级从⾼到低为:**,^→*,/,%→+,-例:将(55+9×5)÷2写成vfp算术表达式.我们在命令窗⼝输⼊并执⾏下列:(55+9*5)/2 &&结果可以⼝算,是502.字符运算符:⽤于字符串连接运算,结果是⼀个新的字符串,如下表:运算符功能+将+号前后字符串连接起来组成⼀个新的字符串-删除-号前⾯字符串的尾部空格后再与右侧的字符串组成新的字符串例:在命令窗⼝输⼊执⾏以下:a="abc " &&abc后⾯有两个空格b="def " &&def后⾯有两个空格c="ghi"a+b+c &&完全连接,下⾏是运⾏结果abc def ghix=a-b-cx &&下⾏是结果abcdefghi3.⽇期运算符:⽤于进⾏⽇期运算,如下表:运算符功能+⽇期+天数得到新⽇期时间+秒数得到新时间-⽇期-⽇期得到间隔天数时间-时间得到间隔秒数⽇期运⾏符⽆优先级例1:计算⾹港回归距现在多少天.date()-{^1997.10.01} &&date()函数⽤于取得当前⽇期.例2:计算距今天1000天的⽇期.date()+10004.关系运算符:⽤于进⾏关系运算,结果是逻辑值,如下表:运算符功能>⼤于=等于<>,#,!=不等于<=⼩于等于>=⼤于等于==字符串全等⽐较$包含运算,判断左侧字符串是否是右侧字符串的⼦串例:输⼊并执⾏下列命令:a=1234 &&定义数值常量b=2345 &&定义数值常量a.t. &&关系成⽴取真值a>b &&数值⽐较.F. &&关系不成⽴,取假值x="a" &&定义字符常量y="b" &&定义字符常量x>y &&⽐较a和b字符的ASCⅡ码.f. &&a和b的ASCⅡ码分别是97和98,关系不成⽴取逻辑假值"bc"$"abcd" &&⽐较$左边的字符串是否是其右边的字符串的⼦串.T. &&是其⼦串,取逻辑真值"ac"$"abcd" &&⽐较$左边的字符串是否是其右边的字符串的⼦串.F. &&不是其⼦串,取逻辑假值"abcd"="abc" &&⽐较等号右边字符串是否是其左边字符串从⾸字符起的⼦串.T. &&是其⼦串,取逻辑真值"abcd"="bcd" &&⽐较等号右边字符串是否是其左边字符串从⾸字符起的⼦串.F. &&不是其⼦串,取逻辑假值"abcd"=="abc" &&字符串等长并完全相同⽐较.F. &&不等长取逻辑假值5.逻辑运算符:⽤于作表达式之间的逻辑运算,参加运算的表达式应有逻辑值.运算的结果是逻辑值,如下表: 运算符功能.Not.,!逻辑⾮.and.逻辑与.or.逻辑或逻辑运算符的优先级:逻辑⾮→逻辑与→逻辑或逻辑运算符的意义是:A.and.B 只有当A和B都为真时,逻辑运算的结果才为真,否则为假A.or.B A和B中有⼀个为真,结果却为真.Not.A 当A为真值时,结果为假值,当A为假值时,结果为真值.例:y=.f. &&y的值为逻辑假.Not.y.T. &&对y值取反,结果为真a=3b=9a.T.a.T. &&两边都为真,结果为真。
visualfoxpro的运算符与表达式

Visual FoxPro的运算符与表达式运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,而参与运算的数据称为操作数。
表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。
表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。
表达式的类型由运算符的类型决定。
在Visual FoxPro 6.0中有5类运算符和表达式:•算术运算符和算术表达式•字符串运算符和字符串表达式•日期运算符和日期表达式•关系运算符和关系表达式•逻辑运算符和逻辑表达式1.算术运算符与算术表达式算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。
例如:50*2+(70—6)/8的运算结果为108.00。
算术表达式的格式为:<数值1><算术运算符1><数值2>[<算术运算符2><数值3>…](1)算术运算符Visual FoxPro 6.0提供的算术运算符见下表。
在这6个算术运算符中,除取负“-”是单目运算符外,其他均为双目运算符。
它们运算的含义与数学中基本相同。
运算符名称说明+ 加同数学中的加法- 减同数学中的减法* 乘同数学中的乘法/ 除同数学中的除法^或**乘方同数学中的乘方,如4^3表示43%求余12%5表示12除以5所得的余数2•( ) →^、** →*、/ → %→ +、- (2)表达式的书写规则算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:•每个符号占1格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。
例如:23要写成2^3,Xl十X2要写成X1+X2。
•原来在数学表达式中省略的内容必须重新写上。
例如:2X要写成2*X。
•所有括号都用小括号(),且括号必须配对。
例如:3[x+2(y+z)]必须写成3*(x+2*(y+z))。
VFP第2部分(表达式函数)

【修改例2-4】设计并运行如图所示的表单,体会 运算结果。表单分别有1个标签、3个文本框、1个 命令按钮,其caption属性如图所示。
建议:最好不讲组合框, 只涉及文本框、标签和命 令按钮
文本框默认的值为字符型,alltrim()是 一个函数,功能是去掉文本框中前后空 格,不删除串中间的空格
“计算”命令按钮的“Click”事件代码 : A=alltrim(thisform.text1.value) B=thisform.text2.value thisform.text3.value=A$B
* 乘、/ 除、+ 加、- 减
仔细体会教科书P25【例2-3】
(2)字符表达式 字符表达式运算的结果是 字符型常数或逻辑型常数。
字符运算符:
$ 包含运算 逻辑型常数 字符型常数
+ 连接运算
- 连接运算
串1$串2 “$”运算实质上是比较两个串的包含关系, 其作用是比较、判断串1是否为串2的子串,如果 串1是串2的子串,运算结果为“真”,否则为 “假”。 所谓子串,如果串1中所有字符均包含在串2 中、且与串1中排列方式与顺序完全一致,则称 串1为串2的子串。
bel3.caption="该同学的计算机等级考试成绩为:通过"
else
bel3.caption="该同学的计算机等级考试成绩为:不通过"
endif
函数
函数具有特定的功能,分为系 统函数和自定义函数两类。 函数具有函数名、参数和函数 值三个要素,有的函数缺省参数。 函数调用的一般形式为:
式的格式中,只要后一个表达式是前一个表达式的前缀,其结
果便为真。 例:”ABCDE”=“A” 例:”A”=“ABCDE” “ABCDE”=“AB” “AB”=“ABCDE”
浅谈Visual FoxPro中的运算符和表达式以及常用函数的关系

三、常用函数
函数是指事先编制好的计算模块,可供程序在任何地方调用,函
数运算后所返回的值叫作函数值。函数的功能是返回一个值,通过引
用函数,可以得到一些需要的数据和重要的信息。
函数一般划分为五大类,即数值函数、字符处理函数、日期时间
函数、数据类型转换函数、测试函数。
1、数值函数
数值函数一般是指函数参数、函数值均为数值型数据的一类函
(3)日期时间函数
日期时间函数的参数一般是日期型数据或日期时间型数据。
日期时间函数
操作符
说明
实例
结果
DATA()
返回当前系统的日期, 函数值值为日期型
?DATA()
17/05/04
以 24 小时制的
TIME()
hh:mm:ss 格式返回当 前系统时间,函数值为
?TIME()
10:58:45
字符型
DATATIME()
12/05/09
CTOT(字符表达 式)
将为“日字期符时表间达型式数”转据换?C3T4:OD4(5””)22:10:34:45
(5)测试函数
在数据处理过程中,有时用户需要了解操作对象的状态,从而根
据测试结果决定下一步的处理方法等。
参考文献:
[1]Visual FoxPro 中记录指针定位的教学手段[J]. 邓格红. 电
一、运算符
运算是对数据进行加工的过程。描述各种不同运算符的符号称为 运算符,而参与运算的数据称为操作数。Visual FoxPro 系统定义了 4 类运算符,分别为算数运算符、字符运算符、关系运算符和逻辑运算 符。
1、算数运算符 在算数运算符中,除了负运算“—”是单目运算符外,其余均为 双目运算符,运算的含义与数学中的基本相同。 2、字符运算符 Visual FoxPro 系统中的字符运算符都是双目运算符,要求两个操 作数都是字符串,其结果仍是字符串。 3、关系运算符 关系运算符都是双目运算符,要求双目操作数具有相同的数据类 型。操作数可以是各种类型的数据,包括数值型、字符型、货币型、 日期型和日期时间型数据,也可以使各种常量、变量、函数和表达式。 4、逻辑运算符 在逻辑运算中,逻辑非(NOT)的优先级最高,其次是逻辑与 (AND),逻辑或(OR)的优先级最低。
VFP讲稿(表达式)

Insert键的使用方法:用INSERT键切换,如ab!cd !为光标,再插入模式下,输入“ach”,会变为abachcd.在覆盖模式下,输入“ach”,变为abachVisual FoxPro讲稿第一部分VFP基础Ⅲ表达式一、算数运算符与数值表达式(见P56)A=5B=4C=61+(2*C^2/8 % 5-3)-8+4*A % 2^B/4*(B^(1/2)+1)●运算符与优先级(见表2.2) 先平方后乘除余再加减?2**3与?2^3是一样的●无论有多少层括号,都只能使用圆括号。
●算数表达式运算的结果是数值。
二、字符串运算符与字符表达式空格也是字符●字符串相加表达式。
?[1234 ]+[45678] 1234 45678●字符串相减表达式。
? [1234 ]-[45678] 123445678 (只对减号左端的空格有影响,移到下一个字符串结尾的后面,对其他无影响)●字符表达式运算的结果是字符串。
●数据类型不一样不能混合运算●?12+20 32 ?[12]+[20] 1220●只有货币型和数值型可以一起运算。
货币型精度高,数值型精度低。
按货币型计算。
●?$12+$20 32.0000 ?$12+20 32.0000三、日期时间运算符与日期时间表达式●表达式中的运算项应符合表2.3中的规定:●表达式的运算结果可以是数值型、或日期型、或日期时间型。
两个日期型只能相减,结果是数值型。
两个日期时间型只能相减,结果是数值型。
日期型可与数值型相加、或相减,结果是日期型。
日期时间型可与数值型相加、或相减,结果是日期时间型。
四、关系运算符与关系表达式(简单逻辑表达式)1. 关系运算符见P58 不等于<>、#、!= .字符串包含测试$,字符串精确比较双等号==●关系运算符两边的表达式的类型必须相同。
●运算符$仅用于字符型表达式的比较。
●?[大]$[伟大中国] 只要左右有一个或以上字符相同则为.T.●运算符==主要用于字符型表达式的精确比较。
第2章 Visual FoxPro语法基础

Visual FoxProd的数据类型 FoxProd的数据类型
数值型(Numeric):用于存储一个数量,由正负号, 数值型(Numeric):用于存储一个数量,由正负号,小数 ):用于存储一个数量 数字和字母E组成,用字母N表示.取值范围为: 点,数字和字母E组成,用字母N表示.取值范围为: 0.9999999999E+19-0.9999999999E+20,其长度最大为20 20位 0.9999999999E+19-0.9999999999E+20,其长度最大为20位, 通常用于表示实数, 97, 3.65,7E通常用于表示实数,如97,-3.65,7E-6(7×10-6)等. 浮点型(Float):在功能上等价于数值型, 浮点型(Float):在功能上等价于数值型,以科学计数方 ):在功能上等价于数值型 式表示数值型,用字母F表示.浮点型数据主要用于对计算精 式表示数值型,用字母F表示. 度要求较高的科学计算. 度要求较高的科学计算.
表2-1
FoxPro的数据类型 2.1.1 Visual FoxPro的数据类型
表2-2
ห้องสมุดไป่ตู้
FoxPro的数据类型 2.1.1 Visual FoxPro的数据类型
数据类型: 数据类型:
Visual FoxPro数据都有其所属的数据类型.所 FoxPro数据都有其所属的数据类型. 数据都有其所属的数据类型 谓数据类型就是对数据的允许取值以及取值范围的 说明. 说明.
Visual FoxProd的数据类型 FoxProd的数据类型
字符型(Character):由汉字,字母,数字,空格, 字符型(Character):由汉字,字母,数字,空格,符号 ):由汉字 等任意ASCII码字符组成,字符型数据的长度为0 254, ASCII码字符组成 等任意ASCII码字符组成,字符型数据的长度为0-254,每个 字符占1个字节,每个汉字占2个字节. 字符占1个字节,每个汉字占2个字节.字符型数据不具有计 算能力,用字母C表示. 算能力,用字母C表示. 货币型(Currency):用于储存货币值的数据. 货币型(Currency):用于储存货币值的数据.货币型数据 ):用于储存货币值的数据 最多只能保留到小数点后4 超过,则会四舍五入, 最多只能保留到小数点后4位,超过,则会四舍五入,不足四 位,则自动在后面补0.表示范围: 则自动在后面补0 表示范围: 922337203685477.5807. -922337203685477.5808 ~ 922337203685477.5807.货币型 数据用字母Y表示. 数据用字母Y表示.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual FoxPro的运算符与表达式
运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,而参与运算的数据称为操作数。
表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。
表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。
表达式的类型由运算符的类型决定。
在Visual FoxPro 6.0中有5类运算符和表达式:
•算术运算符和算术表达式
•字符串运算符和字符串表达式
•日期运算符和日期表达式
•关系运算符和关系表达式
•逻辑运算符和逻辑表达式
1.算术运算符与算术表达式
算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。
例如:50*2+(70—6)/8的运算结果为108.00。
算术表达式的格式为:
<数值1><算术运算符1><数值2>[<算术运算符2><数值3>…]
(1)算术运算符
Visual FoxPro 6.0提供的算术运算符见下表。
在这6个算术运算符中,除取负“-”是单目运算符外,其他均为双目运算符。
它们运算的含义与数学中基本相同。
运算符名称说明
+ 加同数学中的加法
- 减同数学中的减法
* 乘同数学中的乘法
/ 除同数学中的除法
^或**乘方同数学中的乘方,如4^3表示43
%求余12%5表示12除以5所得的余数2
•
( ) →^、** →*、/ → %→ +、- (2)表达式的书写规则
算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:
•每个符号占1格,所有符号都必须一个一个并排写在同
一横线上,不能在右上角或右下角写方次或下标。
例如:23要写成2^3,Xl十X2要写成X1+X2。
•原来在数学表达式中省略的内容必须重新写上。
例如:2X要写成2*X。
•所有括号都用小括号(),且括号必须配对。
例如:
3[x+2(y+z)]必须写成3*(x+2*(y+z))。
•要把数学表达式中的有些符号,改成Visual FoxPro 6.0
中可以表示的符号。
例如:要把2πr改为2*pi*r。
2.字符串运算符与字符串表达式
一个字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符组成。
它可以是一个简单的字符串常量,也可以是若干个字符串常量或字符串变量的组合。
Visual FoxPro 6.0提供的字符运算符有两个(其运算级别相同),见下表。
运算符名称
说明
+连接将字符型数据进行连接
-空格移位连接将前一数据尾部的空格移到后面数据的尾部
字符串表达式的格式为
<字符串1><字符串运算符1><字符串2>[<字符串运算
符2><字符串3>…]
例如:
"ABCl23"+"666xyz"连接后结果为:"ABCl23666xyz"
"计算机"+"世界" 连接后结果为:"计算机世界"
"ABC "-"DEFG" 连接后结果为:"ABCDEFG "
"ABC "+"DEFG" 连接后结果为:"ABC DEFG "
字符串表达式的值为字符串。
在字符串中嵌入引号,只需将字符串用另一种引号括起来即可。
例如:QM="'"
S=S+QM+ALLTRIM(THIS.Edit1.Value)+QM+","
3.日期时间运算符与日期时间表达式
日期型表达式由算术运算符“+、-”、算术表达式、日期型常量、日期型变量和函数组成。
日期型数据是一种特殊的数值型数据,它们之间只能进行加“+”、减“-”运算。
有下面3种情况:
•两个日期型数据可以相减,结果是一个数值型数据(两个日期相差的天数)。
例如:{^1999/12/19}-{^1999/11/16}结果为数值型数据:33
•一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日期型数据(向后推算的日期)。
例如:{^1999/11/16}+33结果为日期型数据:{^1999/12/19} •一个表示天数的数值型数据可从日期型数据中减掉它,
其结果仍然为一日期型数据(向前推算的日期)。
例如:
{^1999/12/19}-33 ,结果为日期型数据:{^1999/11
/16}
Visual FoxPro 6.0将无效的日期处理成空日期。
4.类与对象运算符
类与对象运算符专门用于实现面向对象的程序设计。
有以下两种:
.——点运算符,确定对象与类的关系,以及属性、事件和方法与其对象的从属关系。
:: ——作用域运算符,用于在子类中调用父类的方法。
5.名表达式
在Visual FoxPro 6.0中,许多命令和函数需要提供一个名。
可在Visual FoxPro 6.0中使用的名有:
表/.DBF文件名、表/.DBF别名、表/.DBF字段名、索引文件名、文件名、内存变量和数组名、窗口名、菜单名、表单名、对象名、属性名、…
在Visual FoxPro 6.0中定义一个名时,需要遵循以下原则:
•字段名中只能使用字母或下划线开始。
•字段名中只能使用字母、数字和下划线字符。
•不能使用Visual FoxPro 6.0的保留字。
•字段名的长度可以为1—128个字符,但自由表中的字
段名、索引标记名最多为10个字符。
文件名按操作系
统的规定。
•字段名不是变量或字段,但是可以定义一个名表达式,以代替同名的变量或字段的值。
字段名表达式为Visual FoxPro 6.0的命令和函数提供了灵活性。
将名存放到变量或数组元素中,就可以在命令或函数中用变量来代替该名,只要将存放一个名的变量或数组元素用一对括号括起来。
例如:STORE "CITY" TO a
REPLACE (a) WITH "Beijing"
字段名CITY被存放在变量a中,在使用REPLACE命令时,名表达式(a)将用字段名代替变量。
这种方法称为间接引用。