典型例題
[例1] 函數INT(RAND()*10)是在( )范圍內的整數? ( )
A.(0,1) B.(1,10)
C.(0,10) D.(1,9)
分析: 函數RAND()是0到1之間的數,因此INT(RAND()*10)的值是0到10之間的整數。
答案: C
[例2] SCATTER命令用于將當前記錄的各字段值送到一個數組中,與該命令相對應的、
利用數組中的數據更新當前記錄字段值的命令是 ( )
A.GATHER B.UPDATE
C.REPLACE D.CHANGE
分析: 為了表中數據與組數據之間方便的進行數據交換以利于程序的使用,Visual
FoxPro提供了相互之間數據傳遞的功能,可以方便的完成表記錄與內存變量之間的數據
交換工;其中SCATTER用以將表的當前記錄復制到組數;GATHER用以將組數據復制到到表
的當前記錄。
答案:A
[例3] 在下述Visual FoxPro表達式中,結果總是邏輯值的為 ( )
A.字符運算表達式 B.算術運算表達式
C.關系運算表達式 D.日期運算表達式
分析: 算術表達式由算術運算符將數值型數據連接想來形成,其運算結果仍然是數值
型數據;字符表達式是由字符串運算符型數據連接起來形成,其運算結果仍然是字符型數
據;日期表達式根據其組合不同可以返回日期型或數值型兩類;關系表達式能通常也稱為
簡單邏輯表達式,它有關系運算符將兩個運算對象連接起來形成,運算結果為邏輯型數據。
答案:C
例4 表達式LEN(‘CHINESE’)+VAL(‘86’)+({04/05/98}-{04/01/98})返回的數據類型是
A.字符型 B.日期型 C.數值型 D.邏輯型
分析:函數LEN(’CHINESE’)返回字符串中的字符的個數,其函數返回值是數值型;VAL(’86’)把字符表達式
’86’轉換成數值型數據86,其返回什是數值型;{04/05/98}-{04/01/98}則是日期型表達式Visual FoxPro
中兩個日期型常數相減得出是兩個日期中間隔的天數,結果是數值型;題目中給出的表達式各運算對象均
為數值型,則該表達式的結果也為數值型.
答案:C
例5 Visual FoxPro的表達式LEN(DTOC(DATE()))+DATE()的類型是( )
A. 數值型 B.邏輯型 C.字符型 D.日期型
分析: DATE()返回當前系統(tǒng)日期,值為日期型;DTOC()將日期型數據或日期時間數據的日期部分轉換成字
符串;LEN(<字符表達式>)返回指定字符表達式的長度,即所包含的字符個數,函數值為數值型;表達式<天
數>+<日期>的計算結果為日期型,是指定日期若干天后的日期.
答案: D
例6 "x是小于100的非負數",用VFP表達式表示是( )
A.0<=x<100 B.0<=x<100 C.0<=x AND x<100 D.0<=x OR x<100
分析:A和B是錯誤的VFP表達式,同時根據應該用邏輯與AND來表示,所以正確答案C。
例7 運算符 = =的作用為( )
A.等價于運算符= B.不是Visual FoxPro的運算符 C.字符串全等比較 D.用于比較兩個數值數據的全等
分析:由Visual FoxPro 中所定義的運算符可知“=”是Visual FoxPro 中的運算符,且用于字符串的
精確比較,相當于=運算符在EXACT的狀態(tài)在ON時的比較。
答案:C
例8 表達式2*3^2+2*8/4+3^2的值為( )
A.64 B.31 C.49 D.22
分析:根據運算符的優(yōu)先級,計算方法如下:
2*3^2+2*8/4+3^2
=2*9+16/4+9
=18+4+9=31
答案:B
例9 執(zhí)行SET EXACT OFF命令后,再來執(zhí)行?“天津市”=“天津”命令的顯示結果為( )
A : T B:F C:0 D:非0
分析;用單等號來比較兩個字符串,如果設置為SET EXACT OFF 則只需后面表達式和前面表達式的前一部分相匹配
即可。設置為ON時,就必須精確匹配,每個字符都相等時,結果才為真。
答案:A
[例 10] 執(zhí)行?AT(“教室”,“自習教室”)命令后顯示結果為 ( )
A :T B:2 C:3 D:5
分析:字符函數AT(表達式1 , 表達式2)是用來查找表達式1是否是表達式2的子串,如果是,則返回表達式
2在表達式1中的位置,如果非子串,則返回0值,在該題中,讀者必須注意表達式1和表達式2的位置,否則就
有可能錯選C。
答案為D
[例 11]如果設置字符的排序次序命令為:SET COLLATE TO〈 Machine〉,則下列運算結果為真的是 ()
A:“A”〈“a” B:“a”〈“A” C:“abc”〈“A” D:“ abc”〈“a”
[例1] 函數INT(RAND()*10)是在( )范圍內的整數? ( )
A.(0,1) B.(1,10)
C.(0,10) D.(1,9)
分析: 函數RAND()是0到1之間的數,因此INT(RAND()*10)的值是0到10之間的整數。
答案: C
[例2] SCATTER命令用于將當前記錄的各字段值送到一個數組中,與該命令相對應的、
利用數組中的數據更新當前記錄字段值的命令是 ( )
A.GATHER B.UPDATE
C.REPLACE D.CHANGE
分析: 為了表中數據與組數據之間方便的進行數據交換以利于程序的使用,Visual
FoxPro提供了相互之間數據傳遞的功能,可以方便的完成表記錄與內存變量之間的數據
交換工;其中SCATTER用以將表的當前記錄復制到組數;GATHER用以將組數據復制到到表
的當前記錄。
答案:A
[例3] 在下述Visual FoxPro表達式中,結果總是邏輯值的為 ( )
A.字符運算表達式 B.算術運算表達式
C.關系運算表達式 D.日期運算表達式
分析: 算術表達式由算術運算符將數值型數據連接想來形成,其運算結果仍然是數值
型數據;字符表達式是由字符串運算符型數據連接起來形成,其運算結果仍然是字符型數
據;日期表達式根據其組合不同可以返回日期型或數值型兩類;關系表達式能通常也稱為
簡單邏輯表達式,它有關系運算符將兩個運算對象連接起來形成,運算結果為邏輯型數據。
答案:C
例4 表達式LEN(‘CHINESE’)+VAL(‘86’)+({04/05/98}-{04/01/98})返回的數據類型是
A.字符型 B.日期型 C.數值型 D.邏輯型
分析:函數LEN(’CHINESE’)返回字符串中的字符的個數,其函數返回值是數值型;VAL(’86’)把字符表達式
’86’轉換成數值型數據86,其返回什是數值型;{04/05/98}-{04/01/98}則是日期型表達式Visual FoxPro
中兩個日期型常數相減得出是兩個日期中間隔的天數,結果是數值型;題目中給出的表達式各運算對象均
為數值型,則該表達式的結果也為數值型.
答案:C
例5 Visual FoxPro的表達式LEN(DTOC(DATE()))+DATE()的類型是( )
A. 數值型 B.邏輯型 C.字符型 D.日期型
分析: DATE()返回當前系統(tǒng)日期,值為日期型;DTOC()將日期型數據或日期時間數據的日期部分轉換成字
符串;LEN(<字符表達式>)返回指定字符表達式的長度,即所包含的字符個數,函數值為數值型;表達式<天
數>+<日期>的計算結果為日期型,是指定日期若干天后的日期.
答案: D
例6 "x是小于100的非負數",用VFP表達式表示是( )
A.0<=x<100 B.0<=x<100 C.0<=x AND x<100 D.0<=x OR x<100
分析:A和B是錯誤的VFP表達式,同時根據應該用邏輯與AND來表示,所以正確答案C。
例7 運算符 = =的作用為( )
A.等價于運算符= B.不是Visual FoxPro的運算符 C.字符串全等比較 D.用于比較兩個數值數據的全等
分析:由Visual FoxPro 中所定義的運算符可知“=”是Visual FoxPro 中的運算符,且用于字符串的
精確比較,相當于=運算符在EXACT的狀態(tài)在ON時的比較。
答案:C
例8 表達式2*3^2+2*8/4+3^2的值為( )
A.64 B.31 C.49 D.22
分析:根據運算符的優(yōu)先級,計算方法如下:
2*3^2+2*8/4+3^2
=2*9+16/4+9
=18+4+9=31
答案:B
例9 執(zhí)行SET EXACT OFF命令后,再來執(zhí)行?“天津市”=“天津”命令的顯示結果為( )
A : T B:F C:0 D:非0
分析;用單等號來比較兩個字符串,如果設置為SET EXACT OFF 則只需后面表達式和前面表達式的前一部分相匹配
即可。設置為ON時,就必須精確匹配,每個字符都相等時,結果才為真。
答案:A
[例 10] 執(zhí)行?AT(“教室”,“自習教室”)命令后顯示結果為 ( )
A :T B:2 C:3 D:5
分析:字符函數AT(表達式1 , 表達式2)是用來查找表達式1是否是表達式2的子串,如果是,則返回表達式
2在表達式1中的位置,如果非子串,則返回0值,在該題中,讀者必須注意表達式1和表達式2的位置,否則就
有可能錯選C。
答案為D
[例 11]如果設置字符的排序次序命令為:SET COLLATE TO〈 Machine〉,則下列運算結果為真的是 ()
A:“A”〈“a” B:“a”〈“A” C:“abc”〈“A” D:“ abc”〈“a”

