教 学 大 纲
  授 课 教 案
  CAI 课 件
  实 验 指 导
  习   题
  课 程 试 卷
  参 考 资 料
 
《Visual FoxPro程序设计》试卷  

Visual FoxPro 程序设计 试题
2005—2006 学年(第 2 学期)

课程代码: 1241491
适用专业(班级):05级文科各专业
课程学时: 64学时
命题教师: 陈 敬
系(教研室)主任: 张 宇
院(部)审批:

答题说明:
1.本试卷共有五道大题,其中一题至三题需在每小题的A、B、C、D四个选项中选择一个正确答案,并且一定要将答题卡上相应的字母涂黑。
2.第四题、第五题需将答案写在答题纸上。
注意:在以下各题中,有的要用到数据表文件“学生情况.DBF”和“学生成绩.DBF”,具体内容见表1、表2。
表1. 学生情况.DBF
学号  姓名 性别  出生日期  毕业否  专业   助学金
10001 王晓芳 女   05/07/83  .T.   计算机   40.00
20010 李秋枫 男   11/25/84  .F.   数学    50.00
10021 刘春苹 女   08/12/84  .F.   计算机   40.00
30011 高  山 男   10/08/84  .F.   工业会计  45.00
20005 王  刚 男   04/03/83  .T.   数学    30.00
10012 张纯玉 男   07/21/82  .F.   计算机   50.00
30018 张冬云 女   12/26/84  .F.   工业会计  35.00

表2. 学生成绩.DBF
学号  姓名  英语 计算机 总分
10001 王晓芳  90  88
20010 李秋枫  82  77
10021 刘春苹  95  91
30011 高  山  78  56
20005 王  刚  52  50
10012 张纯玉  98  80
30018 张冬云  88  79

说明
1.学号、姓名、性别、专业字段为字符型,出生日期为日期型,助学金、英语、计算机、总分为数值型,毕业否为逻辑型。
2.所有使用以上表文件的程序,如不作特殊说明,均使用上面原始数据,即不考虑程序运行后对表文件内容的影响。

