vfP程序设计基础习题集

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VFP程序设计习题

习题一

一、判断题(1分/题,共20分,对打画√,错打×)

1.建立自由表分两步:定义表结构和输入数据。

2.表间的关系分三种:一对一关系、一对多关系和多对多关系。

3.若要使用多个表,就要使用多个工作区。

4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。

5.对象具有属性,而属性只能在设计阶段设置。

6.引用对象的方法分绝对引用和相对引用。

7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。

8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。

9.VFP主要数据容器有:表记录、变量和数组。

10.报表包括两个基本组成部分:数据源和布局。

11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。

12.表选择查询输出的去向可以是浏览、报表或表单。

13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。

16.一个视图在使用时,将作为临时表在自己的工作区中打开。

17.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中基表被同时打开。18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。

二、选择题(每个选择3分,共24分)

1.统计女生人数并将结果存放于变量X中的命令是()

(A).COUNT FOR .NOT. 性别=”男” TO X

(B).COUNT FOR ( 性别=”女”)=.T. TO X

(C).SUM FOR ( 性别<>”男”)=.T. TO X

(D).SUM FOR 性别=”女” TO X

2. 在已打开的表中,要永久删除当前记录位置开始的10条记录,可用()

(A)先执行DELETE NEXT 10命令,后用PACK命令

(B)先执行DELETE RECORD 10命令,后用PACK命令

(C)先执行DELETE FOR RECORD> 10命令,后用PACK命令

(D)ZAP NEXT 10

3.按数值型字段”总分”进行索引,使其按降序排列的命令是()

(A)INDEX ON -总分TO WP

(B)INDEX ON 总分/A TO WP

(C)INDEX ON 总分TO WP

(D)INDEX ON 总分/D TO WP

4.下列操作后,不改变表记录指针的命令是()

(A)RECALL

(B)LIST

(C)SUM

(D)REPL ALL

5.按照数据库的数据模型分类,VFP属于()

(A)层次型

(B)关系型

(C)网状型

(D)混合型

6.函数LEN(SPACE(5)-SPACE(1))的返回值是()

(A)错误信息

(B)17

(C)6

(D)4

7.某表文件中有日期型字段”出生日期”,设N=’01/01/80’,下列命令正确的是()

(A)LOCATE FOR 出生日期=’01/01/80’

(B)LOCATE FOR 出生日期=&N

(C)LOCATE FOR DTOC(出生日期)=N

(D)LOCATE FOR DTOC(出生日期)=CTOD(N)

8.从表customer中提取所有记录生成查询,并将查询结果存放于表MyCursor的SQL命令为()

(A)SELECT * FROM customerINTO CURSOR MyCursor

(B)SELECT * FROM customerINTO TABLE MyCursor

(C)SELECT ALL FROM customerINTO TABLE MyCursor

(D)CREATE SQL VIEWMyCursor ASSELECT * FROM customer

三.读程序(每个选择4分,共24分)

1.设表STU.DBF中有“学号、姓名、性别、出生日期、班级”等字段,有程序如下:

set talk off

use stu

store space(6) to xm

index on 学号to xh

do while .t.

accept “输入姓名:” to xm

locate for 姓名=xm

if .not. eof()

display

else

?’查无此人’

endif

wait “继续吗?” to yn

if upper(yn)=’N’

exit

else

loop

endif

enddo

use

set talk off

(1)程序中“locate for 姓名=xm”如该用find命令,应为()。(A)find xm (B)find &xm

(C)find 姓名=xm (D)无法使用find命令

(2)在什么情况下结束程序运行()。

(A)输入姓名后(B)显示完一条记录后

(C)给变量yn赋以’n’或’N’(D)给变量yn赋以’y’或’Y’

2.假如有如下两个表:

XS.DBF

学号(C,4)姓名(C,8)性别(L,1)出生日期(D,8) 9901 张三 .T. 02/12/79

9902 王红 .F. 02/11/80

9903 李霞 .F. 07/23/78

9904 李四 .T. 04/01/82

9905 张莉 .F. 09/22/83

CJ.DBF

学号(C,4)语文(N,6,2) 数学(N,6,2)

9903 90 78

9902 70 80

9901 88 55

9905 45 81

9904 97 92

SET TALK OFF

SET SAFE OFF

CLEAR ALL

CLEAR

SELE 1

USE CJ ALIAS P

INDEX ON 学号TO ICJ

SELE 2

USE XS

SET RELA TO 学号INTO A&&①

LOCATE FOR YEAR(DATE())-YEAR(出生日期)>=20

DO WHILE .NOT. EOF()

?学号,IIF(性别,’男’,’女’),A->数学

CONTINUE

ENDDO

WAIT&&②

SET TALK ON

SET SAFE ON

相关文档
最新文档