一.表達(dá)式:表達(dá)式是vfp命令和函數(shù)的重要組成部分,是由常量、變量、函數(shù)用運(yùn)算符連接而成的有意義的式子
二.運(yùn)算符:
1.算術(shù)運(yùn)算符:算術(shù)運(yùn)算符用于進(jìn)行算術(shù)運(yùn)算,連接起來的表達(dá)式稱為算術(shù)表達(dá)式,結(jié)果是一個(gè)數(shù)值.如下表:
運(yùn)算符功能
+,-正負(fù)號(hào)
**,^冪
*,/,%乘,除,取余
+,-加,減
優(yōu)先級從高到低為:**,^→*,/,%→+,-
例:將(55+9×5)÷2寫成vfp算術(shù)表達(dá)式.
我們在命令窗口輸入并執(zhí)行下列:
?(55+9*5)/2 &&結(jié)果可以口算,是50
2.字符運(yùn)算符:用于字符串連接運(yùn)算,結(jié)果是一個(gè)新的字符串,如下表:
運(yùn)算符功能
+將+號(hào)前后字符串連接起來組成一個(gè)新的字符串
-刪除-號(hào)前面字符串的尾部空格后再與右側(cè)的字符串組成新的字符串
例:在命令窗口輸入執(zhí)行以下:
a="abc " &&abc后面有兩個(gè)空格
b="def " &&def后面有兩個(gè)空格
c="ghi"
?a+b+c &&完全連接,下行是運(yùn)行結(jié)果
abc def ghi
x=a-b-c
?x &&下行是結(jié)果
abcdefghi
3.日期運(yùn)算符:用于進(jìn)行日期運(yùn)算,如下表:
運(yùn)算符功能
+日期+天數(shù)得到新日期
時(shí)間+秒數(shù)得到新時(shí)間
-日期-日期得到間隔天數(shù)
時(shí)間-時(shí)間得到間隔秒數(shù)
日期運(yùn)行符無優(yōu)先級
例1:計(jì)算香港回歸距現(xiàn)在多少天.
?date()-{^1997.10.01} &&date()函數(shù)用于取得當(dāng)前日期.
例2:計(jì)算距今天1000天的日期.
?date()+1000
4.關(guān)系運(yùn)算符:用于進(jìn)行關(guān)系運(yùn)算,結(jié)果是邏輯值,如下表:
運(yùn)算符功能
<小于
>大于
=等于
<>,#,!=不等于
<=小于等于
>=大于等于
==字符串全等比較
$包含運(yùn)算,判斷左側(cè)字符串是否是右側(cè)字符串的子串
例:輸入并執(zhí)行下列命令:
a=1234 &&定義數(shù)值常量
b=2345 &&定義數(shù)值常量
?a .t. &&關(guān)系成立取真值
?a>b &&數(shù)值比較
.F. &&關(guān)系不成立,取假值
x="a" &&定義字符常量
y="b" &&定義字符常量
?x>y &&比較a和b字符的ASCⅡ碼
.f. &&a和b的ASCⅡ碼分別是97和98,關(guān)系不成立取邏輯假值
?"bc"$"abcd" &&比較$左邊的字符串是否是其右邊的字符串的子串
.T. &&是其子串,取邏輯真值
?"ac"$"abcd" &&比較$左邊的字符串是否是其右邊的字符串的子串
.F. &&不是其子串,取邏輯假值
?"abcd"="abc" &&比較等號(hào)右邊字符串是否是其左邊字符串從首字符起的子串
.T. &&是其子串,取邏輯真值
?"abcd"="bcd" &&比較等號(hào)右邊字符串是否是其左邊字符串從首字符起的子串
.F. &&不是其子串,取邏輯假值
?"abcd"=="abc" &&字符串等長并完全相同比較
.F. &&不等長取邏輯假值
5.邏輯運(yùn)算符:用于作表達(dá)式之間的邏輯運(yùn)算,參加運(yùn)算的表達(dá)式應(yīng)有邏輯值.運(yùn)算的結(jié)果是邏輯值,如下表:
運(yùn)算符功能
.Not.,!邏輯非
.and.邏輯與
.or.邏輯或
邏輯運(yùn)算符的優(yōu)先級:邏輯非→邏輯與→邏輯或
邏輯運(yùn)算符的意義是:
A.and.B 只有當(dāng)A和B都為真時(shí),邏輯運(yùn)算的結(jié)果才為真,否則為假
A.or.B A和B中有一個(gè)為真,結(jié)果卻為真
.Not.A 當(dāng)A為真值時(shí),結(jié)果為假值,當(dāng)A為假值時(shí),結(jié)果為真值.
例:
y=.f. &&y的值為邏輯假
?.Not.y
.T. &&對y值取反,結(jié)果為真
a=3
b=9
?a .T.
?a .T. &&兩邊都為真,結(jié)果為真
二.運(yùn)算符:
1.算術(shù)運(yùn)算符:算術(shù)運(yùn)算符用于進(jìn)行算術(shù)運(yùn)算,連接起來的表達(dá)式稱為算術(shù)表達(dá)式,結(jié)果是一個(gè)數(shù)值.如下表:
運(yùn)算符功能
+,-正負(fù)號(hào)
**,^冪
*,/,%乘,除,取余
+,-加,減
優(yōu)先級從高到低為:**,^→*,/,%→+,-
例:將(55+9×5)÷2寫成vfp算術(shù)表達(dá)式.
我們在命令窗口輸入并執(zhí)行下列:
?(55+9*5)/2 &&結(jié)果可以口算,是50
2.字符運(yùn)算符:用于字符串連接運(yùn)算,結(jié)果是一個(gè)新的字符串,如下表:
運(yùn)算符功能
+將+號(hào)前后字符串連接起來組成一個(gè)新的字符串
-刪除-號(hào)前面字符串的尾部空格后再與右側(cè)的字符串組成新的字符串
例:在命令窗口輸入執(zhí)行以下:
a="abc " &&abc后面有兩個(gè)空格
b="def " &&def后面有兩個(gè)空格
c="ghi"
?a+b+c &&完全連接,下行是運(yùn)行結(jié)果
abc def ghi
x=a-b-c
?x &&下行是結(jié)果
abcdefghi
3.日期運(yùn)算符:用于進(jìn)行日期運(yùn)算,如下表:
運(yùn)算符功能
+日期+天數(shù)得到新日期
時(shí)間+秒數(shù)得到新時(shí)間
-日期-日期得到間隔天數(shù)
時(shí)間-時(shí)間得到間隔秒數(shù)
日期運(yùn)行符無優(yōu)先級
例1:計(jì)算香港回歸距現(xiàn)在多少天.
?date()-{^1997.10.01} &&date()函數(shù)用于取得當(dāng)前日期.
例2:計(jì)算距今天1000天的日期.
?date()+1000
4.關(guān)系運(yùn)算符:用于進(jìn)行關(guān)系運(yùn)算,結(jié)果是邏輯值,如下表:
運(yùn)算符功能
<小于
>大于
=等于
<>,#,!=不等于
<=小于等于
>=大于等于
==字符串全等比較
$包含運(yùn)算,判斷左側(cè)字符串是否是右側(cè)字符串的子串
例:輸入并執(zhí)行下列命令:
a=1234 &&定義數(shù)值常量
b=2345 &&定義數(shù)值常量
?a .t. &&關(guān)系成立取真值
?a>b &&數(shù)值比較
.F. &&關(guān)系不成立,取假值
x="a" &&定義字符常量
y="b" &&定義字符常量
?x>y &&比較a和b字符的ASCⅡ碼
.f. &&a和b的ASCⅡ碼分別是97和98,關(guān)系不成立取邏輯假值
?"bc"$"abcd" &&比較$左邊的字符串是否是其右邊的字符串的子串
.T. &&是其子串,取邏輯真值
?"ac"$"abcd" &&比較$左邊的字符串是否是其右邊的字符串的子串
.F. &&不是其子串,取邏輯假值
?"abcd"="abc" &&比較等號(hào)右邊字符串是否是其左邊字符串從首字符起的子串
.T. &&是其子串,取邏輯真值
?"abcd"="bcd" &&比較等號(hào)右邊字符串是否是其左邊字符串從首字符起的子串
.F. &&不是其子串,取邏輯假值
?"abcd"=="abc" &&字符串等長并完全相同比較
.F. &&不等長取邏輯假值
5.邏輯運(yùn)算符:用于作表達(dá)式之間的邏輯運(yùn)算,參加運(yùn)算的表達(dá)式應(yīng)有邏輯值.運(yùn)算的結(jié)果是邏輯值,如下表:
運(yùn)算符功能
.Not.,!邏輯非
.and.邏輯與
.or.邏輯或
邏輯運(yùn)算符的優(yōu)先級:邏輯非→邏輯與→邏輯或
邏輯運(yùn)算符的意義是:
A.and.B 只有當(dāng)A和B都為真時(shí),邏輯運(yùn)算的結(jié)果才為真,否則為假
A.or.B A和B中有一個(gè)為真,結(jié)果卻為真
.Not.A 當(dāng)A為真值時(shí),結(jié)果為假值,當(dāng)A為假值時(shí),結(jié)果為真值.
例:
y=.f. &&y的值為邏輯假
?.Not.y
.T. &&對y值取反,結(jié)果為真
a=3
b=9
?a .T.
?a