一.单项选择题(每小题1分,共40分)
每题给出四个答案,用A,B,C,D标出,其中只有一个是正确的。请你做出选择并将答题卡上相应的字母涂黑。
1.数据库系统的数据模型分为( )及对象-关系型。
A)网状、链状和层次型 B)层次、网状和关系型
C)树状、层次和关系型 D)网状、语义和关系型
2.结构化程序设计的三种基本结构是( )。
A) 选择结构、循环结构、嵌套结构
B) 顺序结构、选择结构、循环结构
C) 选择结构、循环结构、模块结构
D) 选择结构、循环结构、递归结构
3.Visual FoxPro既支持面向过程的程序设计,又支持面向( )程序设计。
A)大众的  B) 事实的
C)对象的  D) 个体的
4.命令动词和其它保留字可使用简写,即可以截去后面的字符,但至少保留前( )个字母。
A)4   B) 8
C)6   D)3
5.执行?INT(9.9999)命令后,显示的结果是( )。
A)10    B)9
C)9.9   D)9.9999
6.以下赋值语句中,正确的选项是( )。
A)STORE 6 TO X,Y    B)STORE 8 ,9 TO X,Y
C)X=1, Y=2       D)X= Y=0
7.执行? MOD(9,-5)命令后,显示的结果是( )。
A)1   B)-1
C)4   D)-4
8.执行?SUBSTR(‘FOXPRO’, 4 ,3)命令后,显示的结果是( )。
A)FOX  B)P
C)PRO  D)X
9.在数据库表结构中,逻辑型、日期型字段的宽度分别是( )。
A)3 8    B)1 8  
C)1 4    D)1 6
10.如果内存变量与字段变量同名,特别说明内存变量的标志是( )。 
A)A->      B)B->   
C)G->     D)M->
11.在Visual FoxPro中,用DIMENSION定义的数组变量A(2,4)中包含的元素的个数和初值是( )。
A)8 .F.   B)2 4
C)4 .T.   D)6 .F.
12.? LEN( SPACE(10) - SPACE(5) ) 显示命令结果是( )。
A)5    B)15
C).T.   D).F.
13.表文件的默认扩展名是( )。
A).ADC   B).PRG
C).DBF   D).DCT
14.已打开“学生情况.DBF”表文件,要显示所有1984年以后(含1984年)出生的女学生情况,应使用命令( )。
A)LIST FOR 出生日期>={^1984-01-01} .AND.性别=”女”
B)LIST FOR 出生日期>=1984 .AND.性别=”女”
C)LIST FOR 出生日期>=84 .AND.性别=”女”
D)LIST FOR CTOD(出生日期)>=1984 .AND.性别=”女”
15.对“学生成绩.DBF”表,要将所有学生的各门成绩汇总后存入总分字段中,应使用命令( )。
A)REPLACE 总分 WITH 英语+计算机
B)REPLACE 总分 WITH 英语,计算机
C)REPLACE ALL 总分 WITH 英语+计算机
D)REPLACE 总分 WITH 英语+计算机 FOR ALL
16.对于一个表文件,利用ZAP 命令操作后( )。
A)表文件被删除        B)被删除的记录可以恢复
C)记录被删除,仍保留表结构  D)只有表名,无表结构
17.当前表文件有10条记录,记录指针已指到第5条记录上,要在第5条记录的后面插入1条新记录,应使用命令( )。
A)APPEND    B)INSERT
C)EDIT 5    D)BROWSE
18.已知某数据库表文件有6条记录,若函数EOF( )的值为.T.,此时RECNO( )的值是( )。
A)0      B)当前记录
C)TOP     D)7
19.下列命令语句正确的是( )。
A)LIST FOR NEXT 3
B)LIST REST
C)DISP ALL 外语>60 AND < 100
D)DISP 60<外语<100
20.可以伴着表的打开而自动打开的索引是( )。
A)单一索引文件      B)独立索引文件
C)结构化复合索引文件   D)非结构化复合索引文件
21.不需要索引下使用的命令是( )。
A)SEEK       B)FIND
C) LOCATE      D)TOTAL
22.在Visual FoxPro环境下,要建立或打开表文件,应选择主菜单栏中的( )。
A)“文件”菜单项     B)“数据库”菜单项
C)“工具”菜单项     D)“编辑”菜单项
23.已知:
SELECT A
USE LX1
SELECT B
USE LX2
下列操作能选择 2 号工作区的命令是:
A)SELE 0    B)SELE LX1
C)SELE A    D)SELE LX2
24.有以下命令序列:
STORE 22 TO X
STORE 33 TO Y
?(Y = X).OR.(X # Y)
执行上述命令后,屏幕显示的结果是( )。
A) .T. B) .F.
C) 22 D) 33
25.在命令窗口中,执行下列命令后,显示的结果是( )。
X={^2006-5-20}
Y=CTOD("05/30/06")
?Y-X
A)30    B)10
C)5     D)20
26.在命令窗口中,执行下列命令后显示的结果是( )。
A=“100”
B=“20”
?A>B
A).T.   B).F.
C)100   D)201.
27.在命令窗口中,执行下列命令后,显示的结果是( )。
N=10
M=20
P=”N+M”
?N+&P
A)10 B)1020
C)40 D)30
28.在Visual FoxPro环境下要建立一个新的数据表文件,首先应在“表设计器”中定义表结构,其中类型(TYPE)列用来定义( )。
A)字段名    B)字段宽度
C)字段类型   D)索引
29.用( )命令和CONTINUE命令配合使用,可查询当前数据表中满足条件的全部记录。
A)FIND    B)SEEK
C)RQBE    D)LOCATE
30.在数据表“学生情况.DBF”中,欲统计学生的总人数(总的记录条数),并将统计结果保存到变量TJ中,应使用命令( )。
A) SUM TO TJ    B)AVERAGE TO TJ
C) COUNT TO TJ   D)TOTAL TO TJ
31.经SORT命令排序后所生成的文件的扩展名是( )。 
A).TXT      B).BAK   
C).IDX      D).DBF
32.在Visual FoxPro中,建立表与表之间物理连接的命令是( )。
A)SET RELATION  B)JOIN
C)SELECT     D)CALL
33.对“学生成绩.DBF”按“英语”建立索引后,要查找英语成绩为88分的记录,下列命令正确的是( )。
A)FIND 88    B)SEEK “88”
C)CONUT 88   D)FONUD 88
34.以下( )命令中的变量只能接收一个字符。
A)ACCEPT  B) INPUT  C)WAIT  D)STORE
35.在Visual FoxPro中,将内存变量定义为全局变量的命令是( )。
A) PRIVATE    B)PUBLIC
C) LOCAL     D)STORE <表达式> TO <内存变量名>
36.在Visual FoxPro中,表单(Form)是指( ) 。
A)数据库中各个表的清单   B)一个表中各个记录的清单
C)数据库查询的列表     D)窗口界面
37.在表单控件工具栏中,( )是“文本框”控件的图标。
A)  B)  C)  D)
38.在表单设计器中,设置对象标题应选择的属性是( )。
A) Enabled   B)Caption
C)Visible    D)Value
39.假设一个表单中包含一个命令按钮,当按下命令按钮时,表单的标题改为“我的表单”,在命令按钮的Click事件中添加的正确代码是( )。
A)This.Caption=” 我的表单”
B)ThisForm.Caption=” 我的表单”
C)ThisFormSet.Caption=” 我的表单”
D)ThisParent.Form.Caption=” 我的表单”
40.下列选项中属于报表文件的扩展名的是( )。
A).FRX    B).MNX
B).FPT    D).FRT

