VFP表达式和运算符

如题所述

第1个回答  2023-02-16
一.表达式:表达式是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.逻辑或

<b &&数值比较="" 逻辑运算符的优先级:逻辑非→逻辑与→逻辑或
逻辑运算符的意义是:
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. &&两边都为真,结果为真 <b <b

VFP表达式和运算符
一.表达式:表达式是vfp命令和函数的重要组成部分,是由常量、变量、函数用运算符连接而成的有意义的式子 二.运算符:1.算术运算符:算术运算符用于进行算术运算,连接起来的表达式称为算术表达式,结果是一个数值.如下表:运算符功能 +,-正负号 ,^幂 ,\/,%乘,除,取余 +,-加,减 优先级从高到低为:...

表达式10<y<80写成VFP表达式应该是什么?
(y>10) and (y<80)。VFP提供了数值表达式、字符表达式、关系表达式、逻辑表达式、日期时间表达式5种类型的表达式。举例如下:数值表达式:3+2-5 字符表达式:"中"+"国"关系表达式:3>4 逻辑表达式:.F. .and. .T.日期时间表达式:date()+3 &&今天以后的第三天是几号 VFP中四运算符优先级:...

vfp模运算字符怎么打出来
在命令窗口中输入。依次在命令窗口中输入表达式,书写数值表达式,乘号一定不能省略。数值表达式是由算术运算符和数值型常数、变量、函数组成,运算结果为数值型数据。算术运算符的优先次序由高到低依次为括号、负号、乘方、乘除、模运算(取余)、加减,同级运算从左到右依次进行。

vfp里表达式$是什么意思,
字等串运算符号,用于判断其左侧串是否包含在右侧串中,返回的是逻辑真或假。如:"123"$"abc123fg" 其返回为真

vfp $是什么意思
“$”是VFP的字符运算符,是属于的意思,返回逻辑值,当左边字符串是右边字符串的子串时,返回.T.(真),否则返回.F.(假),举例:? "win" $ "windows" &&返回.T.? "Win" $ "windows" &&返回.F.

vfp中表达式,什么时候AND前后要加两点(.AND.)?
.and.与 and 完全一样。因为过去的foxpro 、foxbase版本中要求 .not..and..or.这几个运算符必须要加圆点。所以是为了与过去版本的兼容。vfp中可以省圆点。直接写成:AND OR NOT

VFP表单题目求答案
在VFP中有5类运算符和表达式: 算术运算符和算术表达式 字符串运算符和字符串表达式 日期运算符和日期表达式 关系运算符和关系表达式 逻辑运算符和逻辑表达式 1.算术运算符与算术表达式 算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。例如:50*2+(70—6)\/8的...

VFP中 ?4>2 or 3<2 and 5<3 为什么结果是T啊?
下面是计算过程。4>2 or 3<2 and 5<3 =.t. or .f. and .f.=.t. or .f.=.t.

VFP中如何用列表框显示一个二维数组的各个元素的值?
1.)将LIST1的ROWSOURCE和ROWSOURCETYPE属性还原为默认值;把LIST1的COLUMNCOUNT属性设置为14(即设定列数,否则只显示第一列数据)2.)在FORM的INIT事件里定义公共数组a:public array a(10,14)n=0 for i=1 to 10 for k=1 to 14 store n to a(i,k)n=n+1 endfor endfor 3.)在FORM的...

vfp中的.是什么意思?
在VFP程序中,.的主要用途是判断变量是否已经被赋值。可以使用ISNULL函数判断一个变量或者表单控件的值是否为空,如果为空则返回TRUE,否则返回FALSE。当我们需要比较一个变量是否等于NULL时,可以使用“=”或者“==”运算符,它们的效果是相同的。在使用VFP中的.时,需要注意一些细节。首先,在VFP中,...

相似回答
大家正在搜