Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看1885次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: 计算机二级VF辅导:VFP表达式和运算符
-[尕硴]
超级版主
UID: 71
来自:
精华: 130
积分: 14003
帖子: 12909
注册: 2007-10-22 17:59:00
状态: 离线
威望: 444.00
金钱: 3355.00 元
只看楼主 2007-11-16 09:11
计算机二级VF辅导:VFP表达式和运算符
一.表达式:表达式是vfp命令和函数的重要组成部分,是由常量、变量、函数用运算符连接而成的有意义的式子 
    二.运算符: 
1.算术运算符:算术运算符用于进行算术运算,连接起来的表达式称为算术表达式,结果是一个数值.如下表: 
运算符功能 
+,-正负号 
**,^幂 
*,/,%乘,除,取余 
+,-加,减 

优先级从高到低为:**,^→*,/,%→+,- 
例:将(55+9×5)÷2写成vfp算术表达式. 
我们在命令窗口输入并执行下列: 
?(55+9*5)/2 &&结果可以口算,是50 
2.字符运算符:用于字符串连接运算,结果是一个新的字符串,如下表: 
运算符功能 
+将+号前后字符串连接起来组成一个新的字符串 
-删除-号前面字符串的尾部空格后再与右侧的字符串组成新的字符串 
例:在命令窗口输入执行以下: 
a="abc  " &&abc后面有两个空格 
b="def  " &&def后面有两个空格 
c="ghi" 
?a+b+c &&完全连接,下行是运行结果 
abc  def  ghi 
x=a-b-c 
?x &&下行是结果 
abcdefghi 
3.日期运算符:用于进行日期运算,如下表: 
运算符功能 
+日期+天数得到新日期 
时间+秒数得到新时间 
-日期-日期得到间隔天数 
时间-时间得到间隔秒数 

日期运行符无优先级 
例1:计算香港回归距现在多少天. 
?date()-{^1997.10.01} &&date()函数用于取得当前日期. 
例2:计算距今天1000天的日期. 
?date()+1000 
4.关系运算符:用于进行关系运算,结果是逻辑值,如下表: 
运算符功能 
<小于 
>大于 
=等于 
<>,#,!=不等于 
<=小于等于 
>=大于等于 
==字符串全等比较 
$包含运算,判断左侧字符串是否是右侧字符串的子串 
例:输入并执行下列命令: 
a=1234 &&定义数值常量 
b=2345 &&定义数值常量 
?a<b &&数值比较 
.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=3 
b=9 
?a<b 
.T. 
?a<b.and..Not.y 
.T. &&两边都为真,结果为真
#1  
发表新主题 回复该主题
本主题被查看1885次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-10-08 14:08:05

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0 seconds