二.阅读程序题(每小题2分,共14分)
阅读程序,在A、B、C、D四个选项中选择正确的运行结果,并将答题卡上相应的字母涂黑。
41. SET TALK OFF
USE 学生情况
SORT TO STU2 ON专业,助学金/D
USE STU2
?姓名,助学金
USE
SET TALK ON
A)王晓芳 40.00  B) 高山 45.00
C)李秋枫 50.00  D)张冬云 35.00
42. SET TALK OFF
USE 学生情况
INDEX ON 性别TO XB
TOTAL ON 性别TO NAI FIELDS助学金
USE NAI
COUN TO B
? B
USE
SET TALK ON
RETURN
A)7  B)1  C)2  D)290.00
43. SET TALK OFF
SET HEADING OFF
SELECT 1
USE 学生情况
GOTO 2
SELECT 2
USE 学生成绩
LOCATE FOR 学号="20010"
DISP 姓名 OFF
SELECT 1
DISP 学号, B->计算机 OFF
CLOSE ALL
SET HEADING ON
SET TALK ON
A)李秋枫   B)王晓芳
20010 77    10001 88
C)李秋枫   D)高山
10001 88    30011 56
44. CJ=75
DO CASE
CASE CJ>=90
WF="优"
CASE CJ>=80
WF="良"
CASE CJ>=70
WF="中"
CASE CJ>=60
WF="及格"
OTHERWISE
WF="不及格"
ENDCASE
? WF
A)优  B)良  C)中  D) 及格
45.S=10
FOR K=8 TO 1 STEP –2
S=S+K
ENDFOR
? S
A)10  B)20  C)30  D)40
46.SET TALK OFF
M=0
DO WHILE .T.
M=M+1
IF M/4 < >INT( M / 4)
LOOP
ELSE
?? M
ENDIF
IF M>12
EXIT
ENDIF
ENDDO
SET TALK ON
A)1 2 3 4    B) 4 8 12 16
C)1 3 5 7    D) 4 8 12
47. SET TALK OFF
SET PROCEDURE TO PPP
?? "全国"
DO PP1
?? "考试"
SET PROCEDURE TO
RETURN

*PPP.PRG 过程文件中有两个过程
PROCEDURE PP1 &&过程1
?? "计算机"
DO PP2
?? " [C语言] "
RETURN
PROCEDURE PP2 &&过程2
?? " 等级"
RETURN TO MASTER
A)全国计算机[C语言]等级考试.  B)全国计算机考试
C)计算机等级考试        D)全国计算机等级考试

