浙江省2011年10月高等教育自学考试
VFP程序设计试题
课程代码:01963
一、单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.假定Y=2,执行了?Y=Y+2后,其结果是( )
A.3 B.4
C..F. D..T.
2.在Visual Foxpro中,以下关于视图的描述中错误的是( )
A. 通过视图可以对表进行查询 B.视图是一个虚表
C.视图就是一种查询 D.通过视图可以对表进行更新
3.将逻辑假值赋给变量DY的正确方法是( )
A.DY=FALSE B.STORE .F. TO DY
C.DY=“.F.” D.STORE “F” TO DY
4.执行了?TYPE(“DY”)后,得到的是日期型结果,给变量DY赋值的方法可能是( )
A.DY={11/08/99} B.DY=“11/08/99”
C.DY=CTOD(11/08/99) D.DY=11/08/99
5.在Visual Foxpro中项目管理器的文档选项卡用于显示和管理的是( )
A.表单、报表和标签 B.数据库、表单和报表
C.表单、报表和查询 D.查询、报表和视图
6.表达式CTOD(“09/08/98”)-CTOD(“09/01/98”)的值为( )
A. 00/07/00 B. 7
C. 错误信息 D. CTOD( “00/07/00”)
7.执行下列命令序列
ABC=“伟大祖国”
?SUBSTR(ABC,LEN(ABC)/2+1,4)
结果是( )
A.伟大 B.祖国
C.大祖 D.变量未找到
8.若当前表文件刚刚执行过LIST命令,再接着执行REPLACE命令,且其范围子句及条件子句均缺省,则该命令完成了的( )替换。
A.首记录 B.末记录
C.所有记录 D.零个记录
9.打开一个空表文件,分别用函数EOF()和BOF()测试,其结果是 ( )
A.T.、.T. B.F.、.F.
C.T.、.F. D.F.、.T.
10.在下列命令中,省略“范围”选择项时,默认“范围”为ALL的命令是 ( )
A.DISPLAY B.REPLACE
C.RECALL D.AVERAGE
11.表文件与相应索引文件已经打开,内存变量XM=“王平”,检索时将产生逻辑错误的命令是( )
A.LOCATE FOR 姓名=XM B.FIND &XM
C.SEEK XM D.LOCATE FOR 姓名=&XM
12.如果运行一个表单,以下事件首先被触发的是( )
A. Init B.Click
C.Load D. Error
13.对学生成绩表文件按总分(N,6,2)降序、姓名(C,8)升序索引。应当使用命令是( )
A.INDEX TO ABC ON 总分+姓名
B.INDEX TO ABC ON –总分+姓名
C.INDEX TO ABC ON STR(-总分,5,1)+姓名
D.INDEX TO ABC ON STR(1000-总分)+姓名
14.在打开表的同时已经打开了姓名索引文件,下列命令中作用相同的两个命令是( )
A.SEEK “张”和 FIND 张
B.SEEK 马 和 FIND “马”
C.GO TOP 和 GO 1
D.DISPLAY FOR 姓名=“李”和 DISPLAY WHILE 姓名=“李”
15.计算所有职称为正、副教授的工资总额,将结果赋予变量W中,应使用命令是( )
A.SUM 工资 TO W FOR 职称=“副教授” AND “教授”
B.SUM 工资 TO W FOR 职称=“副教授” OR “教授”
C.SUM 工资 TO W FOR 职称=“副教授” AND 职称=“教授”
D.SUM 工资 TO W FOR “教授”$职称
16.若一数值型字段宽度是7,小数位是2,此字段整数部分最小值是( )
A.-999 B.999
C.9999 D.-99
17.表记录的总宽度比其它各字段宽度的和多一个字节,这个字节是( )
A. 无用 B. 放序号
C. 放记录号 D. 放删除标记
18.关于数据库和自由表,下列说法中正确的是( )
A.数据库表能转换为自由表,反之不能
B.自由表能转换为数据库表,反之不能
C.数据库表不用变为自由表,直接可以从一个数据库添加到别的数据库中
D.数据库表必须先要变为自由表,然后才能添加到别的数据库中
19.如果一个VFP表文件中有200条记录,当前记录号是188,执行命令SKIP 30后,再执行命令?RECNO(),其结果是( )
A. 200 B.218
C.错误提示 D.201
20.已打开表文件,其中出生年月字段为日期型,年龄字段为数值型,要计算每人今年的年龄并把其值填入年龄字段中,应使用命令是( )
A.REPLACE ALL 年龄 WITH YEAR(DATE())-YEAR(出生年月)
B.REPLACE ALL 年龄 WITH DATE()-出生年月
C.REPLACE ALL 年龄 WITH DTOC(DATE())-DTOC(出生年月)
D.REPLACE ALL 年龄 WITH VAL(SUBS(DTOC(DATE()),7,2)-SUBS(DTOC(出生年月),7,2))
二、判断题(本大题共10小题,每小题1分,共10分)
判断下列各题,正确的在题后括号内打“√”,错的打“×”。
1.一个变量或常量也是一个表达式。( )
2.函数的自变量类型和函数值的类型必须一致。( )
3.字段变量和内存变量不能同名。( )
4.关系数据库对关系有三种基本操作:选择、条件、投影。( )
5.在同一个表文件中,所有记录的长度均相等。( )
6.REPLACE、STORE命令可以修改字段变量的值。( )
7.设当前表文件UD.DBF的记录数为10个,记录指针在第7条记录,执行了APPEND BLANK后,该表共有11条记录,其中第8条记录为空记录。( )
8.VFP的菜单选项随着用户的操作可以发生变化。( )
9.内存变量的数据类型一旦确定,就不能再改变。( )
10.EXIT和LOOP作用相同,都能终止循环。( )
三、读程序(本大题共3小题,每小题5分,共15分)
1.SET TALK OFF
CLEA
INPUT "X=" TO X
S=1
IF X>=0
DO CASE
CASE X<10
S=1
CASE X<30
S=2
OTHERWISE
S=3
ENDC
ELSE
S=4
END IF
? S
SET TALK ON
当X输入为30时,S的输出结果为( )
A.4 B.3
C.2 D.1
2.SET TALK OFF
CLEAR
INPUT "A=" TO A
INPUT "B=" TO B
INPUT "C=" TO C
IF B<A
D=A
A=B
B=D
ENDIF
IF C<A
D=A
A=C
C=D
ENDIF
IF C<B
D=B
B=C
C=D
ENDIF
?A,B,C
SET TALK ON
当从键盘输入A、B、C三个数值,该程序运行后其功能是( )
A.将它们从小到大排列后输出 B.将它们从大到小排列后输出
C.求三个数的平均值 D.将三个数任意排列
3.SET TALK OFF
STORE 0 TO X,Y
DO WHILE X<=10
X=X+1
IF INT(X/2)<>X/2
LOOP
ELSE
Y=Y+1
ENDIF
ENDDO
?"Y=",Y
SET TALK ON
该程序运行后的结果是( )
A.Y= 5 B.Y= 4
C.Y= 0 D.Y= 6
四、书写命令序列(本大题共5小题,每小题4分,共20分)
1.已知教工情况登记表中有字符字段职称和性别,要建立一个索引,要求首先按照职称排序,职称相同时再按照性别排序。(文件名为ZSD)应使用的命令是:
2.已建立一个职工表(zg.dbf)字段有:职工号(C,6),姓名(C,8),性别(L),出生年月(D),职称(C,10),基本工资(N,8,2),奖金(N,8,2),实发工资(N,8,2),表中记录略。请写出显示所有女教师姓名的命令:
3.对zg.dbf完成如下操作:按基本工资降序建立排序文件szg1.dbf的命令是:
4.对zg.dbf完成如下操作:查找职工号为3002的记录命令是:
5.对zg.dbf完成如下操作:求男教师的平均基本工资的命令是:
五、SQL语言命令书写(本大题共3小题,每小题5分,共15分)
1.已建立职工表中有工资,仓库号等字段:求在7#仓库工作的职工的最低工资值的命令是:
2.已建立学生表中有学号,姓名等字段:请写出查询9901班的全体同学的命令是:
3.已建立供应商表中有公司名,地址等字段:请找出供应商所在地的数目(要求去掉重复记录)的命令是: