2003年4月全国计算机等级考试二级FoxBASE试卷(含答案)

4/14/2005来源:全国等级考试人气:14780

 一、 选择题((1)~(40)每小题1分,(41)~(55)每小题2分,共60分)
下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 用8位无符号二进制数能表示的最大十进制数为
A) 127 B) 128 C) 255 D) 256
(2) 在64位高档微机中,一个字长所占的二进制位数为
A) 8 B) 16 C) 32 D) 64
(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住
A) Alt键 B)Esc键 C)Shift键 D)Ctrl键
(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令
A) 暂时不能用 B) 正在执行 C) 包含下一层菜单 D) 包含对话框
(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为
A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?
(6) 下列选项中,能作为合法DOS文件名的是
A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT
(7) 下列叙述中正确的是
A) 在Windows环境下,最大化的窗口是不能移动的
B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行
C) 在Windows环境下,只有最小化的窗口才能关闭
D) 在Windows环境下,不能关闭最大化的窗口
(8) 在Windows环境下,工具栏中的复制按钮是
A) 打印机图标 B) 剪刀标志 C) 复制标志 D) 粘贴标志

9) 在Windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按
A) Ctrl+PRintScreen键 B) Alt+PrintScree键
C) Shift+PrintScreen键 D) PrintScreen键
(10) 目前,计算机病毒扩散最快的途径是
A) 通过软件复制 B) 通过网络传播
C) 通过磁盘考贝 D) 运行游戏软件
(11) FoxBASE是一种
A)数据库 B)数据库管理系统
C)数据库系统 D)数据库应用程序
(12) 数据库文件BOOK.DBF中包含MEMO型字段,下列描述中错误的是
A) 若删除了备注文件BOOK.DBT,则该数据库文件将无法打开
B) 若删除了该数据库文件,则备注文件BOOK.DBT自动被删除
C) 若打开该数据库文件,则备注文件BOOK.DBT自动打开
D) 该数据库文件的所有备注型字段的内容都存放在同一个备注文件中
(13) 在FoxBASE中,下列数据中属于常量的是
A) TOP B) .y. C) T D) 12/11/2003
(14) 在FoxBASE中,可以用TYPE命令显示其内容的文件类型为
A).MEM B) .DBT C) .PRG D) .FOX
(15) 不能关闭当前工作区中索引文件的命令为
A)SET INDEX TO B)CLOSE INDEX
C)CLOSE ALL D)SET ORDER TO
(16) 在相关数据库文件存在或已打开的情况下,下列命令中能正确执行的是
A) SEEK FOR 基本工>1000 B) @10,12 SAY"A的值为:",20
C) DELETE ZGJK.DBF D) COUNT REST
(17) 当范围和条件短语同时省略时,仅作用于当前记录的命令是
A)COUNT B)DELETE C)LIST D)CHANGE
(18) 在操作过程中,可以进入人机交互工作方式的命令为
A) APPEND BLANK B) BROWSE C) REPLACE D)DELETE ALL
(19) 不能向数据库文件增加记录的命令是
A) BROWSE B) APPEND C) INSERT D) REPLACE
(20) 表达式INT(-25.8)的值为
A) -25 B) -26 C) 25 D)26
(21) 下列对BROWSE命令描述正确的是
A) 只能浏览数据库文件,不能修改记录内容
B) 能浏览数据库文件,但不能增加或删除记录
C) 能浏览数据库文件,同时也能增加或删除记录
D) 不仅能浏览数据库文件,还能修改数据库的结构
(22) 在FoxBASE中,SEEK命令和LOCATE命令都可以用于查找记录,但在使用上有所不同。以下表述正确的是
A) SEEK命令可以一次查找到全部记录,LOCATE命令一次只能找到一条记录
B) SEEK命令需要打开相应索引文件才能使用,LOCATE命令不需要索引文件
C) SEEK命令只能查找字符串,LOCATE命令可以查找任何类型字段
D) SEEK命令可以和CONTINUE命令联合使用,而LOCATE命令不可以
(23) 以下关于TOTAL命令的表述中,正确的是
A) 命令的执行结果不生成另一个数据库文件
B) 所操作的数据库文件不必按关键字段索引或排序
C) 命令中的关键字段必须是数值型字段
D) 只能对数据型字段进行汇总
(24) 有如下序列("□"表示空格)
STORE "ABC□□" TO X
STORE "XYZ"+X TO Y
STORE TRIM(Y)-"LMN" TO Z
?LEN(Z)
执行上述命令之后,屏幕显示的值是
A) XYZABCLMN B) XYZABCLMN□□ C) 11 D) 9
(25) 使用DISPLAY命令时,若范围短语为ALL或REST,执行该命令后,记录指针指向
A) 首记录 B) 末记录 C) 首记录的前面 D) 末记录的后面
(26) 在FoxBASE中,已经在多个工作区中打开了若干个数据库。要显示当前工作区的区号,应使用命令
A) SELECT B) ?SELECT C) SELECT() D) ?SELECT()
(27) 数据库文件已经打开,当前记录中姓名字段的值是"张敏"。执行以下命令序列:
姓名="李卫星"
?姓名
屏幕显示的结果是
A) 张敏 B) 李卫星 C) 张敏李卫星 D) 李卫星张敏
(28) 在FoxBASE数据库中,记录是由字段值构成的数据序列,记录长度要比各字段长度之和多一个字节,这个字节用来存放
A) 记录的分隔标记 B) 记录的序号
C) 记录的指针定位标记 D) 记录的删除标记
(29) 在FoxBASE圆点指示符下,要将A盘根目录下的SST.PRG文件复制到C盘根目录下的MY子目录下,应使用命令
A) COPY A:SST.PRG C:\MY
B) COPY FILE A:\SST.PRG TO C:\MY
C) COPY FILE A:SST.PRG TO C:\MY\SST
D) COPY FILE A:\SST.PRG TO C:\MY\SST.PRG
(30) 有如下命令序列:
X="A"
Y=X
A="黄河长江"
?X+&X-Y-&Y
执行以上命令序列后,屏幕显示表达式X+&X-Y-&Y的结果是
A) 黄河长江 B) A黄河长江A黄河长江
C) A黄河长江A D) A黄河长江黄河长江
(31) 在默认的日期格式下,表列表达式中,结果一定为真(.T.)的是
A) "200">3 B) .NOT..T.
C) "男"$性别 D) CTOD("03/21/03")>CTOD("03/12/03")
(32) 在没有打开索引文件的情况下,如果使用APPEND命令追加一条记录,其功能等同于命令序列
A) GOTO EOF B) COTO BOTTOM
 INSERT INSERT BEFORE