三.完善程序题(每小题2分,共16分)
在A、B、C、D四个选项中,选择正确的选项填在程序的 处,使程序完整正确,并将答题卡上相应的字母涂黑。
48. 对“学生情况”表,以性别和助学金两个字段组成关键表达式,创建一个索引文件XBZX.IDX。
USE 学生情况
INDEX ON TO XBZX
LIST
USE
A)学号+助学金  B) 性别+助学金
C)性别,助学金  D) 性别+STR(助学金,6,2)
49. 对所有英语成绩大于90分的学生奖励助学金100元。
SELECT 1
USE 学生成绩
INDEX ON 学号 TO XHSY
SELECT 2
USE 学生情况
SET RELATION INTO A
REPLACE ALL 助学金 WITH 助学金+100 FOR A.英语>90
LIST
USE
A)TO 英语  B)TO 姓名  C)TO 专业  D)TO 学号
50.本程序实现按学号相同为连接条件,将两个数据表文件连接成一个新的表文件NB1.DBF,使该表仅含学号、姓名、英语和助学金字段。
SET TALK OFF
SELECT 2
USE 学生情况 ALIAS XS
SELECT 3
USE 学生成绩 ALIAS CJ
JOIN WITH XS TO NB1 FOR FIELDS 学号,姓名,英语,XS.助学金
USE NB1
LIST
CLOSE ALL
SET TALK ON
RETURN
A) FOR 学号=A.学号  B) FOR 学号=XS.学号
C) FOR 学号=C.学号  D) FOR B.学号=学号
51.以下程序是求1+2+3+….. +100 , 请选择正确的答案填在空白处。
S=0
N=1
DO WHILE _________
S=S+N
N=N+1
ENDDO
?S
A) N<100  B) N<=100  C )N>100  D) N>=100
52.以下程序是求1!+2!+3!+….. +10! , 请选择正确的答案填在空白处。
S=0
T=1
FOR N=1 TO 10
_______
S=S+T
ENDFOR
?S
A) T=T*N  B) T=T+N  C) T=T+1  D) N=N+1

53.以下程序是从“学生情况.DBF”中查找助学金大于40元的记录, 并逐条显示,请选择正确的答案填在空白处。
USE 学生情况
SCAN ________
DISPLAY
WAIT
ENDSCAN
A) IF 助学金> 40   B) FOR 助学金> 40
C) WHILE 助学金<40  D) WHERE 助学金>40

54.在下列程序的空白处填上适当的语句,使程序能够完成如下功能:输入某专业后,显示此专业学生的数据,直到处理完该专业的数据为止。
SET TALK OFF
USE 学生情况
ACCEPT "请输入学生的专业:" TO ZY
ZY=ALLTRIM(ZY)
LOCATE FOR 专业=ZY
DO WHILE NOT EOF( )
? 姓名,专业
__________
ENDDO
A) CONTINUE  B) LIST  C) SKIP  D) G OTO

55.在下列程序的空白处选择适当的表达式,使程序能够输出如下图形:
      *
     ***
    *****
   *******
CLEAR
FOR I=1 TO 4
? SPACE(10-I)
?? REPL( " *" , _______ )
ENDFOR
A) I  B) 2I-1  C) 2*I-1  D)2*I+1

四、操作题(每小题5分,共10分)
将答案写在答题纸对应的题号处!
按提示的步骤完成操作:
1.建立一个程序文件XS.PRG,显示“学生情况.DBF”表的前3条记录,并运行此程序。
操作步骤:
(1)建立XS.PRG程序文件,在命令窗口中输入命令:
(2)在程序编辑窗口中输入程序语句:
(3)运行程序,在命令窗口中输入命令:
注:也可以使用菜单操作。
2.建立一个表单 Form1,表单中含有一个标签Label1,一个命令按钮Command1。表单标题为“练习”,标签设置为空,命令按钮上的标题为“开始”。当鼠标单击Command1按钮后,标签上显示“欢迎使用!”。该表单以表单文件“表单1.SCX”保存。
要求完善表单初始化事件(Init)和按钮单击事件(Click)中的代码,并运行表单。
  Form1表单初始化事件(Init)过程代码:
ThisForm.Caption=”练习”
( 1 ) && 标签设置为空
( 2 ) && 命令按钮的标题为“开始”
  Command1按钮单击事件(Click)过程代码:
( 3 ) &&单击Command1按钮后,标签上显示“欢迎使用!”。
   运行表单
( 4 ) (使用菜单操作或在命令窗口输入命令)

五.程序设计题(每小题5分,共20分)
将程序写在答题纸对应的题号处!
1.用循环结构,显示学生情况.DBF表中计算机专业的男生的记录。
2.计算1+3+5+7+.....+99的值。
3.任意输入三个数,按由小到大的顺序输出。
4.求一元二次方程 AX2+BX+C=0的两个实根。

 

版权所有 © 2006-2007 沈阳大学信息工程学院 计算机基础教研室