VFP模拟试题二
1 为非法字段名或变量名。
A.姓名 B.A56 C.CLI_ID D.3_AB
2.单索引文件的扩展名是 .
A.TXT B.DBF C.IDX D.FRM
3. 清除内存变量的命令是 .
A.DELETE B.STORE TO C.LIST MEMOEY D.RELEASE
4.函数ABS(12-30)的值为 .
A. .T. B. .F. C.18 D.-18
5. 数据库的重新索引命令是 .
A.INDEX B.REINDEX C.SET INDEX D.SORT
6. 下列程序段的运行结果为 .
T=36500
M=MOD(T,60)
H=INT(T/60)
K=MOD(H,24)
D=INT(H/24)
?T,D,K,M
A.36500,8,25,2 B.36500,8,25,20 C.36500,25,8,20 D.36500,20,25,8
7. 函数EXP(0)的值为 .
A.2.73 B.1.00 C.E D.2.00
8. STORE "ABCDEFGHIJKLM"TO STR
?SUBSTR(STR,1,5)
输出为 .
A.IJKLM B.EFGHI C.ABCDE D.E
9. 执行命令STORE CTOD("11/05/95")TO A后,变量A的类型为 .
A.日期型 B.数值型 C.备注型 D.字符型
10. 统计记录个数用 命令实现。
A.SUM B.RECCOUNT C.TOTAL D.AVERAGE
在以下各题中,有的要用到数据库文件GZ1.DBF和GZ2.DBF,其中:
GZ1.DBF:
编号 姓名 性别 民族 出生日期 总收入
1 张明 男 汉 12/01/39 0.00
2 高亮 男 汉 06/01/45 0.00
3 刘金玲 女 满 07/12/40 0.00
4 张志平 男 汉 08/29/38 0.00
5 刘莉莉 女 回 03/18/50 0.00
GZ2DBF:
编号 姓名 基本工资 津贴 奖金 合计
1 张明 650.00 100.00 300.00 0.00
2 高亮 450.00 100.00 200.00 0.00
3 刘金玲 550.00 90.00 300.00 0.00
4 张志平 700.00 110.00 300.00 0.00
5 刘莉莉 300.00 100.00 200.00 0.00
其中、编号、姓名、性别和民族为字符型,出生日期为日期型,总收入、基本工资、津贴、奖金、合计为数值型。
二、阅读程序
阅读下列程序,将运行结果填到答题卡上。
1
SET TALK OFF
SET HEADING OFF
USE GZ2
DO WHILE .NOT. EOF()
REPL 合计 WITH 基本工资+津贴+奖金
SKIP
ENDDO
GO BOTTOM
SKIP -3
?姓名,合计
GO TOP
SKIP 3
?RECNO()
USE
RETURN
高亮 750.00
4
2.
SET TALK OFF
SELE 2
USE GZ2
REPL ALL 合计 WITH 基本工资+津贴+奖金
INDEX ON 姓名 TO GZ21
SELE 1
USE GZ1
? 姓名,总收入
SET RELA TO 姓名INTO B
REPL ALL 总收入 WITH B->合计
GO TOP
? 姓名,总收入
USE
RETURN
张明 0.00
张明 0.00
张明 1050.00
3.
SET TALK OFF
SET HEADING OFF
CLEA
SELE 1
USE GZ1
REPL ALL 总收入 WITH 总收入+50 FOR 民族<>" 汉"
SELE 2
USE GZ2
JOIN WITH A TO GZ FOR 姓名=A->姓名 FIEL 编号,姓名,A->民族,A->总收入
USE GZ
LIST FOR 民族<>" 汉"
USE
RETURN
3 3 刘金玲 满 1140.00
5 5 刘莉莉 回 800.00
4.
SET TALK OFF
SET HEADING OFF
CLEA
USE GZ2
SUMS=0
DO WHILE .NOT.EOF()
SUMS=SUMS+奖金
SKIP
ENDDO
APPE BLAN
REPL 奖金 WITH SUMS
? RECNO(),合计
USE
RETURN
6 0.00
5.
SET TALK OFF
CLEA
SET DEVI TO SCREEN
USE GZ2
INDEX ON 编号 TO GZ3
DO WHILE .NOT.EOF().AND.编号<" 3"
@ROW()+1,0 SAY 编号+姓名
@ROW(),COL() SAY津贴 PICT " @Z 999.99"
@ROW(),COL() SAY奖金 PICT " @Z999.99"
SKIP
ENDDO
USE
RETURN
不要了
6.
SET TALK OFF
X=0
I=1
DO WHILE I<=8
X=X+I
I=I+2
ENDDO
? " X=" ,X
? " I=" ,I
RETURN
X=16
I=9
7.
SET TALK OFF
CLEA
USE GZ1
INDEX ON 出生日期 TO CSRQ
GO TOP
? 姓名,性别,出生日期
GO 4
? 姓名,性别,出生日期
USE
RETURN
张志平 男 08/29/38
张志平 男 08/29/38
8.
SET TALK OFF
SET HEADING OFF
CLEA
USE GZ2
COPY TO H FIEL 姓名,奖金 FOR 奖金>200
USE H
2
DISP OFF
COUNT FOR 奖金>200 TO A1
COUNT TO A2
? A1,A2
USE
RETURN
刘金玲 300.00
4 4
9.
SET TALK OFF
SET EXACT OFF
USE GZ1
DO WHILE RECNO ()<=3
IF 姓名=" 李"
SKIP
LOOP
ENDIF
? 姓名
SKIP
ENDDO
SET TALK ON
USE
RETURN
张明
高亮
刘金玲
10.
SET TALK OFF
CLEA
USE GZ2
NA=" 高亮"
STOR " 姓名=NA" TO NAME
LOCA FOR &NAME
CLEA
@1,10 SAY " 姓名:" GET 姓名
@2,10 SAY " 奖金:" GET 奖金
CLEA GETS
COUN
USE
RETURN
姓名:高亮
奖金:200.00
三、完善程序
在下列程序的处,填入正确的内容,使其完整正确,并将正确内容填到答题卡上。
1、利用函数检查输入的文件名中是否有空格,如果无空格,则文件名输入正确,跳出循环。
SET TALK OFF
CLEA
DO WHILE .T.
ACCE " 请输入文件名:" TO FNAME
IF ___________
@6, 12 SAY " 文件名中间不能有空格"
@8, 12 SAY " 请重新输入文件名!"
RELE FNAME
ELSE
__________
ENDIF
ENDDO
RETURN
2、对数据库GZ1.DBF按性别分组计算总收入之和,并分别求出男女的平均收入。
SET TALK OFF
________ GZ1
N=3
L=2
INDEX ON 性别 TO AA
TOTAL TO AA ON __________ FIELD 总收入
USE AA
SS=总收入/N
? SS
2
SL=总收入/L
? SL
USE
RETURN
3、在GZ2.DBF库中,将津贴额少于50元的记录增加50元,大于等于50元不作处理。
SET TALK OFF
USE GZ2
STORE 1 TO N
DO WHILE N<6
GO N
IF __________
SKIP
___________
ENDIF
REPL 津贴 WITH 津贴+50
STORE N+1 TO N
ENDDO
USE
RETUR
4、制作简单的菜单程序。
SET TALK OFF
ACT=" 1"
DO WHILE __________
CLEAR
?" 1查询,2排序,3修改,4退出"
ACCE " 请选择功能的编号" TO ACT
___________
CASE ACT=" 1"
DO CX
CASE ACT=" 2"
DO PX
CASE ACT=" 3"
DO XG
ENDCASE
ENDDO
RETURN
5、定义一个二维数组X,将数据库GZ2.DBF中的所有记录存入该数组,并将该数组的值依次打印出来。
SET TALK OFF
___________ X(2,3)
USE GZ2
? " "
DO WHIL.NOT.EOF()
__________ X(2,3)
I=1
DO WHILE I<7
??X(I)
I=I+1
ENDDO
SKIP
? " "
ENDDO
CLOSE DATA
USE
RETURN
6、显示数据库GZ1.DBF中的前4个记录的姓名、出生日期和总收入各字段的数据,但姓高者除外。
SET TALK OFF
SET EXACT OFF
USE GZ1
DO WHILE ___________
IF 姓名=" 高"
SKIP
LOOP
ENDIF
? 姓名,出生日期,总收入
__________
ENDDO
SET TALK ON
USE
RETURN
7、下列程序在等待菜单选择时会持续地显示时间。
SET TALK OFF
__________
? " 0退出,1查询,2修改"
I=0
DO WHILE I=0
@1,72 SAY TIME()
___________
ENDDO
DO CASE
CASE CHR(I)$" Qq0"
RETURN
CASE CHR(I)$" Aa1"
DO CX
CASE CHR(I)$" Bb2"
DO XG
ENDCASE
ENDDO
RETURN
8、已知一名为SU.PRG的过程文件,其中包括PROCEDURE BUY和PROCEDURE REN两个过程,下段程序调用此过程文件,并执行其中的一个过程。
SET TALK