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