(2).字符表達式
字符表達式是由字符運算符將字符型數(shù)據(jù)對象連接起來進行運算的式子。字符運算的對象是字符型數(shù)據(jù)對象,運算結果是字符常量或邏輯常量。"+"與 "-"都是字符連接運算符,都將兩字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部后再連接;“$”運算實質(zhì)上是比較兩個串的包含關系,因此有些書籍中將其歸于關系運算,其作用是比較、判斷串1 是否為串2的子串,如果串1是串2的子串,運算結果為“真”,否則為“假”。所謂子串,如果串1中所有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串。
表 字符運算符
運算符 功能 表達式舉例 運算結果
+ 串1+串2:兩串順序相連接 ’12 ‘+’56’ ’12 56’
- 串1-串2:串1尾空格移到串2尾
后再順序相連接 ’12 ‘-‘56’ ‘1256 ‘
$ 串1$串2:串1是否為串2子串 ‘1234’$ ‘12345’ .T.
‘ 1234’$‘34512’ .F.
兩個連接運算的優(yōu)先級別相同,但高于$的比較運算。
例: LEN1=”Visual FoxPro6.0 ” LEN2=”數(shù)據(jù)庫教程” ?
LEN1+LEN2 &&結果為:Visual FoxPro6.0 數(shù)據(jù)庫教程 ?
LEN1-LEN2 &&結果為:Visual FoxPro6.0數(shù)據(jù)庫教程
? len(LEN1-LEN2) && 結果為:28
(3).日期表達式
由日期運算符將一個日期型或日期時間型數(shù)據(jù)與一個數(shù)值型數(shù)據(jù)連接而成的運算式稱為日期表達式。日期運算符分為“+”和“-”兩種,其作用分別是在日期數(shù)據(jù)上增加或減少一個天數(shù),在日期時間數(shù)據(jù)上增加或減少一個秒數(shù)。兩個運算的優(yōu)先級別相同。
日期時間操作符有:
+:添加一個天數(shù)或秒數(shù)
-:減少一個天數(shù)或秒數(shù)
例如:
? {^2003-09-04}+10 &&結果為:09/14/03
? {^2003-11-30}-15 &&結果為:11/15/03
? {^2003-08-04 10:10a}+10 &&結果為:08/04/03 10:10:10 AM
? {^2003-08-04 10:35p}-10 &&結果為: 08/04/03 10:34:50 PM
注意:日期和日期、日期時間和日期時間只能相減,不能相加。(p64)
(4).關系表達式
由關系運算符連接兩個同類數(shù)據(jù)對象進行關系比較的運算式稱為關系表達式。關
系表達式的值為邏輯值,關系表達式成立則其值為“真”,否則為“假”。
表 關系運算符
運算符 功能 表 達 式舉例 結果
< 小于 15<4*6 .T.
> 大于 ‘A’ > ‘1’ .T.
= 等于 2+4 = 3*5 .F.
<>、#、!= 不等于 5 <> -10 .T.
關系運算符的優(yōu)先級別相同。關系表達式運算時,就是比較同類兩數(shù)據(jù)對象的“大小”,對于不同類型的數(shù)據(jù),其“大小”或者是值的大小,或者是先后順序。日期或日期時間數(shù)據(jù)以日期或時間的先后順序為序。在Visual FoxPro系統(tǒng)中,字符型數(shù)據(jù)的比較相對復雜,默認規(guī)則為:
1)單個字符
單個字符的比較是以字符ASCII碼的大小,作為字符的“大小”,也就是先后順序;
2)漢字
系統(tǒng)默認按漢字的拼音排列漢字的順序,也就是以漢字的拼音順序比較“大小”
3)字符串
兩個字符串進行比較的基本原則是從左到右逐個字符進行比較。
當兩串做“==”和“=”比較時,運算結果與SET EXACT ON/OFF的設置有關。默認是OFF狀態(tài)。
● 精確比較:用運算符==進行兩串的精確比較時,只有當兩串長度相同,字符相同,排列一致時才成立;(EXACT ON或OFF)
● 相等比較:用運算符=進行兩串比較,當處于OFF狀態(tài)時,只要右邊的字符串與左邊字符串的前部分內(nèi)容相匹配,結果就為真.T.。例如:“abc”=“abd”為假, “abc”=“abcde”為假,“abcde”=“abc”為真;當處于ON狀態(tài)時,先在較短字符串的尾部加上若干個空格,使兩個字符串長度相等,然后再進行比較。例如: “abc”=“abcde”為假,“ab”=“ab ”為真;
● 大小比較:用運算符< 或 >進行兩串比較時,比較到第1個不相同字符為止,否則,長度較長的串較“大”;
● 其他比較:除上述運算符之外的其他運算符<>、<=和>=的比較,均可看作是兩個運算符以邏輯“或”的關系構成的復合運算;
(5).邏輯表達式
由邏輯運算將邏輯型數(shù)據(jù)對象連接而成的式子稱為邏輯表達式。邏輯表達式的運算對象與運算結果均為邏輯型數(shù)據(jù)。表為邏輯運算符的功能。邏輯運算符前后一般要加圓點“.”標記,以示區(qū)別。
表 邏輯運算符
運算符 功能 優(yōu)先級別
( ) 圓括號 最高
.NOT.或! 邏輯非
.AND. 邏輯與
.OR. 邏輯或 最低
對于各種邏輯運算,其運算規(guī)則可由邏輯運算真值表確定,表所示就是邏輯運算真值表。
表 邏輯運算真值表
A B A .AND.B A .OR. B .NOTA
T T T T F
T F F T F
F T F T T
F F F F T
例如:
?17>33 .AND.”A”<”a” && 值為.F.?
17>13 .or."A"<"a" .and..not..t. && 值為.T.
例 題
1.在命令窗口中輸入下列命令:
x=1
STORE x+l TO a,b,c
? a,b,c
主屏幕上顯示的結果是____。
A.1
B.1 1
C.2 2 2
D.1 1 1
[解析] 本題考查的知識點是內(nèi)存變量賦值命令“ST0RE<表達式>To<內(nèi)存變量名>”的使用。STORE命令可以將同一個表達式的值應該賦與多個內(nèi)存變量。本題根據(jù)輸入的命令,可以看出是將表達式分別賦與a,b和c三個內(nèi)存變量,因此顯示的結果也應用是3個值,此時排除選項A,B。再看前提,已知x=1,命令中的表達式為x+1,因此應該賦與3個內(nèi)存變量的值一定為2。因此正確答案為C。
[答案] C
2.在命令窗口中輸入下列命令:
m=”發(fā)展口口口”
n="生產(chǎn)力"
?m-n
主屏幕上顯示的結果是____。
A. 發(fā)展口口口生產(chǎn)力 B.發(fā)展生產(chǎn)力口口口
C.m,n D.n,m
[解析]本題考查的知識點是字符串運算符的使用。題目中“發(fā)展”后的空余部分表示空格。在VisualFoxPro中,字符串運算符有兩個:十和—。 “十”表示前后兩個字符串首尾連接形成一個新的字
符串; “—” 連接前后兩個字符串,并將前后字符串的尾部空格移到合并后的新字符串尾部。本題用“—”作為連接符,前一個字符(即m)尾部的空格應該移到合并后的新字符串尾部,因此結果中的空格都應該移到字符串的尾部,選項A中結果的空格在字符串中間,所以不正確,因此正確答案為B。
[答案] B
3.已知x=8,y=5,z=27,求表達式x^3/4+6*y-7*2+(4+z/9)^2的值為____。
A.88 B.100
C.72 D.193
[解析]本題考查的知識點是算術表達式的運算優(yōu)先級。在Visual FoxPro中,算術運算符的運算優(yōu)先級是:先算括號中的部分,再算**或^(乘方),再算*(乘)、/(除)、%(“取模”),再算(加)、—(減)。
將已知數(shù)代入表達式中,計算過程如下:
x^3/4+6*y-7*2+(4+z/9)^2
=8^3/4+6*5-7*2+(4+27/9)^2
=8^3/4+6*5-7*2+7^2
=128+30-14+49
=193
[答案]D
4.關系表達式中關系運算符的作用是____。
A.比較兩個表達式的大小
B.計算兩個表達式的結果
C.比較運算符的優(yōu)先級
D.計算兩個表達式的總和
[解析] 本題考查的知識點是關系表達式中關系運算符的作用。在Visual FoxPro中,關系運算符有大于(>)、小于(<等于(=)、不等于(<>、#、!=)、小于等于(<=)、大于等于(>=)、字符串精確比較(==)、包含測試( $),其作用是比較兩個表達式的大小和結果,其運算結果是邏輯型數(shù)據(jù)。選項B,C,D的說法都錯誤,因此正確答案為A。
[答案] A
5.關系型表達式的運算結果是____。
A.數(shù)值型數(shù)據(jù) B. 邏輯型數(shù)據(jù)
C.字符型數(shù)據(jù) D.日期型數(shù)據(jù)
[解析] 本題考查的知識點是關系型表達式的運算結果。在Visual FoxPro中,關系型表達式的作用是比較兩個表達式的大小或前后,其結果只有兩種情況:邏輯真或邏輯假。關系型表達式的運算結果不可能是數(shù)值型數(shù)據(jù)、字符型數(shù)據(jù)、日期型數(shù)據(jù),而只能是邏輯型數(shù)據(jù)。因此正確答案為B。
[答案] B
6.數(shù)組是____,它由一系列____組成,每個數(shù)組元素可通過____及相應的下標來訪問。
[解析] 本題考查的知識點是數(shù)組的概念。在Visual FoxPro中,數(shù)組是內(nèi)存中連續(xù)的一片存儲區(qū)域,它由一系列元素組成,每個數(shù)組元素可通過數(shù)組名及相應的下標來訪問。
[答案]內(nèi)存中連續(xù)的一片存儲區(qū)域 元素 數(shù)組名
7.在Visual FoxPro中,只可以使用____和____數(shù)組,數(shù)組必須先____后____。
[解析] 本題考查的知識點是Visual FoxPro支持的數(shù)組及使用數(shù)組的前提。Visual FoxPro只支持一維數(shù)組和二維數(shù)組,數(shù)組必須先定義后使用。
[答案] 一維數(shù);二維數(shù);定義;使用
8.根據(jù)表達式值的類型,表達式可分為____、____、____、____;大多數(shù)____表達式是帶比較運算符的關系表達式。
[解析] 本題考查的知識點是表達式的類型。根據(jù)表達式值的類型,表達式可分為數(shù)值表達式、字符表達式、日期時間表達式和邏輯表達式。大多數(shù)邏輯表達式是帶比較運算符的關系表達式;
[答案] 數(shù)值表達式、字符表達式、日期時間表達式、邏輯表達式;邏輯
9.數(shù)值表達式由____構成,其運算結果是____型數(shù)據(jù)。
[解析] 本題考查的知識點是數(shù)值表達式的概念。在Visual FoxPro中,數(shù)值表達式由算術運算符將數(shù)值型數(shù)據(jù)連接起來構成。其運算結果仍然是數(shù)值型數(shù)據(jù)。本題是概念性知識,需要記憶。
[答案] 數(shù)值型數(shù)據(jù)和算術運算符 數(shù)值
10.在Visual FoxPro中,算術運算符有多種,按優(yōu)先等級排列,依次為____、____、____、____。
[解析] 本題考查的知識點是算術運算符及優(yōu)先等級。在Visual FoxPro中,算術運算符共有6種,按優(yōu)先等級排列,依次為①括號(形成表達式內(nèi)的子表達式)②乘方( ^或**)③乘(x)、除(/)、取模(%)④加(+)、減(-)。
[答案] ①括號(形成表達式內(nèi)的子表達式) ②乘方(^或%)③乘(x)、除(/)、求余(%) ④加(+)、減(-)
全國職稱計算機考試速成過關系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 | |
全國職稱計算機考試速成過關系列套裝:W .. 定價:¥124 優(yōu)惠價:¥124.0 更多書籍 |