C) GOTO BOTTOM D) GOTO BOTTOM
 INSERT AFTER INSERT
(33) 要清空当前数据库文件HGZ.DBF中"奖金"字段的全部值,应当使用命令
A) MODIFY STRUCTURE B) DELETE
C) REPLACE D) ZAP
(34) 在FoxABSE中,用于建立或修改过程文件的命令是
A) MODIFY <文件名> B) MODIFY COMMAND <文件名>
C) MODIFY PROCEDURE <文件名》 D) CREATE COMMAND <文件名>
(35) 在FoxBASE中,能够进行条件定位的命令是
A)SKip B)SEEK C)LOCATE D)GO
(36) 设X=100,Y=800,执行以下命令:
 ?IIF(X>100,Y-50,Y+50)
 屏幕显示结果是
A) 50 B) 750 C) 800 D) 850
(37) 如果测试函数TYPE("W")的值是"U",说明
A) W是数组 B) W未定义
C) W的值为U D) W的值无符号
(38) 在下列记录定位命令中,不能用FOUND()函数检其操作是否成功的命令是
A)SEEK B)FIND C)LOCATE/CONTINUE D)SKIP
(39) 有如下命令
SET DELETED ON
USE ABC
GO 3
DELETE NEXT 2
GO 4
RECALL
USE
执行最后一条RECALL命令时,去掉删除标记的记录个数是
A) 0 B) 1 C) 2 D) 3
(40) 要清除所有变量名第二个字母为X的内存变量应使用命令
A) RELEASE ALL *X B) RELEASE ALL LIKE X
C) RELEASE ALL LIKE ?x* D) RELEASE ALL LIKE "?X"
(41) 为了确保向日期型字段"起始日期"中输入1997年以前的日期,应在READ之前使用语句
A) @5,15 SAY "起始日期:" GET 起始日期 RANGE, CTOD("12/31/96")
B) @5,15 SAY "起始日期:" GET 起始日期 RANGE CTOD("12/31/96"),
C) @5,15 SAY "起始日期:" GET 起始日期 FOR 起始日期<= CTOD("12/31/96")
D) @5,15 SAY "起始日期:" GET 起始日期 RANGE DATE(),CTOD("12/31/96")
(42) 若在UPDATE命令中使用了RANDOM短语,则
A)源数据库和目标数据库都必须按关键字段排序或索引
B) 只需将源数据库按关键字段排序或索引
C) 只需将目标数据库按关键字段排序或索引
D) 源数据库和目标数据库均可以不按关键字段排序或索引
(43) 设当前数据库中有20条记录,当前记录号为10。有以下各组命令,在没有打开索引的情况下,两条命令执行结果相同的是
A) GO 5与SKIP 5 B)GO RECNO()+5与SKIP 5
C)SKIP RECN0()+5与GO RECN0()+5 D)GO RECN0()+5与 LIST NEXT 5
(44) 已知X=99,Y="A",A="telephone",则LEN(STR(X,2)+&Y)的值为
A) 19 B) 11 C) 5 D) 5
(45) 已知proc.prg程序清单如下:
SET TALK OFF
n=20
t=1
DO proc_1 WITH n,t
?t
SET TALK ON
RETURN
Proc_1.prg程序清单如下:
PARAMETERS a,b
b=a*b
if a<=2
RETURN
ENDIF
DO proc_1 WITH a-2,b
RETURN
程序proc.prg的功能是
A) 输出20以内偶数的乘积 B) 输出20以内奇数的乘积
C) 输出结果为1 D) 输出结果为0

以下(46)-(50)题的操作均基于下面条件:
已建立并打开职工工资数据库zggz.dbf?该数据库的结构为:职工编号(C,6),姓名(C,8,)性别(C,2),基本工资(N,7,2),奖金(N,7,2),实发工资(N,8,2)
职工编号 姓名 性别 基本工资 奖金 实发工资
A10001 林大伟 男 1500.50 500.00 2000.50
A15002 高原 男 2000.00 300.00 2300.00
B10008 张高山 男 1200.80 200.00 1400.80
B15009 刘群 女 1050.60 350.00 1400.60
… … … … … …

(46) 要显示库中性别字段值为"女"的所有记录,错误的命令是
A) LIST FOR 性别="女" B) DISPLAY FOR 性别="女"
C) BROWSE FOR 性别="女" D) DISPLAY ALL FOR 性别="女"
(47) 为了重新计算每个职工记录中实发工资字段的值,可使用命令
A) SUM 实发工资
B) SUM ALL 实发工资
C) REPLACE 实发工资 WITH 基本工资+奖金
D) REPLACE ALL 实发工资 WITH 基本工资+奖金
(48) 命令INDEX ON基本工资+奖金 TO zggz的作用是
A)按基本工资升序排列,当基本工资相同时,按奖金升序排列
B)按基本工资降序排列,当基本工资相同时,按奖金降序排列
C)按基本工资与奖金之和的升序排列
D)按基本工资与奖金之和的降序排列
(49) 输出结果中,包含"张高山"记录的命令是
A) LIST FOR姓名="高" B) DISPLAY ALL FOR "高"$姓名
C) LIST FOR LEFT(姓名,2)="高" D) DISPLAY FOR AT("高",姓名)=1
(50) 能逻辑删除职工编号中第3位是"5"的职工记录的命令为
A) DELETE FOR SUBSTR(职工编号,3)=="5"
B) DELETE FOR SUBSTR(职工编号,3,1)==5
C) DELETE FOR SUBSTR(职工编号,3,1)=="5"
D) DELETE FOR AT(5,职工编号)=3

二、填空题(每空2分,共20分)
请将每一个空的正确答案写在答题卡上【1】~【20】序号的横线上,答在试卷上不得分。
(1) 用十六进制给存储器中的字节地址进行编号,若地址编号从000到FFFF,则该存诸器的容量为【1】KB。
(2) 假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用COPY命令,则完整的命令为【2】 。
(3) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【3】。
(4) 假设在当前盘当前目录下有一个可执行程序USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件OUT.DAT中,则完整的DOS命令为【4】。
(5) 在DOS环境下,表示打印机的设备文件名为【5】 。
(6) 在当前打开的数据库文件中有一个长度为6的字符型字段"姓名",有如下命令序列
 REPLACE 姓名 WITH "肖光"
 ?LEN(姓名)
执行最后一条命令的显示结果是 【6】 。
(7) 已知一张职工登记表包括姓名、性别、出生日期、婚否、政治面目、住址、电话等,若要建立保存此表的库文件,可以定义为逻辑字段的项目有 【7】 。
(8) 有如下命令序列:
USE XYZ
?RECCOUNT()
SKIP +2
DELETE
?RECCOUNT()
执行第一条输出命令后,屏幕显示10。接着执行后面的命令序列,第二条输出命令显示的结果是 【8】 。
(9) 以下命令序列的功能是根据输入的考试成绩,显示相应的成绩等级。等级划分标准为:低于60分为"不合格",60分以上(含60分)为"通过",其中90分以上(含90)的为"优秀"。请对该程序填空
 CLEAR
  【9】 "请输入考试成绩:" TO chj
 DO CASE
CASE chj<60
dj="不合格"
CASE 【10】 
dj="通过"
OTHERWISE
dj="优秀"
 ENDCASE
 ?"成绩等级:"【11】
 RETURN
(10) 有如下命令序列:
SET DATE AMERICAN
?DTOC(CTOD("9/21/2002"),1)
 顺序执行以上两条命令之后,在屏幕上将显示 【12】 。

下面(11)-(14)题的操作均基于以下三个数据库。
职员(职员号C(3),姓名C(6),性别C(2),职务C(10))
订单(订单号N(3),客户号C(3),职员号C(3),签订日期D(8),金额N(6,2))
客户(客户号C(3),客户名C(20),地址C(20),电话C(13))
(11) 要为订单库建立一个二重索引,要求按签订日期升序,相同签订日期的记录按职员号升序,索引表达式应为【13】。
(12) 下面程序的功能是利用索引逐条显示8月份签订的订单记录。请填空:
SELECT 0
USE 订单
INDEX ON MONTH(签订日期) TO IM
CLEAR
SEEK 8
IF 【14】
 DO WHILE 【15】
 DISPLAY
 SKIP
 ENDDO
ELSE
 ?"8月份没有订单!"
 ENDIF
 CLOSE DATABASE
RETURN
(13) 下面程序的功能是分别统计职员号以A或B开头的职员所签订的订单数目和总金额。
请填空:
CLEAR
STORE 0 TO n1,s1,n2,s2
SELECT 0
USE 订单
DO WHILE.NOT.EOF()
DO CASE
CASE 【16】
n1=n1+1
s1=s1+金额
CASE 【17】
n2=n2+1
s2=s2+金额
ENDCASE
 【18】
ENDDO
?" A职员订单数:"+STR(n1,3)+SPACE(10)+ "总金额: "+STR(s1,7,2)
?" B职员订单数:"+STR(n2,3)+SPACE(10)+ "总金额: "+STR(s2,7,2)
CLOSE DATABASE
RETURN
(14) 下面程序的功能是根据订单号查询该订单及相关职员和客户的信息,要求在屏幕的第6行第20列开始显示输出信息。请填空:
SET SAFETY OFF
STORE "Y" TO yn
SELECT 0
USE 职员
INDEX ON 职员号 TO IZG
SELECT 0
USE 客户
INDEX ON 客户号 TO IKH
SELFCT 0
USE 订单
SET RELATION TO 职员号INTO 职员
SET RELATION TO 客户号 INTO 客户【19】
DO WHILE UPPER(yn)="Y"
CLEAR
INPUT "请输入订单号:" TO mddh
LOCATE FOR 订单号=mddh
IF EOF()
 ? "无此订单号!"
ELSE
 【20】"职员:"+职员->姓名+"客户: "+客户->客户名+"金额:"-STR(金额,6,2)
 ENDIF
 WAIT "继续查询吗(Y/N)?"TO yn
 ENDDO
 CLOSE DATABASE
 SET SAFETY ON
 RETURN

2003年4月全国计算机等级考试二级FoxBASE笔试答案
一、选择题
1-5 CDDAD
6-10 BACDB
11-15 BBBCD
 16-20 DBBDA
21-25 CBDDD
 26-30 DADDB
31-35 DDCBC
36-40 DBDBC
41-45 ACBBA
46-50 CDCBC
二、填空题
(1) 64
(2) COPY A.TXT+B.TXT A.TXT
(3) @
(4) USER >OUT.DAT
(5) PRN或LPT1或LPT2
(6) 6
(7) 婚否、性别#性别、婚否
(8) 10
(9) INPUT和chj<90和+dj
(10) 20020921
(11) dtoc(签订日期,1)+职员号
(12) !eof()和month(签订日期)=8
(13) LEFT(职员号,1)="A"和LEFT(职员号,1)="B"和skip
(14) ADDITIVE和@ 6,20 SAY



