表操作练习历年二级考试题目汇总.docx
《表操作练习历年二级考试题目汇总.docx》由会员分享,可在线阅读,更多相关《表操作练习历年二级考试题目汇总.docx(22页珍藏版)》请在冰豆网上搜索。
![表操作练习历年二级考试题目汇总.docx](https://file1.bdocx.com/fileroot1/2023-2/5/6f2ef0d0-90d7-44e1-bfe3-7080703365d7/6f2ef0d0-90d7-44e1-bfe3-7080703365d71.gif)
表操作练习历年二级考试题目汇总
一、表操作知识点:
1.表操作函数:
Fcount()、fields()、bof()、eof()、recno()、reccount()、found()、
2.打开表、关闭表、显示、插入、修改、删除命令:
Use表名、use、List、display、browse、insertblank[befrore]、appendblank、replace、delete、pack、zap
3.指针移动命令(n代表任意正整数):
Gotop、gobottom、gon、skipn、skip–n
4.查找命令:
Locatefor、seek
5.统计命令:
Count、sum、average、totalon
6.索引命令:
建单项索引:
Indexon字段表达式to索引文件名
建复合索引:
Indexon字段表达式tag索引标识[of索引文件名]
打开索引文件:
Setindexto索引文件、确定主控索引:
setorderto索引标识
7.表操作命令的范围子句(n代表任意正整数)
All(使指针指向文件尾)、nextn(使指针指向从当前记录开始的第n个记录)
recordn(使指针指向第n个记录)、rest(使指针指向文件尾)
二、5种类型程序
1.查找某条记录,判断记录是否存在
Locatefor查找条件+found()
建索引+seek查找数据+found()
2.对表中所有记录逐条处理
&&do循环+skip&&scan循环
Dowhile!
eof()scan
<5.显示表中所有字段名循环体><循环体>
Skipendscan
enddo
3.对表中部分记录(满足条件的记录)逐条处理
&&do循环+if结构+skip
&&locate+do循环+continue
&&scanfor循环
Dowhile!
eof()locatefor条件scanfor条件
If条件Dowhile!
eof()<循环体>
<循环体><循环体>endscan
Endifcontinue
Skipenddo
enddo
4.对表中记录进行统计计算
求满足条件记录的个数:
Countto内存变量[for条件]
求满足条件记录中某些字段的和:
sum字段变量列表to内存变量列表[for条件]
求满足条件记录中某些字段的平均值:
average字段变量列表to内存变量列表[for条件]
5.显示表中所有字段名
Fori=1tofcount()
?
fields(i)
endfor
6.向表中添加记录
Appendblank
Replace字段变量列表with数值表达式列表
说明:
本试卷中涉及到的相关表文件,其结构和记录如下所示:
1、学生.DBF
结构:
学号姓名性别出生年月简历奖学金照片
C,6C,8L,1D,8M,4N,6,2G,4
记录:
记录号#学号姓名性别出生年月简历奖学金照片
1951001王平.F.05/06/70memo50.00gen
2951003李华.F.01/23/71memo25.00gen
3954006张小强.T.07/21/70memo0.00gen
4953008赵峰.T.11/05/72memo75.00gen
5954011丁超.T.09/27/70memo0.00gen
6953013罗浩.T.09/09/71memo50.00gen
(注:
性别=.F.为女,性别=.T.为男,学号前三位为班级号)
2、课程.DBF
结构:
课程号课程名学时数
C,4C,20N,3
记录:
记录号#课程号课程名学时数
10001高等数学108
20002英语90
30003计算机基础68
40004数据库应用80
50005工程制图80
3、成绩.DBF
结构:
学号课程号成绩
C,6C,4N,5,1
记录:
记录号#学号课程号成绩
1951001000195.0
2951003000388.0
3954006000178.0
4953008000490.0
5951001000378.0
6951003000480.0
试题1:
说明:
阅读下列程序说明和相应程序(段),在每小题提供的若干可选答案中,挑选一个正确答案。
(05春)
【程序说明】
将表“学生.DBF”中指定学生(由键盘输入)的奖学金加60,并显示该学生记录。
【程序】
SETTALKOFF
CLEA
USE学生
ACCEPT'输入学生学号='TOM
(1)
IF!
EOF()
(2)
DISP
ELSE
?
'没有找到!
'
(3)
USE
SETTALKON
(1)A、FIND&MB、SEEKM
C、LOCAFOR‘学号’=MD、LOCAFOR学号==ALLT(M)
(2)A、奖学金=奖学金+60
B、REPL奖学金WITH奖学金+60
C、REPL奖学金WITH60
D、APPEND奖学金+60
(3)A、ENDIFB、ENDDO
C、ENDCASED、RETU
试题2【程序说明】(05秋)
从键盘输入学生学号,在“成绩.DBF”表中计算该学生的平均成绩,并说明成绩的档次(优、良、中、及格和不及格)。
【程序】
SETTALKOFF
CLEA
USE成绩
(1)
M=ALLT(STR(SH))
LOCAFOR学号=M
IFEOF()
?
'没有找到!
'
ELSE
(2)
DOCASE
CASECJ>=90
DC='优'
CASECJ>=80
DC='良'
CASECJ>=70
DC='中'
CASECJ>=60
DC='及格'
(3)
DC='不及格'
ENDCASE
?
DC
ENDIF
USE
SETTALKON
(1)A、ACCEPT'输入学生学号='TOSH
B、INPUT'输入学生学号='TOSH
C、WAIT'输入学生学号='TOSH
D、ACCEPT'输入学生学号='TOM
(2)A、COUNT成绩TOCJFOR学号=M
B、AVER成绩TOCJ
C、AVER成绩TOCJFOR学号=M
D、AVER成绩FOR学号=MTOCJ
(3)A、OTHERWISEB、ENDIFC、ENDCASED、CASECJ<59
试题3【程序说明】(05秋)
输入表名,如果存在,则显示该表中所有字段,否则输出‘找不到该文件’。
【程序】
SETTALKOFF
CLEA
DOWHIL.T.
ACCEPT“输入文件名=“TOFNAME
IF
(1)
I=1
DOWHIL
(2)
?
fields(i)
I=I+1
ENDDO
ELSE
?
'找不到该文件'
ENDIF
WAIT'输入是否继续?
(Y-继续/N-退出)'TOX
(3)
EXIT
ENDIF
ENDD
SETTALKON
(1)A、FILE(FNAME)B、FILE('FNAME')
C、FILE(&FNAME)D、FILE(FNAME+.DBF)
(2)A、IC、I<=COUNT()D、I<=RECCOUNT()
(3)A、IFUPPER(X)<>'N'B、IFLOWER(X)='N'
C、IF!
UPPER(X)#'N'D、IFUPPER(X)='n'
试题4阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
(06春)
【程序】
SETTALKOFF
USE学生
DISPLAYNEXT3
?
RECNO()&&第一个显示
APPENDBLANK
?
RECNO()&&第二个显示
LOCAFOR奖学金=50
CONT
?
RECNO()&&第三个显示
REPL奖学金with100ALL
?
RECNO()&&第四个显示
USE
SETTALKON
【供选择的答案】
(1)第一个显示的RECNO()值为。
A、2B、3C、4D、5
(2)第二个显示的RECNO()值为。
A、5B、6C、7D、8
(3)第三个显示的RECNO()值为。
A、1B、6C、7D、8
(4)第四个显示的RECNO()值为。
A、1B、6C、7D、8
试题5:
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
(06秋)
【程序说明】
查找课程表中第一个学时数为最小的课程记录,并把该记录的学时数增加5。
【程序】
SETTALKOFF
CLEAR
USE课程
GOTOP
JXJ=学时数
DOWHIL!
EOF()
IF
(1)
JXJ=学时数
ENDIF
(2)
ENDDO
(3)
(4)
USE
SETTALKON
【供选择的答案】
1、A、JXJ>学时数B、JXJ<学时数
C、JXJ=学时数D、JXJ#学时数
2、A、GORECORD()B、CONT
C、SKIP+1D、SKIP-1
3、A、GORECORD()B、LOCAFOR学时数=JXJ
C、SEEKJXJD、SEEKFOR学时数=JXJ
4、A、学时数=学时数+5B、REPL学时数WITH学时数+5ALL
C、REPL学时数WITH5D、REPL学时数WITH学时数+5
试题6【程序说明】(07春)
输入学号,显示该学号的所有成绩;若用户输入空串或空格串,系统要求用户重新输入;当用户输入字符串“000”,则结束查询。
【程序】
Settalkoff
Use成绩
(1)
Accept‘输入学号=’toxh
If
(2)
loop
Endif
Ifallt(xh)=’000’
(3)
Endif
Locafor学号=allt(xh)
Iffound()
Dowhil!
eof()
Disp
(4)
enddo
Else
?
‘没有该学号’
Endif
Enddo
Use
Settalkon
【供选择的答案】
(1)A、dowhiltB、dowhileof()
C、fori=1torecc()D、dowhil.t.
(2)A、allt(xh)=0B、len(str(xh))=0
C、len(allt(xh))=0D、allt(xh)=’0’
(3)A、loopB、exit
C、skip-1D、skip100
(4)A、contB、skip
C、skip-1D、gon
试题7:
阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
(07秋)
【程序】
SETTALKOFF
CLEA
SETDELEON
Use学生
LISTNEXT2
?
学号&&第一个显示
姓名=5
REPL姓名WITH‘王五’
STORE姓名TO姓名
?
姓名,姓名,M.姓名&&第二个显示
GO1
DELE
GOTOP
?
学号&&第三个显示
DISPREST
?
RECNO()&&第四个显示
USE
SETTALKON
【供选择的答案】
(1)第一个显示?
学号的值为。
A、953008B、954006C、951001D、951003
(2)第二个显示?
姓名,姓名,M.姓名的值为。
A、王五55B、王五王五王五
C、5王五5D、55王五
(3)第三个显示?
学号的值为。
A、954006B、951001C、951003D、953008
(4)第四个显示?
RECNO()的值为。
A、3B、7C、6D、1
试题8:
说明:
阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
(08春)
【程序】
SETTALKOFF
CLEA
Use学生
LIST
?
RECNO()&&第一个显示
GO3
INSERTBLANK
REPL姓名WITH‘李华’
?
RECNO()&&第二个显示
GOTOP
DISPNEXT4
?
RECNO()&&第三个显示
LOCATEFOR姓名=’李华’
?
RECNO()&&第四个显示
USE
SETTALKON
【供选择的答案】
(1)第一个显示?
RECNO()的值为。
A、6B、7C、1D、0
(2)第二个显示?
RECNO()的值为。
A、2B、1C、4D、0
(3)第三个显示?
RECNO()的值为。
A、0B、1C、2D、4
(4)第四个显示?
RECNO()的值为。
A、2B、7C、4D、3
试题9:
阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
(08秋)
【程序】
SETTALKOFF
CLEA
Use学生
ACCEPT‘输入班级号=’TOA
STORE0TOS1,S2,S3,S4
DOWHILE!
EOF()
IFSUBSTR(学号,1,3)=ALLT(A)
S3=S3+奖学金
S4=S4+1
IF性别
S1=S1+奖学金
ELSE
S2=S2+奖学金
ENDIF
ENDIF
SKIP
ENDDO
?
”S1=”,S1,”S2=”,S2
?
”S3=”,S3,”S4=”,S4
USE
SETTALKON
【供选择的答案】
(1)当输入班级号为951时,输出值S1为。
A、0B、50C、75D、25
(2)当输入班级号为951时,输出值S2为。
A、0B、1C、4D、75
(3)当输入班级号为951时,输出值S3为。
A、0B、125C、75D、50
(4)当输入班级号为951时,输出值S4为。
A、1B、2C、4D、3
试题10、(每空格3分,共12分)(09春)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
统计显示学生表中每位同学的姓名、奖学金和获奖档次。
获奖档次评价标准是:
奖学金在70(含70)以上,获奖档次为“A”;奖学金在50(含50)至70(不含70),获奖档次为“B”;奖学金在20(含20)至50(不含50),获奖档次为“C”;其它获奖档次为“D”。
【程序】
SETTALKOFF
CLEAR
Use学生
DOWHILE.T.
(1)
DOCASE
CASEJXJ>=70
DJ=’A’
CASEJXJ>=50ANDJXJ<70
DJ=’B’
(2)
DJ=’C’
OTHERWISE
DJ=’D’
ENDCASE
(3)
SKIP
(4)
EXIT
ENDIF
ENDDO
USE
SETTALKON
【供选择的答案】
(1)A.JXJ=奖学金
B.JXJ=STR(奖学金)
C.JXJ=VAL(奖学金)
D.JXJ=STR(奖学金,6,2)
(2)A.CASEJXJ>20ANDJXJ<=50B.CASEJXJ>20
C.CASEJXJ>=20D.CASEJXJ>=20ORJXJ<50
(3)A.?
姓名+奖学金+DJ
B.?
姓名+STR(奖学金)+DJ
C.?
姓名+’奖学金’+DJ
D.?
姓名+STR(奖学金)+’DJ’
(4)A.IF!
BOF()B.IFBOF()
C.IF!
EOF()D.IFEOF()
试题11、(每空格3分,共12分)(09春)
说明:
阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
SETTALKOFF
CLEA
Use成绩
STORE0TOS1,S2
ACCEPT‘输入学号=’TOA
A=ALLT(A)
LOCAFOR学号=A
DOWHILE!
EOF()
S1=S1+1
S2=S2+成绩
CONTINUE
ENDDO
?
”S1=”,S1,”S2=”,S2
USE
SETTALKON
【供选择的答案】
(1)当输入学号为953008时,输出值S1为。
A、0B、1C、2D、3
(2)当输入学号为953008时,输出值S2为。
A、90B、88C、95D、78
(3)当输入为951时,输出值S1为。
A、1B、5C、4D、3
(4)当输入为951时,输出值S2为。
A、194B、95C、289D、341
试题12.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
(09秋)
【程序说明】
输入学号,如果存在,则显示该学生的信息,否则输出‘找不到该学生’。
【程序】
SETTALKOFF
CLEAR
USE学生
DOWHILE.T.
ACCEPT“输入学号=”TOSTNO
(5)
(6)
DISP
ELSE
?
’找不到该学生’
ENDIF
WAIT‘输入是否继续?
(Y-继续/N-退出)’TOX
(7)
EXIT
ENDIF
(8)
USE
SETTALKON
【供选择的答案】
(5)A.FINDFOR学号=ALLT(STNO)
B.LOCAFOR学号=ALLT(STNO)
C.SEEKFOR学号=ALLT(STNO)
D.SEEKSTNO
(6)A.IF!
FOUND()B.IF!
eof
C.IF!
EOF()D.IFFOUND
(7)A.IFUPPER(X)=’N’B.IFUPPER(X)=’Y’
C.IFUPPER(X)=.Y.D.IFUPPER(X)=.N.
(8)A.ENDCASEB.ENDD
C.ENDIFD.CLEAR
参考答案:
试题1:
DBA
试题2:
B、C或D、A
试题3:
ABC
试题4:
BCBD
试题5:
ACBD
试题6:
DCBA
试题7:
DBCB
试题8:
BCDA
试题9:
ADCB
试题10ACBD
试题11BACD
试题12BCAB