第一篇:VFP程序題
VFP程序題 第一套題
一、運行結果題
1、以下程序運行結果是
SET TALK OFF
CLEAR
A = 5
B = 12
C = 18 IF MAX(A , B)< C
? MAX(A, B)
ELSE IF MIN(A , B)< C
? C
ELSE
? MIN(A , B)
ENDIF
ENDIF SET TALK ON
RETURN
2、以下程序運行結果是
SET TALK OFF CLEAR USE STCJ
DO WHILE ,NOT, EOF()
REPLACE 總分 WITH 高數 + 計算機 + 英語 SKIP
ENDDO GO BOTTOM
? 學號,總分
USE
RETURN
3、以下程序運行結果是
SET TALK OFF
SET HEADINGS OFF SELECT 2 USE STCJ
INDEX ON 編號
TO GZ21
REPLACE ALL 總分
WITH 高數 + 計算機 + 英語 SELECT 1 USE STDA
SET RELATION TO 編號
INTO B DISPLAY FIELDS 姓名,B.總分
FOR 四級通過
OFF CLOSE ALL RETURN
4、以下程序運行結果是
SET TALK OFF SET SAFETY OFF USE STDA INDEX ON 民族
TO XBSY TOTAL ON 民族
TO GZHZ USE GZHZ COUNT TO N ? N
SET SAFETY ON SET
TALK
ON RETURN
5、以下程序運行結果是
SET TALK OFF SET DELETED ON USE STDA DELETE FOR 性別 = “ 男 ” COUNT TO A SET DELETED OFF COUNT TO B DELETE ALL PACK COUNT TO C ? A , B , C SET TALK ON RETURN
6、以下程序運行結果是
SET TALK OFF USE STDA
INDEX ON 獎學金
TO GZSY SKIP 2
? 姓名,獎學金 USE
SET TALK ON RETURN
7、以下程序運行結果是
SET TALK OFF
SET PROCEDURN TO SP S = 0
DO SP1 WITH 5 , S ? S
SET TPROCEDURE
TO RETURN * SP PRG PROCEDURE
PARAMETERS X , Y N = 1 Y = 1
DO WHILE N < X
Y = Y + N
N = N + 1
ENDDO
RETURN
8、以下程序運行結果是
SET TALK OFF DIMENSION X(2 ,2)X = 5 FOR I = 1 TO 2 FOR J = 1 TO 2 IF I = J
X(I , J)ENDIF ?? X(I , J)ENDFOR ENDFOR SET TALK ON RETURN
二、完善程序
1、下列程序計算機 S =1!+ 2!+3!+4!+5!中,填空完成程序。
S = 0 FOR N = 1
TO 5
FOR I = 1 TO N
P = P * I
ENDFOR
ENDFOR
? “SUN =” , S
2、用下列程序找出所有的水仙花數,所謂水仙花數,是指這樣一
個三位數,其各位數字的立方和等于該數本身,如 153 = 1^3 +5^3 +3^3,對以下程序填空完成該功能。FOR N = 100 TO 999
A = INT(N / 100)
B =
C = N – INT(N / 10)* 10 IF N = A^3 +B^3 +C^3
? N
ENDIF
ENDFOR
RETURN
3、將新表 DB2.DBF 文件中學號重復的記錄刪掉(只保留一個)SET TALK OFF SET SAFETY
OFF
USE STDA
COPY TO DB2 USE DB2
INDEX ON 學號
TO XH DO WHILE.NOT.EOF()XH = 學號 SKIP
DELETE ENDIF ENDDO
CLEAR ALL
4、顯示STDA.DBF 文件中男同學的記錄
SET
TALK
OFF
SET
HEADING
OFF
USE
STDA
DO
WHILE
.NOT.EOF()
IF
ENDIF
DISPLAY
WAIT
ENDDO
USE
SET
TALK ON
RETURN
5、將STDA.DBF 表中未通過英語四級考試學生的將賞金取消,通過者獎學金加50元,并顯示姓名和獎學金額。SET TALK OFF
CLEAR USE STDA DO WHILE.NOT.EOF()IF.NOT.四級通過
REPLACE 獎學
WITH 0
ELSE
? 姓名,獎學金
ENDIF
SKIP
ENDDO
USE
SET TALK ON
RETURN
6、按學號查詢成績
SET TALK OFF CLEAR SELECT 1 USE STDA
INDEX ON 學號 TO IXH SELECT 2 USE STCJ
INDEX ON 學號 TO ICJ
ACCEPT “請輸入查詢學號:” TO XH SEEK
XH IF
FOUND()
DISPLAY
學號,A->姓名,總分
ELSE
? “ 查無此人!”
ENDIF
USE RETURN
7、請閱讀下列判斷一個自然數是否為質數的程序,并將程序填寫完整。
SET
TALK
OFF
INPUT
“ 請輸入一個大于1 的自然數:”
TO N
K = 0
J = 2
DO
WHILE
J < N IF MOD(N , J)
J = J +1
LOOP
ELSE
K = 1
EXIT
ENDIF
ENDDO
IF
K = 0
?
+ “ 素數”
ENDIF
? “ 再見!” SET TALK ON
RETURN
8、修改數據表文件 STDA.DBF 中指定同學的四級通過情況。SET TALK OFF USE STDA
INDEX TO ISY
DO
WHILE.T.CLEAR
ACCEPT “ 輸入待學生的姓名” TO XM SEEK XM
IF
FOUND()
@ 10 , 10 SAY “ 修改” + XM + “ 的四級通過情況:” GET 四級通過
WAIT
“ 繼續修改?(Y / N)”
TO N IF
ENDIF ENDDO USE RETURN
9、將數據表文件STDA.DBF 中的第三條記錄與第四條記錄的內容互換,并顯示第三條記錄。
SET
TALK
OFF
CLEAR
USE
STDA
GO
SCATTER
TO
A
GO
SCATTER
TO
B
GO
GATHER
FROM
B
DISPLAY
GO
USE
SET
TALK
ON
RETURN
10、如下程序根據鍵入的學號使用SQL SELECT 語句顯示學生的學號、姓名和平均成績。請在下劃線處填寫適當的內容,使程序能正確的運行。
DO
WHILE.T.CLEAR
ACCEPT
“請輸入學號:” TO KEYNO
SELECT
STDA.學號,姓名,(高數 +計算機 +英語)/3 AS平均成績;FROM STDA.STCJ WHERE
WAIT
“如果退出,請按【Y】鍵!”
TO KEY
IF
UPPER(KEY)= “ Y”
ENDIF ENDDO USE RETURN
三、程序改錯題
1、在STDA.DBF 中,查詢某人英語四級通過情況,若通過了,則授予學位,否則不授予學位。(1)SET
TALK OFF(2)USE
STDA
(3)ACCEPT “請輸入姓名:”
TO XM(4)SEEK
FOR 姓名 = XM(5)IF
EOF()
(6)? “查無此人!”(7)RETURN(8)ENDIF
(9)IF
英語四級通過
(10)?姓名 + “英語四級通過,授予學位”(11)ELSE
(12)?姓名 + “英語四級沒通過,不授予學位”(13)ENDIF(14)USE
(15)SET
TALK
ON(16)RETURN 錯誤的行是 改為:
2、顯示 STCJ.DBF 中總分不低于190分的所有學生的姓名和總分字段的值。
(1)
SET
TALK OFF
(2)
SET
HEAD
OFF
(3)
USE
STCJ
(4)
DO
WHILE
RECNO()< = RECCOUNT()
(5)
REPL
總分
WITH
高數 +計算機 +英語
(6)
IF
總分> = 190
(7)
DISP
學號,總分 OFF
(8)
ENDIF
(9)
LOOP
(10)
ENDDO
(11)
RETURN 錯誤的行是: 改為:
3、在STDA.DBF 中,快速查詢性別為“男”,“09/12/92”出生的人
(1)
SET
TALK OFF
(2)
USE
STDA
(3)
INDEX
ON 性別 +入學時間
TO LKL
(4)
SEEK “男” + “09/12/92”
(5)
IF
.NOT.EOF()
(6)
DISPLAY
(7)
ELSE
(8)
? “查無此人!”
(9)
ENDIF
(10)
USE
(11)
SET
TALK ON
(12)
RETURN 錯誤的行是: 改為:
4、求出 STCJ 表中總成績的最大值和最小值。(1)
SET
TALK
OFF
(2)
USE
STCJ
(3)
DO
WHILE
.NOT.EOF()
(4)
REPLACE
總分
WITH 高數 +計算機+英語
(5)
SKIP
(6)
ENDDO
(7)
GO
TOP
(8)
STORE
總分
TO MAX , MIN
(9)
DO
WHILE
.NOT.EOF()
(10)
IF MAX >總分
(11)
MAX = 總分
(12)
ENDIF
(13)
IF MIN <總分
(14)
MIN = 總分
(15)
ENDIF
(16)
SKIP
(17)
ENDDO
(18)
? “最高分:” ,MAX ,”最低分:” , MIN
(19)SET
TALK
ON
(20)RETURN 錯誤的行是: 改為:
第九套題
一、完善程序題
1、將“職工”表中的數據按工資降序排列后生成新表,程序如下:
CLOSE
ALL
SET
TALK
OFF CLEAR USE 職工
TO 職工1 ON
工資/D USE 職工1 DISPLAY ALL USE
RETURN
2、在“職工”表中查找且顯示“孫大鵬”的信息,程序如下:
SET TALK OFF CLEAR USE 職工 LOCATE
IF
FOUND()DISPLAY ENDIF USE
3、顯示“職工”表中女職工的工資和,程序如下:
SET
TALK
OFF CLEAR SELECT
FROM 職工 RETURN
1、設計一個查詢表單BD.SCX,其界面如圖所示,其中文本框控件
名為TEXT1,表格控件名為GRID1。當在其中輸入職工姓名并單擊“查詢”按鈕時,將下邊的表格內顯示該職工的信息。“查詢”按鈕的Click 事件代碼應如下:
THISFORM.GRID1.RECORDSOURCETYPE=4
THISFORM.GRID1.FRCORDSOURCE=”SELECT
* FORM 職工
WHERE
姓名
= = ”
5、將“職工”表中第6條記錄的“出生日期”改為“12/12/1972”,程序如下:
SET TALK OFF CLEAR USE 職工 SKIP 5
出生日期
WITH {^1972/12/12} DISPLAY USE
RETURN
第二篇:vfp程序題總結
五.程序題 在Text1中輸入一個3位自然數,分解求和的結果存入Text2中
x= thisform.text1.value a=int【1 】
b=int 【 2】
c=【 3】
s=【 4】
thisform.text2.value=【5 】
x/100(x-a*100)/10 x-a*100-b*10 a+b+c s 2 文本框Text1中輸入的值與文本框Text2中輸入的值交換
a= thisform.text1.value b= thisform.text2.value d=【1 】
【2 】
【3 】=d thisform.text1.value=【4 】
thisform.text2.value=【 5】
a a=b b a b 3 已知任意一個三角形的三條邊為a、b、c,求其面積。
a=thisform.text1.value b=【 1】
c=【 2】
p=(a+b+c)/【3 】
s=【 4】(p*(p-a)*(p-b)*(p-c))thisform.text4.value=【5 】
thisform.text2.value thisform.text3.value 2 sqrt s 4 判斷一個學生的計算機考試成績x屬于哪個分數段之間(0-59,60-69,70-79,80-89,90-100)Command1_click事件代碼如下:
x= thisform.text1.value store 0 to h5,h6,h7,h8,h9 do case case x>=0 and x<=59 h5=h5+1 case 【1 】 and x<=69 h6=h6+1 case x>=70 and x<=79 【 2】
case 【3 】 and x<=89 h8=h8+1 case x>=90 and 【 4】
h9=h9+1 【 5】
thisform.label1.caption=str(h5)+ str(h6)+str(h7)+str(h8)+str(h9)x>=60 h7=h7+1 x>=80 x<=100 endcase 5 假設表單與第二題中的表文件zgqk.dbf 建立了數據環境,在其中按姓名查找職工情況,找到后將其情況在表單上顯示,否則在信息框中顯示“查無此人”。試完成下面程序。
【 1】 zgqk xm=thisform.text1.value locate for【2 】
if 【 3】eof()thisform.【4 】
else 【5 】(“查無此人”)Endif use xm=姓名 not refresh messagebox 6 求s=1/1^2+1/2^2+?+1/n^2 【 1】
n=thisform.text1.【2 】
FOR i=1 TO 【3 】
s=s+【4 】
next THISFORM.Label3.Caption=【5 】
s=0 value n 1/i^2 str(s)7 計算1+3+5+??99,并將結果存入文本框Text1中,請填空
【 1】
FOR N=1 TO 【 2】 step 【 3】
s=s+n end【4 】
【5 】
s=0 99 2 for thisform.text1.value=str(s)8 計算1+3+5+??99,并將結果存入文本框Text1中,請填空
【 1】
FOR N=1 TO 【 2】
if 【 3】(n/2)<> n/2 s=s+n endif end【 4】
【5 】 s=0 99 int for thisform.text1.value=str(s)9 計算2+4+6+??100,并將結果存入文本框Text1中,請填空
【1 】
FOR N=2 TO 【2 】step 1 if int(n/2)=【 3】
s=s+n 【4 】
endfor 【 5】
s=0 100 n/2 endif thisform.text1.value=str(s)10 求所有的3位正整數除以99的商和余數,并輸出。
for i= 【1 】to 【2 】
a= 【 3】
b=【4 】
?【5 】
Endfor 100 999 int(i/99)i%99 a, b 11 求1!+2!+3!+4!+5!。
S=0 For i=1 to【1 】
t=【2 】
for k=1 to 【 3】
t=t*【4 】
endfor s=s+【 5】
endfor 5 1 I k t 12 計算1+2+3+??100,并將結果存入文本框Text1中,請填空
【 1】
FOR N=1 TO【 2】step 【 3】
s=s+n 【 4】for 【5 】
s=0 100 1 end thisform.text1.value=str(s)13 統計1至100之間能被7整除的數的個數并求其和,結果用信息框(對話框)輸出。Command1_click事件代碼如下:
k=0 s=0 for i=1 to 100 if 【1 】(I,7)=0 k=k+【 2】
s=s+【3 】
endif endfor a=messagebox(【 4】+【 5】)mod 1 I str(k)str(s)14 在文本框Text1中輸入一個字符串,統計其中數字字符的個數,結果存入文本框Text2中。Command1_click事件代碼如下: k=0 x=allt(thisform.text1.value)n=【1 】
for i=1 to 【 2】
if subs(x,i,1)>”0” and【3 】
【 4】
endif endfor thisform.text2.value=【 5】
len(x)n subs(x,i,1)>”9” k=k+1 str(k)15.s=求1!+2!+3!+...+20!【1 】
for n=1 to 20 t=1 for m=1 to 【 2】
t=t*【3 】
endfor 【 4】
endfor THISFORM.Text1.Value=【 5】
s=0 n m s=s+t s 16.找出2010至2100之間所有閏年的年份
FOR i=【 1】 TO 【2 】
if i%4=0 AND i%100!=0 OR i%【3 】
? 【4 】
endif 【5 】
2010 2100 400=0 I ENDFOR 17.設計一個求t=n!的自定義函數
【 1】f(x)t=【 2】
FOR j = 1 to 【3】 t=t*【4 】 endfor return 【 5】
function[###]func 1 x j t 18.求 Fibonacci 數列(1,1,2,3,5?)的前n(n>3)項,并輸出
input “n=” to n 【 1】 a(n)a(1)=1 a(2)=1 ? a(1),a(2)for i=3 to 【 2】
a(i)=【 3】+【 4】
?? a(i-1),a(i-2)end【 5】
dime n a(i-1)a(i-2)for 19.輸出zgqk.dbf的基本工資大于600的記錄
【 1】zgqk do while not 【 2】
if 【 3】
【 4】
endif 【5 】
enddo use eof()基本工資>600 disp[###]display skip 1.在Text1中輸入一個3位自然數,分解求和的結果存入Text2中 2.文本框Text1中輸入的值與文本框Text2中輸入的值交換 3.已知任意一個三角形的三條邊為a、b、c,求其面積。
4.判斷一個學生的計算機考試成績x屬于哪個分數段之間(0-59,60-69,70-79,80-89,90-100)287 5.求s=1/1^2+1/2^2+?+1/n^2 6.計算1+3+5+??99,并將結果存入文本框Text1中,7.計算1+3+5+??99,并將結果存入文本框Text1中 8.計算2+4+6+??100,并將結果存入文本框Text1中,9.求所有的3位正整數除以99的商和余數,并輸出。
10.編寫程序計算:s=1+1/2!+1/3!+?+1/n!,說明:在表單中有一個文本框控件:Text1,用來接收n的值,有一個標簽控件:Label1,用來顯示S的值,試編寫表單的單擊事件,實現計算與顯示功能,只要求寫出事件的主要代碼,事件過程的起始語句和結束語句可略去。11.編寫程序計算:S=1X2+2X3+?+NX(N+1)。0
12.編寫程序計算多項式:1^1+2^2+3^3+?+10^10 0
13.編寫程序在表單上顯示出:1~15之間的偶數 0
14.編寫程序在表單上顯示出:5/6+4/5+3/4+2/3+1/2 15.假設表單與第二題中的表文件zgqk.dbf 建立了數據環境,在其中按姓名查找職工情況,找到后將其情況在表單上顯示,否則在信息框中顯示“查無此人”
第三篇:VFP讀程序選擇題
讀下列程序: CLEAR STORE 1 TO I, J DO WHILE J<5 @ I , J SAY “*” J=J+1 ENDDO CANCEL(1)屏幕顯示的起始坐標為___D___。A)1, 5 B)i, j C)0, 0 2)程序執行后,i,j的值分別為__A____A)1, 5 B)i , j C)0, 0 設表文件XS.DBF有10條記錄,程序如下: USE XS GO BOTTOM N=3 DO WHILE N>=1 DISPLAY SKIP-1 WAIT N=N-1 ENDDO USE RETURN(1)程序的功能是(D)
(A)顯示所有記錄(B)分別顯示前3個記錄(C)顯示第3個記錄(2)退出循環后,N的值是(A)(A)0(B)1(C)3 第9題、閱讀下面程序 INPUT“輸入年齡” TO NL DO CASE CASA NL<7 ?“童年” CASE NL<18 ?“少年” CASE NL>18 ?“少年” CASE NL>=60 ?“老年” CASE NL>=35 ?“中年” OTHER ?“青年” ENDCASE 由于設計不當,本程序運行結果不對
(1)運行時輸入 11,輸出的結果是:B A)童年 B)少年 C)青年 D)(2)運行時輸入 36,輸出的結果是:B A)中年 B)少年 C)青年 D)(D)分別顯示后三個(D)4 老年 老年
第10題、DIME A(6)S=0 FOR K=1 TO 6 INPUT“請輸入數據:” TO A(K)S=S+A(K)ENDFOR AV=S/6 R=0 FOR K=1 TO 6 IF A(K)>AV ??A(K)R=R+1 ENDIF ENDFOR ?R(1)若輸入的數據分別是:1 2 3 4 5 6,則顯示的是(D)A)1 2 3 B)2 3 4 C)3 4 5 D)4(2)?R的值是多少(B)A)2 B)3 C)4 D)5 第11題、讀下列程序:
*MAIPROGRAM CLEA CLEAR ALL X1=“工資-100” Y1=200 Z1=100 DO SUB1 ? 'A處:',X1,Y1,Z1 X1=1 Y1=2 Z1=3 DO SUB2 WITH X1,Z1+10,10 ? 'C處:',X1,Y1,Z1 CANCEL PROCEDURE SUB1 PRIV Z1 Z1=10 X1=300 Y1=2 ? 'B處:',X1,Y1,Z1 Z1=1 RETURN
PROCEDURE SUB1 PRIV Z1 Z1=10 X1=300 Y1=2 ? 'B處:',X1,Y1,Z1 Z1=1 RETURN
PROCEDURE SUB2 PARA X1,Z1,Y1 X1=X1+10 Y1=Y1+10 X1=X1+10 RETURN(1)程序顯示A處的X1,Y1,Z1值分別為___B___。
A)300 200 100 B)300 2 100 C)300 200 10 D)300 2 10(2)程序顯示B處的的X1,Y1,Z1值分別為___D___。
A)300 200 10 B)300 200 100 C)300 2 100 D)300 2 10(3)程序顯示C處的的X1,Y1,Z1值分別為___D___。
A)21 20 30 B)21 20 3 C)21 2 30 D)21 2 3
二、讀程序選擇_1(本大題共4道小題,每小題分值6分,共24分。)
第7題、有學生信息表XS.DBF文件,其結構和記錄如下:
記錄號 學號 姓名 年齡 性別 入學日期 出生地 1 Y001 李明 21 男 09/01/99 重慶 2 Y002 林雨 20 女 09/01/99 成都 現有一程序段:
DIMENSION X(3)USE XS SCATTER TO X X(1)=“A003” X(2)=“曾真” X(3)=19 APPEND BLANK GATHER FROM X LIST RETURN(1)運行結果X數組的數據元素的個數是___B___。A)0個 B)3個 C)6個(2)LIST顯示記錄中,最后一條記錄的姓名字段值是__D____。
A)字段值為空 B)林雨 C)李明 D)曾真
第8題、讀下列程序: Clear Store 1 To I, A, B Do While I<=3
個 D)1 Do Prog1 ??“P(”+Str(I, 1)+“)=”+Str(A, 2)+“,” I=I+1 Enddo ??“B=”+Str(B, 2)Return Procedure Prog1 A=A*2 B=B+A Return(1)程序的運行結果為(D)。
(A)P(1)=2,P(2)=3,P(3)=4,b=15(B)P(1)=2,P(2)=4,P(3)=6,b=8(C)P(1)=2,P(2)=4,P(3)=6,b=18(D)P(1)=2,P(2)=4,P(3)=8,b=15(2)變量i的最終結果是(C)(A)3(B)5(C)4(D)6
第9題、閱讀下面程序: CLEAR OPEN DATABASE emplorer USE compen SCAN FOR RECNO()<=10 IF 姓名='李強' LOOP ENDIF ?姓名,實發工資 ENDSCAN USE CLOSE DATABASE(1)compen是:(D)A.自由表 B.數據庫表
C.數據庫 D.可能是自由表,也可能是(2)若數據庫有50條記錄,則程序的功能是:(D)A前10條記錄中搜索“李強”的記錄 B列出前10條記錄
C.每10條記錄一屏顯示記錄,但不顯示“李強”的記錄 D.列出前10條記錄,但是不顯示“李強”的 第10題、閱讀下面程序: CLEA clear store 1 to i store 2 to j,k do a1 ?“i=”+str(i,2)+“ j=”+str(j,2)+“ k=”+str(k,2)proc a1 i=3*i+2 private i i=2*j+k ?“i=”+str(i,2)+“ j=”+str(j,2)+“ k=”+str(k,2)retu RETURN(1)主程序中“do a1”后的顯示語句顯示結果為:(C)
(A)i=6 j=7 k=2(B)i=5 j=7 k=2(C)i=5 j=2 k=2(D)i=6 j=8 k(2)過程a1中的顯示語句將顯示:(D)
(A)i=6 j=7 k=2(B)i=5 j=7 k=2(C)i=5 j=8 k=2(D)i=6 j=2 k=第7題、CLEAR CLOSE ALL USE 學生 COUNT TO X GO TOP FOR I=1 TO X IF 性別='男' DISP ENDIF SKIP ENDFOR CLOSE ALL(1)該程序的功能是:(C)A)顯示一條男同學的記錄 B)顯示一條女同學的記錄 C)顯示所有男同學的記錄 D)顯示所有女同學的記錄
(2)程序退出循環的條件是(C)A)記錄指針指向文件尾 B)記錄指針指向文件頭 C)循環次數大于表中記錄條數 D)循環次數小于表中記錄條數 第8題、閱讀下面程序: 有圖書數據表TS和訂書單表DSD如下: TS:(書號:C3,單價:N6.2 書名C10)
書號 單價 書名
001 12.0 計算機應用 002 10.0 化學
003 15.0 分析化學
DSD:(班級:C6,書號:C3,數量:N3.0, 款項:N7.2)
記錄號 班級 書號 數量 款項 1 化95.4 001 47 0.00 2 數94.3 002 74 0.00 3 物96.4 003 67 0.00 4 生95.4 002 47 0.00 5 地94.3 001 67 0.00 6 物94.3 002 67 0.00 7 數94.3 001 74 0.00 8 化95.4 003 47 0.00 9 數94.3 003 74 0.00 程序: CLEA ALL SELE 1 USE Ts ALIAS SHU INDEX on 書號 tag TSSH SELE 2 USE dsd alias shdn SET RELA TO 書號 INTO SHU REPL ALL 款項 WITH數量*shu.單價 LIST DO WHIL.T.ACCE “輸入0退出” TO BJ IF BJ ='0' EXIT ENDI ACCE“輸入書號” TO SH LOCAT FOR 書號=SH DISP ?“書號”+書號+str(款項)+“元。” ENDD clea all RETURN(1)do while循環中locate操作的表是:(B)(A)數據表TS(B)數據表DSD(C)系統臨時表aaa(D)系統臨時表cursor aaa(2)運行時輸入書號“003”,則輸出為:_C(A)分別顯示書號為“003”的所有款項(B)顯示書號為“003”的所有款項之和(C)顯示書號為“003”的第一條記錄的款(D)輸入錯誤,沒有輸出
第9題、讀下列程序: &&MAIN.PRG PUBLIC X,Y SET PROC TO KK X=20 Y=50 DO A1 ?X,Y SET PROC TO RETU *過程文件kk.prg Proc a1 Private x X=30 Local y Do a2 ?x,y Return Proc a2 X=“kkk” Y=“mmm” Return 第一次顯示的X,Y的值是(B)A)KKK 30 B)KKK.F.C)KKK 50 D)30.F.第二次顯示的X,Y的值是(B)A)20 50 B)20 MMM C)30 50 D)30 MMM 第10題、讀程序: CLEAR CLOSE ALL SELE 2 USE CJ INDEX ON 學號 TO XH SELE 1 USE XS SET RELATION TO 學號 INTO B SET SKIP TO B replace b.成績 with b.成績*1.1 for a.姓名=“王小平”(1)在以上程序中(A)A)表CJ是子表 B)表XS是子表 C)表XS是主表也可以是子表 D)無法確(2)該程序的功能是B A)修改王小平的成績為1.1分 B)修改王小平的成績為原成績的1.1C)修改字段名成績為成績1.1 D)顯示王小平的記錄
第11題、有以下三段程序
*Main.PRG CLEA K1=10 K2=20 DO SuB ?K1,K2 &&(1)DO Sub1 With K2+10,K1 ?K1,K2 &&(3)RETU PROC SUB PRIV K1 K1=K2+1 K2=K1+1 RETU PROC Sub1 PARA Xl,x2 X1=10 X2=20 X1=STR(X1,2)+STR(X2,2)X2=X1+STR(X2,2)?X1,X2 &&(2)RETU(1)程序運行到(1)處顯示的結果是(D)(A)10 20 b)20 30(C)10 30(D)l0 2(2)程序運行到(2)處顯示的結果是(B)A)1020 102010(B)1020 102020(C)1010 101010(D)1020 101010(3)程序運行到(3)處顯示的結果是(D)(A)101010 22(B)102020 30(C)102020 40(D)102020 22 第7題、I=0 DO WHILE I<10 IF INT(I/2)=I/2 I=I+3 ENDIF I=I+2 ENDDO ?I RETU(1)上述程序執行后,共循環了__C____次。A)10 B)5 C)4 D)死循環(2)上述程序執行后,屏幕顯示為___B___。A)10 B)11 C)9 D)13
第7題、讀下列程序: k=1 DO WHILE k<=21 k=k+2 ?STR(k,2)IF k=9 EXIT ENDIF ENDD(1)程序循環了多少次__A____。A)4 B)3 C)6 D)5(2)程序執行的結果是___C___。A)1 3 5 7 B)2 4 6 8 C)3 5 7 9 第8題、讀下列程序: CLEAR FOR K=1 TO 4 A=“$” FOR J=1 TO k A=A+STR(K,1)ENDFOR @K,5 SAY A ENDFOR WAIT RETURN(1)程序運行的結果是___B___。
A)$1 B)$1 $22 $22 $122333 $333 $4444 C)$122333 D)$(2)程序運行到WAIT處,變量K與J的值分別是___D___A)1, 1 B)4, 4 C)4, 1 第9題、如下程序顯示的結果是()。s=1 i=0 do while i<8 s=s+i i=i+2 enddo ?s(1)S的值為(D)A)10 B)11 C)12 D)13(2)程序循環次數為:(B)A)3 B)4 C)5 D)6
第10題、閱讀下面程序: CLEAR OPEN DATABASE emplorer USE compen SCAN FOR RECNO()<=10 IF 姓名='李強' LOOP ENDIF ?姓名,實發工資 ENDSCAN USE CLOSE DATABASE(1)compen是:(D)A.自由表 B.數據庫表
C.數據庫 D.可能是自由表,也可能是數據(2)若數據庫有50條記錄,則程序的功能是:(D)
A. 前10條記錄中搜索“李強”的記錄 B.列出前10條記錄 C.每10條記錄一屏顯示記李強“的記錄 D.列出前10條記錄,但是不顯示”李強“的記錄
第7題、讀下列程序: USE GZ Y='Y' DO WHILE Y$'Yy' CLEA ACCE '請輸入姓名' TO XM INDEX ON 職稱 TO ZX FOR 姓名=ALLT(XM)L=3 M=10 DO WHILE.NOT.EOF()@ L,M GET 姓名
@ L,M+20 GET 基本工資 L=L+2 SKIP ENDDO WAIT '下一個(Y/N)?' TO Y ENDDO USE RETU(1)這個程序的功能是___B___。A)輸入 B)查詢(C)修改(D)統計(2)程序中變量Y的作用是___A___。
A)控制整個程序循環 B)把指針指向下一條記錄 C)等待 D)沒有作用 第9題、有如下程序段: DO CASE CASE X>100 ?? ”1“ CASE X>200 ?? ”2“ OTHERWISE ?? ”3“ ENDCASE(1)若在X=300的情況下執行這個程序段,屏幕上將顯示A A)1 B)2 C)12 D)3(2)輸入下列什么數據時,屏幕上將顯示字符 3 A A)100 B)200 C)300 D)400 第7題、有如下教師授課表: 教師號 主講課程 t1101 數據結構 t1102 C語言 t1103 網頁制作 t1104 計算機網絡 t1105 計算機網絡 t1105 C語言 t1105 數據庫
下列程序段的輸出結果是 CLOSE DATA a=0 USE教師 GO TOP DO WHILE.NOT.EOF()IF主講課程=”數據結構“.OR.主講課程=”C語言“ a=a+1 ELSE DISP ENDIF SKIP ENDDO ?a 1 A A)3 B)4 C)5 D)6(2)命令DISP一共顯示的記錄條數是:A)3 B)4 C)5 D)6
第8題、讀下列程序并進行判斷。S=0 I=1 Do While I<4 Accept ”請輸入字符串: “ To X If ”A“ $ X S=S+1 Endif I=I+1 Enddo ?S Return(1)運行時輸入 ”abcd“, ”ABCD“, ”aBcD “, 輸出 S的值是(B)(A)2(B)1(C)3((2)運行時輸入”ABCD“, ”ABcd“, ”cdab“, 輸出 S的值是(C)(A)1(B)4(C)2(D)第7題、如下程序顯示的結果是()。s=1 i=0 do while i<8 s=s+i i=i+2 enddo ?s(1)S的值為(D)A)10 B)11 C)12 D)13(2)程序循環次數為:(B)A)3 B)4 C)5 D)6
第8題、CLEAR N=10 FOR J=1 TO 3 ?STR(J,2)+')' ??SPACE(6*J)FOR K=1 TO 3-J+1 ?? STR(J*K,6)N=N+2 ENDFOR ? ENDFOR RETURN(1)輸出的圖形為:(C)
A.1)1 B.1)1 2 3 C.1)1 2 3 D.1)1 2 3 2)2 4 2)2 4 2)2 4 2)4 6 8 3)3 6 9 3)3 3)3 3)9 12 15(2)程序結束時,N的值是:(A)A.22 B.9 C.10 D.15 第9題、設表文件XS.DBF有10條記錄,程序如下: USE XS GO BOTTOM N=3 DO WHILE N>=1 DISPLAY SKIP-1 WAIT N=N-1
ENDDO USE RETURN(1)程序的功能是(D)
(A)顯示所有記錄(B)分別顯示前3個記錄(C)顯示第3個記錄(D)分別顯示后三(2)退出循環后,N的值是(A)(A)0(B)1(C)3(D)4
讀下列程序:
USE GZ Y='Y' DO WHILE Y$'Yy' CLEA ACCE '請輸入姓名' TO XM INDEX ON 職稱 TO ZX FOR 姓名=ALLT(XM)
L=3 M=10 DO WHILE.NOT.EOF()@ L,M GET 姓名 @ L,M+20 GET 基本工 L=L+2 SKIP ENDDO WAIT '下一個(Y/N)?' TO Y ENDDO USE RETU(1)這個程序的功能是___B___。A)輸入 B)查詢(C)修改(D)統計(2)程序中變量Y的作用是___A___。
A)控制整個程序循環 B)把指針指向下一條 錄C)等待 D)沒有作用
第8題、已知proc.prg程序清單如下:(12)n=10 t=15 S=1 M=0 DO proc_1 WITH n M=M+S DO proc_1 WITH T M=M+S ?M CANC proc_1.prg程序清單如下: PARAMETERS a S=1 FOR K=1 TO A S=S*K ENDFOR RETURN(1)程序proc.prg的功能是(C)A)輸出N 和T的乘積 B)輸出N 和T的階乘 C)輸出N 和T的階乘之和D)輸出N 和T的值(2)在程序中變量S是(D)A)全局變量 B)私有變量 C)本地變量 D)局部變量 讀程序 clear use 學生
locate for 入校總分>=580 do while.not.eof()disp continu enddo ?'結束' Cancel(1)該程序的功能是:(B)A)顯示表中一條入總分大于580分的學生記錄 B)顯示表中所有入校總分大于580分的學生記錄C)顯示表中一條學生記錄D)顯示表中所有的學生記錄
(2)循環結束后,表中記錄指針指向(B)A)文件頭 B)文件尾 C)末記錄 D)首記錄
USE XSDA N=1 XH=”200201“ DO WHILE N<=120 APPEND BLANK REPL 學號 WITH STR(VAL(XH)+N,6)N=N+1 ENDDO USE CANCEL(1)上述程序數據庫中,”學號“這個字段是__A___A)字符型 B)數值型 C)日期型 D(2)該程序的功能是____D__。
A)修改表文件的字段 B)修改表文件原有記錄中學號字段的值 C)增加表文件的字段 D)追加新記錄并填充學號字段的值
(3)程序運行到最后,變量N的值是___C___。A)1 B)120 C)121 D)0 現有表文件STUD.DBF,表中有:學號(C/6),姓名(C/8),性別(C/2),出生日期(D/8)等字段干條,根據已有的表文件運行下面程序: SET TALK OFF CLEAR USE STUD INDEX ON TRIM(姓名)TO ISTUD S=.T.DO WHILE S XM=SPACE(8)ACCEPT ‘請輸入姓名:’ TO XM IF LEN(TRIM(XM))=0 EXIT ENDIF SEEK XM IF.NOT.EOF()@3,10 SAY “學號” @3,20 SAY 學號
@5,5 SAY “姓名”+姓名 @7,5 SAY “性別”+性別 @9,5 SAY “出生日期:” @ 9,20 SAY 出生日期 ELSE @20,3 SAY “沒有找到該姓名的學生” S=.F.ENDIF WAIT ENDDO CANCEL(1)程序中的索引關鍵字和索引文件名分別為__B____。
A)學號, STUD.DBF B)姓名,ISTUD.DBF C)學號, ISTUD.IDX D)姓名,ISTUD.IDX(2)程序中用SEEK進行___C___查找。A)順序 B)條件 C)索引 D)范圍(3)執行EXIT命令的條件是____C___。
A)輸入姓名后直接按
C)輸入姓名,又按空格鍵,再按
A=“Abcde” N=LEN(A)I=1 DO WHILE I<=N B=SUBSTR(A,I,1)IF ISLOW(B)B=CHR(ASC(B)-32)A=STUFF(A,I,1,B)ENDIF I=I+2 ENDDO ?A RETURN(1)程序運行的結果是___D___。A)abcde B)ABCDE C)abCdE D)AbCdE(2)程序循環的次數是___C___。A)5 B)4 C)3 D)6
讀下列程序: USE 學生 I=1 FILEN=”” DO WHILE I<=9 FILEN=”S”+STR(I,1)+”.DBF” COPY TO &FILEN I=I+1 ENDDO USE(1)程序運行的結果是___C___。A)無結果 B)拷貝了1個文件C)拷貝了9個文件
了10個文件
(2)拷貝所產生的新文件名是___D___。A)S.DBF B)FILEN C)&FILEN D)S1.DBF~S9.D
有如下程序段: USE CLASS LOCATE FOR 政治面目=”團員“ DO WHILE FOUND()DISPLAY CONTINUE ENDDO該程序的功能是:C
A)顯示團員的一條記錄 B)顯示非團員的一條記錄C)顯示團員的所有記錄D)顯示非團員的所程序退出循環的條件是A
A)FOUND()函數返回值為B)FOUND()函數返回值為假 C)與 FOUND()函數的值無關D)EOF()函數返回值為真
有如下程序段: DO CASE CASE X>100 ?? ”1“ CASE X>200 ?? ”2“ OTHERWISE ?? ”3" ENDCASE(1)若在X=300的情況下執行這個程序段,屏幕上將顯示A A)1 B)2 C)12 D)3(2)輸入下列什么數據時,屏幕上將顯示字符 3 A A)100 B)200 C)300 D)400
讀程序
1、CLEAR M=0 FOR X=1 TO 10 IF MOD(X,3)=0 M=M+X ENDIF ENDFOR ? M RETURN(1)該程序的功能是:求1到10之間B A.能被3整除數的個數 B.能被3整除數C.不能被3整除數的個數 D.不能被3整除數的和
(2)該程序執行的結果是:C A.3 B.10 C.18 D.37
&&MAIN.PRG &&P1.PRG X1=1 PARA W1,W2 X2=2 PRIVATE W1 DO P1 WITH X1,X2 W1=W1*3 ?’X1=’+STR(X1,1)W2=W2*4
??’X2=’+STR(X2,1)RETURN X1=1 X2=2 DO P1 WITH X1,X1+X2 ?’X1=’+STR(X1,1)??’X2=’+STR(X2,1)
RETURN(1)第一次顯示X1,X2的值是B A 1 , 8 B 3 , 8 C.1 , 1 D.8 , 8(2)第二次顯示X1,X2的值是C A 1 , 2 B 3 , 1 C 3 , 2 D.1 , 3
CLEAR DIME A(20)P=1 FOR N=1 TO 20 INPUT“請輸入數據:“ TO A(N)ENDFOR FOR L=1 TO 19 FOR M=L+1 TO 20 IF A(L)<=A(M)T=A(L)A(L)=A(M)A(M)=T ENDIF ENDFOR ??A(I)ENDFOR 程序完成的功能是將20個數組元素值A A 排序后按從大到小的順序輸出 B 排序后按從小到大的順序輸出C. 倒序輸出 D.按自然順序輸出
將DIME A(20)改成 DIME A(10)后,B A. 出現“數組重復定義”的錯誤 B. 出現“數組下標越界”的錯誤 C. 程序功能不變,只是輸出10個數組元素值 D. 程序功能不變,仍然輸出20個數組元素值
CLEAR CLOSE ALL USE 學生 SCAN IF性別=’男’ DISP ENDIF N=N+1 ENDSCAN ?N CLOSE ALL CANC(1)D A)該程序顯示一條男同學的記錄 B)該程序顯示一條女同學的記錄 C)該程序顯示全班同學的記錄 D))該程序顯示全班男同學的記錄(2)命令?N 顯示的是C A)男同學的記錄個數 B)女同學的記錄個數 C)全班同學的記錄個數 D)無法確定
USE SB SORT TO RQX ON 啟用日期/D FIELDS 編號,名稱,啟用日期 FOR NOT 主要設備 USE RQX LIST USE SB SORT TO BMX ON 部門/D,價格 FOR 主要設備 USE BMX LIST RETURN(1)程序執行到第一個LIST命令時,輸出結果是C
(A)將主要設備按編號,名稱,啟用日期分別升序排序。(B)將主要設備按編號,名稱,啟用日期分別降序排序。(C)將非主要設備按啟用日期降序排序。(D)將非主要設備按啟用日期升序排序。
(2)程序執行到第二個LIST命令時,輸出結果是B
(A)將主要設備按部門升序排序,當部門相同時,按價格降序排序。(B)將主要設備按部門降序排序,當部門相同時,按價格升序排序。(C)將主要設備按部門降序排序,當部門相同時,按價格升序排序。(D)將主要設備按部門升序排序,當部門相同時,按價格降序排序。
共有3個數據庫文件TB1.DBF, TB2.DBF, TB3.DBF,下面程序功能是把每個庫文件的末尾記錄刪掉。序,將程序填寫完整。N=1 DO WHILE N<=3 TB=“TB“+STR(N,1)USE &TB GO BOTTOM DELETE PACK N=N+1 ENDDO 該程序的功能是B(A)將數據表的末記錄作物理刪除(B)將數據表的末記錄作邏輯刪除(C)將數據表的首記錄作物理刪除(D)將數據表的首記錄作邏輯刪除
該程序一共刪除了()表中的記錄C(A)1個(B)2個(C)3個
(D)4個
閱讀下面程序: 有圖書數據表TS和訂書單表DSD如下: TS:(書號:C3,單價:N6.2 書名C10)
書號 單價 書名
001 12.0 計算機應用 002 10.0 化學
003 15.0 分析化學 DSD:(班級:C6,書號:C3,數量:N3.0, 款項:N7.2)
記錄號 班級 書號 數量 款項 1 化95.4 001 47 0.00 2 數94.3 002 74 0.00 3 物96.4 003 67 0.00 4 生95.4 002 47 0.00 5 地94.3 001 67 0.00 6 物94.3 002 67 0.00 7 數94.3 001 74 0.00 8 化95.4 003 47 0.00 9 數94.3 003 74 0.00 程序: CLEA ALL SELE 1 USE Ts ALIAS SHU INDEX on 書號 tag TSSH SELE 2 USE dsd alias shdn SET RELA TO 書號 INTO SHU REPL ALL 款項 WITH數量*shu.單價 LIST DO WHIL.T.ACCE “輸入0退出” TO BJ
IF BJ =’0’ EXIT ENDI ACCE“輸入書號” TO SH LOCAT FOR 書號=SH DISP ENDI ?“書號”+書號+str(款項)+”元。” ENDD clea all RETURN(1)do while循環中locate操作的表是:B A數據表TS B數據表DSD C系統臨時表aaa D系統臨時表cursor aaa(2)運行時輸入書號“003”,則輸出為:_C(A)分別顯示書號為“003”的所有款項(B)顯示書號為“003”的所有款項之和(C顯示書號為“003”的第一條記錄的款項(D)輸入錯誤,沒有輸出
閱讀下面程序: CLEAR T=65 R=20 INPUT “請輸入圖形的行數N=” TO N I=1 DO WHILE I<=N J=1 DO WHILE J<=2*I-1 @I,J+R SAY CHR(T)J=J+1 IF J<=I T=T+1 ELSE T=T-1 ENDIF ENDDO I=I+1 R=R-1 T=65 ENDDO RETURN(1)運行程序后輸出圖形C
(A)A(B)A BBB ABC CCCCC ABCDE DDDDDDD ABCDEFG EEEEEEEEEEEE ABCDEFGHIJ
??????? ??????
(C)A A ABA BAB ABCBA CBABC ABCDCBA DCBABCD ABCDEDCBA EDCBABCDE
??????? ???????(2)語句@I,J+R SAY CHR(T)中函數CHR()的功能是D(A)從字符T中取出子串(B)返回字符T的ACSⅡ碼值(C)返回字符T的ACSⅡ碼字符
(D)返回<數值表達式>表示的ACSⅡ碼字符
:
CLEA BM=SPACE(10)@5,10 SAY“請輸入表名:”GET BM READ BM=ALLTRIM(BM)IF FILE(“&BM..DBF”)USE &BM BROWSE ELSE WAIT“文件不存在!” WINDOW NOWAIT ENDIF USE RETURN(1)程序的功能是C(A)瀏覽任意一個打開的表文件(B)修改任意一個打開的表(c)瀏覽指定表文件BM(D)修改指定表文件BM(2)函數FILE(“&BM..DBF”)的功能是C(A)測試指定的文件的類型正確否(B)指定文件類型為(C)測試指定的文件存在否(D)指定文件為&BM..DBF
有圖書目錄數腳sml,dbf和入庫流水單表skc.dbf如下 sml.dbf:(5條記錄)書號 書名 作者 出版社 1 計算機基礎 楊振山 高等教育 2 計算機原理 費利民 西安交大 3 C語言設計 趙國民 上海 4 C語言教程 張 揚 四川 5 C++教程 張 敏 高等教育 skc.dbf:(5條記錄)書號 單價 數量 金額 入庫日期 1 15.00 30 450.00 20030818 2 11.00 21 231.00 20030818 3 22.00 30 660.00 20030818 4 19.00 30 570.00 20031218 5 22.21 23 510.83 20031218 程序: CLEAR @1,15 SAY ‘新書入庫’ Y=’Y’
DO WHILE upper(Y)=”Y” SM=SPACE(14)ZZ=SPACE(8)CBS=SPACE(10)@3,10 SAY ’書名’ GET SM @3,30 SAY ’作者’ GET ZZ @3,45 SAY,出版社 GET CBS READ SELE 1 USE SML LOCA FOR TRIM(書名)=TRIM(SM)AND TRIM(作者)=TRIM(ZZ)AND TRIM(出版;社)=TRIM(CBS)IF FOUND()SH=書號 ELSE SKIP-1 SH=STR(val(書號)+1,4)APPE blan REPL書名WITH SM,書號WITH SH,作者WITH ZZ,出版社with cbs ENDIF SELE 2 USE skc APPE BLAN REPL書號with sh @4,10 SAY ‘單價’ GET單價 @4,30 SAY ‘購人數’ GET數量 READ REPL金額 WITH 單價*數量 REPL入庫日期 WITH date()WAIT “是否繼續(Y/N)” to Y ENDD CLOSE DATA 設運行時依次輸入下列數據:
代數 張三 清華 22.00 31 幾何 李四 北大 33.00 32 概率 王五 南開 44.00 33 幾何 李四 北大 33.00 41 代數 張三 清華 22.00 56(1)此時sml表中的記錄條數和最大記錄號分別為C A 10條,10 B 10條,5 C 8條,8 D 8(2)SKC表中記錄數為C(A)10(B)5(C)8(D)7
clear dimension k(2,3)i=l ? do while i<=2 j=l do while j<=3 k(i,j)=i*j ??k(i,i)??” ” j=j+1 enddo ? i=i+1 enddo(1)運行程序后,屏幕的顯示結果是A
(A)1 2 3(B)1 2 2 4 6 3 2(C)1 2 3(D)1 2 3 1 2 3 2 4 9(2)如果將dimension k(2,3)語句改為:dimension K(2,2)后,A(A)出現“數組重復定義”的錯誤(B)出現“數組下標超界”的錯誤
(C)程序功能不變,只輸出4個數組元素(D)程序功能不變,仍然輸出6個數組元素
閱讀下列程序 CLEAR M=0 FOR K=0 TO 2 FOR J=3-k TO 3+K @K,J SAY STR(K,2)+STR(J,1)M=M+1 NEXT K NEXT 1 ?M RETURN(1)輸出圖形為: A
(A)03(B)03(C)03(D)0 3 14 14 14 1 4 25 25 25 2 5(2)程序結束時,M的值是: B(A)11(B)9(C)10(D)8
讀下列程序: J=0 CLEAR FOR K=1 TO 4 FOR R=1 TO 5-K ??“” &&此處括號內有1個空格 ENDFOR FOR M=1 TO 2*K-1 ??STR(K,1)J=J+1 ENDFOR ? ENDFOR ? J(1)程序運行的結果是:A
A)1 B)1 C)2 D)1 222 121 121 212 33333 1331 1331 31113 4444444 144441 144441 4111114(2)程序結束時,J的 值為C A)7 B)17 C)16 D)6
SUM=0 N=0 DO WHILE N< 100 N=N+1 SUM=SUM+N ENDDO ?’SUM=’,SUM(1)該程序的功能是B A)計算1+100的值 B)計算1+2+3+?+100的值 C)計算1+99的值 C)計算1+2+3+?+99的值(2)循環結束后,N的值為A
A)100 B)99 C)101 D)102
Clea FOR N=1 TO 4 FOR I=1 TO 2*N-1
IF I<=N
@ N,10-N+I SAY STR(I,1)
ELSE
@ N,COL()SAY STR(2*N-I,1)
ENDI ENDF ENDF Canc(1)該程序的顯示的是:B
A)1 B)1 C)1 D)1 222 121 212 121 33333 12321 31213 13331 4444444 1234321 4123214 1444441(2)循環結束后,N的值為C A)3 B)4 C)5 D)6
INPUT”請輸入數據1:“ TO X INPUT”請輸入數據2:“ TO Y INPUT”請輸入數據3:“ TO Z IF X>Y N=Y ELSE N=X ENDI IF N (1)A)輸入的最大值 B)輸入的最小值 C)輸入的中間值 D)輸入的任意值 有一學生情況表STU,表中有成績字段 以下程序的功能是: N=0 S=0 USE STU 輸入的任 D)SCAN FOR 成績>=560 S=S+成績 N=N+1 ENDS S=S/N USE ?S CANC 程序中命令?S,S 表示的是D A)表中成績大于560分的人數 B)統計表中成績小于560分的人數 C)表中成績大于560分的人的總分數 D)表中成績大于560分的人的平均分數 有一學生情況表STU,表中有成績字段 以下程序的功能是: N=0 S=0 USE STU SCAN FOR 團員 S=S+成績 N=N+1 ENDS S=S/N USE ?S CANC 程序中命令?S,S 表示的是D A)表中團員人數 B)表中非團員的人數 C)表中團員總分數 D)均分數 1、本題素材為考生文件夾下的sz01.scx文件,請完成以下操作: (1)將表單form1的標題欄設為“我的表單”,表單設為最大化模式;windowstate 2(2)將label1的字體大小設為24,字的顏色為rgb(255,0,0); (3)將label2的字體大小設為18,背景顏色為(212,68,128); (4)在該表單上添加一個命令按鈕組,其中有兩個按鈕,標題分別為“確定”和“取消”。 2、本題素材為考生文件夾下的sz02.scx文件,請完成以下操作: (1)將表單form1的標題欄設為“學生管理”; (2)將label1的字體大小設為22,背景顏色為(215,100,100); (3)將label2的標題設為“2006年6月”,字體大小設為16,標簽大小可自動調整; Autosize.T.自動調整大小label2的標題; caption屬性設為2006年6月 (4)在該表單上添加一個列表框,列表框中添加的項目為“北京”、“上海”、“南京”。在生成器中-手工輸入數據-列 thisform.list1.additem(“北京”) thisform.list1.additem(“上海”) thisform.list1.additem(“南京”) 3、本題素材文件是考生文件夾中的sz03.scx,完成以下操作: (1)設置文本框Text1顯示的值為“江西科技師范學院”,只讀;readonly.T.(2)將Command1的標題設置為“查詢”,字號為14; (3)設置屬性使得Command2運行時不可見;visible.F.不可見 4、打開考生文件夾下的表單文件sz04.scx,按以下要求進行設置并保存。 (1)設置表單的標題為“移動字幕”,表單的背景色為“藍色(0,255,0)”;backcolor (2)設置標簽label1的字號為“24”、斜體,標簽的大小能夠自動調整;fontsizeFontitalic.F.Autosize.T.自動調整大小 (3)設置按鈕command2為不可用;enabled.F.(4)在表單上添加一個計時器控件Timer1,設置Timer1的時間間隔屬性為0.2秒。200毫秒 5、本題素材文件是考生文件夾中的sz05.scx,該表單實現的功能是逐條顯示表sz05_xs.dbf中的記錄,請完成以下設置: (1)將Label1的字號設為16,斜體,紅色;Fontitalic.F.Forecolor(225,0,0) (2)在表單上建立三個文本框分別顯示表sz05_xs.dbf中的學號、姓名和獎學金。 該表單運行效果如下圖所示: 7、本題素材為考生文件夾下的sz07.scx文件,請完成以下操作: (1)將label1的字體大小設為18,背景顏色為(255,128,0); (2)添加一個標簽控件,設置其標題為“2006年6月”,可自動調整標簽控件的大小;thisform.label2.caption.autosize =.T.(3)在該表單上添加一個命令按鈕,設置其名稱為“cmdok”,不響應事件(即運行時按鈕顯示為灰色的)。Namecmdok(thisform.command1.enabled=.f.)該表單運行效果如下圖所示:命令1: 8、本題素材文件是考生文件夾中的sz08.scx,完成以下操作: (1)將Command1的標題設置為:計算,字號為14; (2)設置屬性使得Command2不可見(即運行時不顯示); visible.F.不可見 (3)在表單上添加一個文本框,設置文本框的寬度為200,高度為40,數據類型為數值型。生成器將數據類型轉換為數值型文本框的Value值設為0該表單運行效果如下圖所示: 9、打開考生文件夾下的表單文件sz09.scx,按以下要求進行設置并保存。 (1)設置表單的標題為“移動”,設置屬性使得該表單運行時自動處于最大化狀態; windowstate 2(2)設置標簽label1的字體為“黑體”,字的顏色為紅色(255,0,0); (3)在表單上添加一個計時器控件Timer1,設置Timer1的時間間隔屬性為0.2秒,不響應事件。200毫秒enabled.F.設置完成后效果如下圖,運行時表單會最大化。 10、本題素材文件是考生文件夾中的sz10.scx,另有一個表文件xs4_10.dbf,包括學號、姓名、獎學金三個字段。 完成以下設置: (1)將Label1(學生情況)的字體設為“隸書”,背景色為“淺藍(128,128,255)”; (2)將表xs4_10添加到該表單的數據環境中; (3)在表單上添加兩個文本框,分別用于顯示表中的“姓名”和“獎學金”字段。該表單運行效果如下圖所示: 11、本題素材文件是考生文件夾中的sz11.scx,完成以下操作: (1)設置label1的文字顏色為紅色(255,0,0),背景透明;backstyle (2)將Command1的標題設置為“計算”,字號為14; (3)設置屬性使得Command2不可見(即運行時不顯示); thisform.command2.visible=.F.(4)在表單上添加一個編輯框,設置編輯框的寬度為200,高度為100。該表單運行效果如下圖所示: 12、本題素材文件是考生文件夾中的sz12.scx,請完成以下設置: (1)將表單設為初次顯示時自動居中;autocenter.T.(2)將Label1的字體設為“隸書”,加粗,加下劃線;thisform.label1.fontname =“隸書”fontboldfontunderline (3)將表sz12_1.dbf添加到該表單的數據環境中; (4)在表單上建立三個文本框分別顯示表sz12_1.dbf中的編號、姓名和工資現狀。 該表單運行效果如下圖所示: 13、本題素材文件是考生文件夾中的sz13.scx,完成以下操作: (1)設置標簽label1顯示的文本為“請選擇要瀏覽的表”,字號18,該標簽能夠自動調整大小;autosize (2)將Command1的名稱設為“cmdok”,標題設為“確定”,字號為16; Namecmdokcaption確定 (3)在該表單上添加一個選項按鈕組,其中有三個選項,分別是“讀者”、“作者”、“圖書”。 14、設計一表單,可以通過一文本框對列表框進行項目的添加、刪除操作,其界面如圖7-40所示。 (1)選擇控件 在表單上添加一個列表框控件Listl,一個文本框控件Text1和兩個按鈕控件command1、command2。 (2)屬性設置 Forml的Caption屬性設為“課程管理”。 Command1的Caption屬性設為“添加”。 Command1的Caption屬性設為“刪除”。 (3)編寫代碼 窗體Forml的Init代碼如下: thisform.list1.AddItem(“計算機文化基礎”) thisform.list1.AddItem(“大學英語”) thisform.list1.AddItem(“高等數學”) 按鈕Command1的Click代碼如下: kecheng=thisform.text1.Value thisform.list1.additem(kecheng) thisform.text1.Value="" 按鈕Command2的Click代碼如下: thisform.list1.RemoveItem(thisform.list1.ListIndex) VFP命令、函數及程序語句大全(1 學過VFP(Microsoft Visual FoxPro的朋友都知道它是微軟公司開發的數據庫管理系統。它 經歷了從dBASE、FoxBASE、FoxPro直到VFP的發展過程。本文便以VFP 6.0為例介紹它的命令、函數 及程序語句,為學習VFP的朋友提供必要的學習參考,也為已經精通VFP的朋友提供復習的好機會。 一、主要命令: 1、CREATE 作用:建立一個新的表。 格式:CREATE [<文件>|?](注意,命令字符可取前面四個字符,后面可省略不寫,即CREA,下 同;中括號表示其中的參數是可選的;|管道符號表示兩個參數只能選擇一個,不能同時選擇,下 同。 說明:文件指建立以.dbf為擴展名的VFP數據庫文件,在命令后面加上一個問號表示系統會彈出 對話框,要求用戶輸入想要建立的表名。在命令中不加文件名或問號系統也會彈出對話框,要求用 戶輸入想要建立的表名。 2、MODIFY STRUCTURE 作用:顯示表文件結構,并允許修改此表的結構。格式:MODIFY STRUCTURE 說明:只有在用USE命令打開表文件以后,才能顯示或修改表文件的結構。 3、APPEND 作用:在當前表的尾部(無論表中有無記錄追加記錄(在當前表指當前正使用的表。 格式:APPEND [BLANK] 說明:在APPEND命令后面加上BLANK參數表示在當前表的尾部添加一條空白記錄。無BLANK 參數 時,表示在當前表的尾部添加一條記錄并要求用戶輸入相應的字段內容。 4、INSERT 作用:在表文件中間插入一個新記錄。格式:INSERT [BEFORE] [BLANK] 說明:INSERT 在當前記錄后插入一記錄;INSERT BEFORE 在當前記錄前插入一記錄;INSERT BEFORE BLANK 在當前記錄前插入一空記錄。INSERT-SQL命令追加記錄 INSERT INTO 表名[(字段1[,字段2…]];VALUES(表達式1[,表達式2…] 例:INSERT INTO XS(XH,XM,XB,XIMING VALUES(“950106”,“高山”,“男”,“” 5、UPDATE 作用:修改數據 update <表名> set <字段1=表達式1>,<字段2=表達式2...> where <條件> 例: update <表名> set <字段1,字段2...>=<表達式1,表達式2...> where <條件> 6、BROWSE 作用:主要用于打開瀏覽窗口,查閱表文件并同時進行修改。格式:BROWSE 作用:打開一個“瀏覽”窗口,供用戶瀏覽或修改記錄。格式:BROWSE [FIELDS <字段名表>] 7、USE 作用:打開和關閉表文件。格式:USE [<文件名>] USE 說明:前一個命令用來打開<文件名>指定的表文件,該表如有備注型字段,則同時打開相應的 備注文件(.fpt文件;后一個命令關閉當前打開的表文件。 8、LIST和DISPLAY 作用:顯示表(.dbf的內容、結構或狀態。 格式:LIST|DISPLAY [OFF] [<范圍>] [FIELDS] <表達式表> [WHILE <條件>] [FOR <條件>] [TO PRINT|TO FILE <文件>] LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件> LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>] 說明:命令帶OFF參數表示不顯示記錄號,范圍指定對哪些記錄進行操作,范圍包括:RECORD n 第幾號記錄、NEXT n 當前記錄開始的幾個記錄、REST 自當前記錄開始至文件末尾的所有記錄、ALL 所有的記錄。不選范圍則隱含范圍為ALL;FIELDS后跟字段名,字段名與字段名之間用逗號分 隔。WHILE后跟條件,FOR后面也跟條件,區別是,WHILE后的條件如果不滿足,便停止查找;FOR后的條件查找所有滿足條件的記錄。TO PRINT和TO FILE <文件>分別表示將顯示結果在打印機上打印出 來和將顯示結果輸出到文件。 格式中,下面兩個命令分別為顯示表結構(STRUCTURE和工作狀態(STATUS。注:LIST命令一次連續顯示完所有記錄內容。DISPLAY命令在顯示記錄滿屏后,要求用戶按 任意鍵繼續顯示。如果LIST與DISPLAY都無任何選擇項時,LIST顯示文件的全部記錄, DISPLAY僅顯示當前記錄。 9、記錄的定位 作用:用記錄指針(POINTER定位記錄。格式: 1GO[TO] RECORD n|TOP|BOTTOM 命令定位 GO [RECORD] N GO BOTTOM GO TOP 2n 3SKIP [+|-] n 說明:第一個命令又叫絕對定位,其中,RECORD n定位到n號記錄,TOP定位到第1個記錄, BOTTOM定位到最后一個記錄。第二個命令定位到第n個記錄,n是一個數值。第三個命令又叫相對定 位,它以當前記錄為基準前移(-或后移(+n個記錄,不選任選項,則默認記錄指針后移一個記 錄。 LOCATE [<范圍>] FOR <表達式> 范圍: ALL NEXT N RECORD N REST 10、CHANGE和EDIT 作用:顯示要編輯或修改的字段。 格式:CHANGE|EDIT [<范圍>] [FIELDS <字段名表>] [WHILE <條件>] [FOR <條件>] 11、REPLACE 作用:用表達式的值代替命令中與之相對應的字段的內容。 格式:REPLACE [<范圍>] <字段1> WITH <表達式1>[,<字段2> WITH <表達式2>] [FOR <條件> ] [WHILE<條件>] 例:USE B2-1 REPLACE ALL 工資 WITH 工資+200 FOR 工資<1000 BROW 12、DELETE、PACK、ZAP和RECALL 作用:分別是給要刪除的記錄作刪除標記、徹底刪除、刪除所有記錄和取消被選中的表記錄的 刪除標志。 格式:DELETE [<范圍>] [WHILE<條件>] [FOR <條件>](特例:DELETE FILE FILENAME.DBF,該命令刪除指定的表文件 PACK ZAP RECALL [<范圍>] [FOR <條件>] [WHILE<條件>] 13、SORT和INDEX 1SORT 作用:是建立一個其記錄以新的物理順序排列的新表文件,原文件不變.格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D>...[ASCENDING|DESCENDING] [<范圍>] [FOR <條件>] [WHILE<條件>] [FIELDS<字段表>] 2INDEX 作用: 對當前表根據關鍵字表達式的值從小到大排列,并存入TO后指定的索引文件名的文件或復合索引文件的一個標識中。 格式: INDEX ON <關鍵字表達式> TO <文件名> INDEX ON <關鍵字表達式> TAG <標識名> [OF <文件名>] [FOR <條件>] 說明:第1個命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小寫,針對字符型 關鍵字而言,ASCENDING和DESCENDING分別表示升序和降序。第1個命令建立.dbf表文件,第2個命令建立.idx單一索引文件,第3個命令建立.cdx復合索引文件(Compound Index。 刪除索引 DELETE TAG ALL [OF 復合索引文件名] DELETE TAG 索引標識1 [OF 復合索引文件名1][,索引標識2 [OF 復合索引文件名2>… 14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO 作用:分別是打開表文件的同時打開索引文件、打開索引文件和改變主索引。并確定第一個索引文件為主控索引文件.(當前起作用的索引文件稱為主控索引文件, 當前起作用的索引標識稱為主控索引 格式:USE <表文件名> INDEX <索引文件名表> SET INDEX TO [<索引文件名表>] 作用:打開當前表的一個或多個索引文件并確定第一個索引文件為主控索引文件,該命令用于單索引文件.格式:SET INDEX TO [<索引文件表>] [ADDITIVE] 說明:(1[<索引文件表>]中第一個索引文件為主控索引文件.(2若缺省ADDITIVE選項,則在用本命令打開索引文件時,除結構復合索引文件以外的索引文件均被關閉 SET ORDER TO [<數值表達式>]|[<單索引文件名>]|[TAG] <索引標識> [ASCENDING|DESCENDING>(特例:重新索引命令:REINDEX 作用:對于打開表時自動打開的復合索引文件確定主索引,也能確定主索引文件.(1 數值表達式表示已打開的索引的序號.系統先為單索引文件編號,故結構復合索引文件的序號比單索引文件大.(2 SET ORDER TO 或 SET ORDER TO 0命令取消主索引和主索引文件,表中記錄將按物理記錄輸出.15、CLOSE INDEX 或 SET INDEX TO 單獨關閉索引文件,并不關閉與之相關的表文件 16、FIND、SEEK和LOCATE及CONTINUE 作用:前兩個命令FIND和SEEK是在一個已經建立了索引文件的表中,定位到關鍵字中的內容與命 令行中字符串相同的第一個記錄。后一個命令在用USE打開表文件以后,直接查詢表中字段內容。 格式:FIND <“字符串”>|<字符串> SEEK <表達式>(表達式的數據類型可為字符型、數字型、日期型和邏輯型。LOCATE [<范圍>] [FOR <條件>] [WHILE<條件>] CONTINUE 說明:FIND命令與SEEK命令的區別是前者后跟字符串,而后者后跟表達式。在用LOCATE命令找到 一個匹配記錄后,可用CONTINUE命令搜索表的剩余部分來尋找其他匹配的記錄。 例:SET ORDER TO NL ?確定索引關鍵字為NL(年齡 FIND 28 ?找年齡字段為“28“的記錄 DISPLAY ?顯示當前記錄 SET ORDER TO NL ?確定索引關鍵字為NL(年齡 SEEK “28”?找年齡字段為“28“的記錄 DISPLAY 17.從磁盤上刪除任意文件:(1ERASE filename|?(2DELETE FILE [filename|?] 18、COUNT 作用:統計當前表文件中符合條件的記錄數。 格式:COUNT [<范圍>] [FOR <條件>] [WHILE<條件>] [TO <內存變量名>] 說明:內存變量名可用除參數外的任意字符。 19、SUM 作用:對當前表中選中記錄的全部或指定的數值字段或由指定字段組成的數值表達式累加求和。 格式:SUM [<范圍>] [數值<表達式>] [TO <內存變量名表>] [FOR <條件>] [WHILE<條件>] 20、AVERAGE 作用:對當前表中選中記錄的全部或部分數值型字段及其組成的表達式求平均值并顯示。 格式:AVERAGE [<范圍>] [數值<表達式>] [TO <內存變量名表>] [FOR <條件>] [WHILE<條件>] 21、TOTAL 作用:分類匯總命令,按<表達式>做過索引或排序的表文件的數字型字段進行分類匯總。它把與<表達式>值相同的所有記錄中的數字字段的值分別進行求和,并各 自作為一條記錄存放在由文件指定的文件中去。在新生成的記錄中,還將包括與<表達式>值相同的所有記錄中的首項記錄的其他字段內容。 格式:TOTAL TO <文件名> ON <表達式>[FIELDS <數值型字段名表>][<范圍>][FOR <邏輯表達式1>][WHILE <邏輯表達式2>] 例:USE B2-1 INDEX ON 職稱 TO ZC TATOL ON 職稱 TO B2-1T FILEDS 工資 22.APPEND FROM 作用:從其他文件向表文件添加數據。數據來源文件既可以是表文件,也可是文本文件或其他符合規定的文件。 格式:APPEND FROM <文件名>|?[FIELDS <字段名表>][FOR <邏輯表達式>] FIELDS <字段名表>和FOR <邏輯表達式>,用于源文件為表文件時,指定追加記錄的字段和條件。在字段名表和邏輯表達式中的字段名,必須是在來源和目的兩個文件中公有的,共注意寬度和類型匹配。實際應用中,數據來源文件常為表文件(.DBF和ASCII碼文本文件(.TXT 對于文本文件又有標準格式(SDF和通用格式(DELIMITED之分.例: USE B2-1 APPE FROM S3-1.TXT SDF BROWSE 23.COPY(選擇表的部分內容生成一個新表 作用:把打開的表文件結構及數據復制成由<文件名>所指定的并符合規定要求的文件。如果默認全部選擇項和文件名的擴展名,則結構及全部數據都被復制,且其文件擴展名由系統規定為“.DBF”。 格式:COPY TO<文件名> [FIELDS <字段名表>][<范圍>][FOR <邏輯表達式1>][WHILE <邏輯表達式2>] 格式中的或用來為新表建立一個與原表相同的結構索引.例1: COPY TO B3-2 COPY TO S3-2.TXT SDF 例2: USE RS COPY TO RS3 FIELDS 姓名,基本工資,獎金 USE RS3 LIST 24.COPY FILE復制數據整表:(可用于復制任何類型文件 COPY FILE 原文件名 TO 目標文件名 注:復制表時,還應當復制和它相配的備注文件(.FPT,如有備注字段和結構復合索引文件。 當前表應關閉。(如果已打開表:COPY TO 新文件名 例:將RS.DBF復制為RS1.DBF COPY FILE RS.DBF TO RS1.DBF 或USE RS COPY TO RS1 USE RS1 LIST 25.COPY STRUCTURE(只復制結構不復制數據 作用:表文件結構復制,生成一個指定文件名和包括指定字段的表文件結構;如有CDX或PRODUCTION選擇項還將為新表建立一個與源表相同的結構索引.格式: COPY STRUCTURE TO<文件名> [FIELDS <字段名表>] 例: COPY STRUCTURE TO B3-3 FIELDS 編號,姓名,何時工作,職稱 26.copy to建立結構擴展文件 作用:把已打開的表文件的結構作為數據記錄復制到由<文件名>指定的庫文件中去.格式: COPY TO<文件名> STRUCTURE EXTENDED 例: USE B3-3 COPY TO B3-4 STRUCTURE EXTENDED USE B3-4 BROW 該命令可以用于測試表文件結構,也可以用于順序方式建立庫文件結構.新庫文件的結構是一個由系統規定的標準結構,它由4個字段構成: FIELD_NAME 字段名 FIELD_TYPE 字段類型 FIELD_LEN 字段寬度 FIELD_DEC 小數位數 27.常用命令: 庫表 建立數據庫: CREATE DATABASE 庫文件名.DBC 建立表: CREATE 表文件名.DBF CREATE TABLE/DBF 表名(各個字段屬性 打開數據: OPEN DATABASE 庫文件名 打開表: USE 表文件名 使用非前庫的表:USE 庫名!表名 打開索引表:USE 表名 INDEX 索引名 顯示庫信息:DISP DATABASE [TO PRINTER] 顯示記錄:LIST(快速查看 BROWSE(分屏瀏覽可修改 DISP(顯示當前記錄 關閉數據庫:CLOSE ALL(關閉所有庫、表、索引 關閉表: USE CLOSE DATABASES(關閉當前庫、表 CLOSE TABLES(關閉當前表,不關庫 CLOSE INDEXES(關閉當前索引 修改庫:MODI DATA 庫名 [NOWAIT] [NOEDIT] 修改表結構:MODI STRU ALTER TABLE 表名 ADD 字段名 ALTER TABLE 表名 ALTER 字段名 ALTER TABLE 表名 DROP 字段名 添加表:ADD TABLE 表名追加記錄: INSERT INTO 表名(字段名列表 VALUES(對應數值 APPEND APPEND FROM 源文件 移去表:REMOVE TABLE 表名 刪除記錄:DELETE ALL FOR [條件](邏輯刪除 PACK(物理刪除 ZAP(全部徹底刪除 刪除庫:DELETE DATABASE 庫名(先關閉庫 刪除表:DELETE FILE 表名(先關閉表 VFP命令、函數及程序語句大全(2 二、常用函數 1、數學函數 函數用途 ABS(<數值表達式>絕對值,|x| CEILING(<數值表達式> >=自變量的最小整數 EXP(<數值表達式>對基E的冪,e=2.71828 FLOOR(<數值表達式> <=自變量的最大整數 INT(<數值表達式>取整(舍尾自變量 LOG(<數值表達式>自變量的自然對數,ln x LOG10(<數值表達式>自變量的普通對數,lg x MAX(<表達式1>,<表達式2>兩個值的最大值 MIN(<表達式1>,<表達式2>兩個值的最小值 MOD(<數值表達式1>,<數值表達式2>求余數 RAND([<數值表達式1>]返回偽隨機數 ROUND(<數值表達式1>,<數值表達式2>四舍五入第一個自變量 SIGN(<數值表達式>自變量的符號 SQRT(<數值表達式>平方根(正根 2、字符串操作函數 函數用途 &<內存變量> 用于代替內存變量內容 LEN(<字符串表達式>返回字符串表達式的字符個數 SPACE(<數值表達式>生成空格 SUBSTR(<字符串表達式>,<數值表達式n>[,<數值表達式L>]求子字符串,從指定的字符串表達式第n個開始,總長為L的字符串 LOWER(<字符串表達式>將字符串字母轉換成小寫字母 UPPER(<字符串表達式>將字符串字母轉換成大寫字母 TRIM(<字符串表達式>刪除字符串尾空格 ASC(<字符串表達式>返回字符串表達式最左邊的第一個字符的ASCII碼 CHR(<數值表達式>將數值表達式轉換成字符 AT(<字符串表達式1>,<字符串表達式2>[,<數值表達式n>] 確定字符串表達式1在字符串表達式2中的位置,n為字符串表達式第幾次出現 STR(<數值表達式>[,<數值表達式L>][,<數值表達式n>將數值轉換為字符串,L為數值表達式總長,n為小數位數 VAL(<字符串表達式>將數字字符串轉換為數字 TYPE(<表達式>檢測表達式值的數據類型 LTRIM(<字符串表達式>刪除字符串左部空格 RTRIM(<字符串表達式>刪除字符串右部空格 LEFT(<字符串表達式>,<數值表達式n>取字符串左邊部分字符,n為返回的字符個數 RIGHT(<字符串表達式>,<數值表達式n>取字符串右邊部分字符,n從右邊截取字符個數 3、表(.dbf操作函數 函數用途 BOF([<工作區號或別名>]查表文件開始函數 EOF([<工作區號或別名>]表文件結尾測試函數 RECNO([<工作區號或別名>]測試當前或指定工作區表的當前記錄號 DELETED([<工作區號或別名>]記錄刪除測試函數 FILE(<“字符串”>測試文件是否存在函數 DBF([<工作區號或別名>]檢測表的文件名函數 4、日期、時間函數 函數用途 DATE(查系統當前日期函數 TIME([<數值表達式>]查系統當前時間函數 YEAR(<日期型表達式>|<日期時間型表達式>由日期查年函數 MONTH(<日期型表達式>|<日期時間型表達式>從日期查月份函數 CMONTH(<日期型表達式>|<日期時間型表達式>由日期查月份名函數 DAY(<日期型表達式>|<日期時間型表達式>從日期查當月的日函數 DOW(<日期型表達式>|<日期時間型表達式>[,<數值表達式>]由日期查星期函數 CDOW(<日期型表達式>|<日期時間型表達式>從日期查星期名函數 DTOC(<日期型表達式>|<日期時間型表達式>日期轉換為字符函數 CTOD(<字符串表達式>字符串轉換為日期函數 CTOT(<字符串表達式>返回日期時間值函數 TTOC(<日期時間型表達式>返回字符值 5、顯示、打印位置函數 函數用途 ROW(判斷光標行位置函數 COL(判斷光標列位置函數 INKEY([<數值表達式>]檢測用戶所擊鍵對應的ASCII碼函數,數值表達式以秒為單位等待擊鍵的時間 6、其他函數 函數用途 DISKSPACE(返回默認磁盤驅動器中可用字節數函數 OS(檢測操作系統名稱的函數 VERSION(返回VFP版本號的函數 VFP命令、函數及程序語句大全(3 三、主要程序語句 1、條件判斷語句 格式:(1IF <條件> <命令語句組> ENDIF 說明:如果條件為真,則執行命令語句組中的各語句,否則跳過這些命令語句不執行, 而執行ENDIF后的語句。(2IF <條件> <命令語句組1> ELSE <命令語句組2> ENDIF 說明:如果條件為真,執行命令語句組1,否則執行命令語句組2。(3IF <條件1> IF <條件2> <命令語句組1> ELSE <命令語句組2> ENDIF...ELSE <命令語句組N> ENDIF 說明:進行多重條件的嵌套選擇。(4DO CASE CASE <條件1> <命令語句組1> CASE <條件2> <命令語句組2> CASE <條件3> <命令語句組3>......CASE <條件N> <命令語句組N> [OTHERWISE] [<命令語句組N+1>] ENDCASE 說明:依次判斷條件,轉入條件為真的命令語句組中執行。當所有條件都不成立時,若有 OTHERWISE項,則執行命令語句組N+1,否則執行ENDCASE后面的語句。 2、循環語句 格式:(1DO WHILE <條件> <命令語句組> [LOOP] <命令語句組> [EXIT] <命令語句組> ENDDO 說明:判斷條件是否為真,如為真就重復執行循環體中的命令語句組,直到條 件為假,結束循環。(2)SCAN <命令語句組> ENDSCAN 說明:在一個表中建立一個執行命令語句組的循環,并執行對每一條記錄的操 作,直到表文件 記錄完為止。第四篇:VFP題庫--屬性設置題
第五篇:VFP命令、函數及程序語句解讀