江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2005年秋江苏省二级vfp考试答案(2)

秋第二部分 Visual FoxPro 程序设计

一.选择题(用答题卡答题,答案依次填在21~30答题号内)

21.项目(project)是VFP中各种文件组织的核心。在下列有关VFP项目的叙述中,错误的是___21__

A.项目的关键既可以利用菜单或工具栏,也可以利用VFP命令

B.一个VFP窗口中,只能打开一个项目

C.VFP窗口中,项目管理器可以折叠成工具栏形式

D.“连编”操作是针对项目而言的,该操作位于“项目”菜单栏

 

22.表(table)是存储数据的容器。在下列有关VFP表的叙述中,错误的是__22__

A.每个表最多只能包含200多个字段

B.新建一个表后,一般会生成1~3个文件

C.自由表与数据库表在数据存储功能上是相同的,但在数据管理与控制功能上有差别

D.自由表添加到数据库中变成数据库表,而数据库表移出数据库则变成自由表

**此题答案基本都正确,D选项考虑表移出数据库有可能被删除,所以勉强选D

23.VFP中,对于数据库表来说,如果将其移出数据库(变成自由表),则该表原设置或创建的__23__仍然有效。

A.候选索引                  B.长表名

C.记录有效性规则            D.触发器

 

24.在创建表索引时,索引表达式可以包含表的一个或多个字段。在下列字段类型中。不能直接选作索引表达式的是___24__

A.货币型                    B.日期时间型

C.逻辑型                    D.备注型

 

25.VFP中,如果指定两个表的参照完整性的删除规则为“级联”,则当删除父表中的记录时,____25____

A.系统自动备份父表中被删除记录到一个新表中

B.若子表中有相关记录,则禁止删除父表中记录

C.自动删除子表中所有相关记录

D.不作参照完整性检查,删除父表记录与子表无关

 

26.在下列有关VFP表达式中,语法上错误的是___26___

A.DATETIME()+1000        B.DATE()-1000

C.DATETIME()-DATE()    D.DTOCDATE())-DTOCDATETIME())

 

27.运行以下程序后,VFP主窗口显示的结果是___27____

CLEAR

N=0

DO WHILE n10

     IF INTn/2=n/2

        ”W”

     ENDIF

     ?? “Fox”

     n=n+1

ENDDO

A.显示5行,内容均为WFoxFox              B.显示5行,内容均为WfoxWFox

C.显示4行,内容均为WFoxFox              D.显示4行,内容均为FoxFoxW

 

28.菜单(menu)和工具栏(toolbar)是Windows环境下各种应用程序中最常用的操作对象。在下列有关VFP菜单与工具栏的叙述中,错误的是___28__

A.VFP菜单是一个动态的菜单系统,当用户针对不同类型的文件操作时系统自动地调整菜单栏

B.用户打开/关闭不同的设计器(如数据库设计器、表单设计器、报表设计器等),在默认情况下系统会自动地打开/关闭相应的工具栏

C.VFP窗口中,可以关闭所有的菜单栏或工具栏

D.利用菜单命令、工具栏按钮或项目管理器操作创建一个文件,所实现的功能完全相同

 

29.在下列有关VFP的类、对象和事件的叙述中,错误的是___29___

A.对象是基于某种类所创建的实例,它继承了类的属性、事件和方法

B.基类的最小事件集包含Click事件、Load事件和Destory事件

C.事件的触发可以由用户的行为产生,也可以由系统产生

D.用户可以为对象添加新的属性和方法,但不能添加新的事件

 

30.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的___30____属性值也随之发生变化。

A.Name         B.ControlSource       C.Value        D.Caption

二、填空题 (每空格1分,共30分,请用答题纸答题,不换行)

1.E-R图是E-R模型的图形表示法,它是表示概念数据模型的有力工具。在E-R模型中有3个基本的概念,即实体、联系和___属性 __,在E-R图中它们分别用矩形框和椭圆行框来表示。

2.VFP中,用户可以利用命令来修改系统的操作环境(如默认工作目录等),也可以通过菜单命令打开__选项______对话框进行设置。

3.VFP中,与表操作相关的系统函数有多个,例如EOF()、BOF()、USED()等。用于返回当前选定工作区中已打开表的字段数目的函数是__FCOUNT()___

 

4.目前用户通常是在操作系统环境下(如在“我的电脑”或“资源管理器”窗口中)创建和删除文件夹。在VFP中,也可以使用MD命令和___RD_____命令来创建新文件夹和删除已建文件夹。

 

5.下列程序段中的后三条命令,可用一条功能等价的命令来实现,这条命令是___USE cj IN 0____

           SET TALK OFF

           SELECT   1

           USE   xs

             SELECT  0

           USE   cj

          SELECT  xs

 

6.利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表的字段或视图的有关属性。例如,要设置当前数据库中JS表的gh字段的标题属性,可以使用函数:

         DBSETRPOP(“_JS.gh_”,”FIELD”,”Caption”,”工号”)

 

7.VFP中,系统规定:除了自由表的字段名、表的索引标识名至多只能有___10____个字符以外,其余名称的长度可以长达100多个字符。

 

8.用户可以使用VFP的菜单设置器设计菜单。创建一个菜单后,系统会生成两个文件:.mnx.mnt.mnx菜单文件不能直接运行,当选中.mnx文件并且执行“运行”操作时,系统首先自动生成两个文件:.mpx__.mpr___,然后运行它。

 

9.VFP中,__存储过程___是保存在数据库中的过程代码,它由一系列用户自定义函数(过程)或在创建表之间参照完整性规则时系统创建的函数(过程)组成。

 

10.已知课程(KC)表中含课程代号(kcdh)、课程名(kcm)等字段,成绩(CJ)表中含课程代号(kcdh)、成绩(cj)等字段。完善下列SQL命令以查询每门课的选课人数、优秀人数、不及格人数。

SELECT  Kc.kcdh,  Kc.kcm,  __COUNT(*)_____AS 选课人数,;

         SUM(IIF(cj.cj>=90,1,0)) AS 优秀人数,SUM(IIF(cj.cj<60,1,0)) AS 不及格人数;

    FROM  sjk!kc INNER JOIN sjk!cj;

    ON Kc.kcdh=Cj.kcdh;

    GROUP   BY___KC.kcdh____

 

11.VFP中创建多表查询时,表之间的四种联接类型分别为内部联接、左联接、右联接和__完全联接____

12 某图书资料室的:“图书管理”数据库中有三张表:TS.dbf(图书表)、DZ.dbf(读者表)与JY.dbf(借阅表),表结构如下:

  

TS.dbf 结构

DZ.dbf 结构

JY.dbf结构

字段名

字段类型

字段名

字段类型

字段名

字段类型

编号

C(10)

借书证号

C(6)

借书证号

C(6)

分类号

C(10)

单位

C(18)

编号

C(10)

书名

C(8)

姓名

C(8)

借书日期

D(8)

出版单位

C(20)

性别

C(2)

还书日期

D(8)

作者

C(8)

职称

C(10)

 

单价

N(7,2)

地址

C(20)

馆藏册书

N(4)

 

 

 

完善下列语句以查询该图书资料室各出版单位出版图书的馆藏总册数、总金额、平均单价:

 

  SELECT   出版单位,SUM(馆藏册数)   AS 馆藏总册数, ;

           SUM(馆藏册数*单价)   AS 总金额,__AVG(TS.单价)___AS  平均单价

          FROM 图书馆里!TS

          GROUP BY  出版单位

 

完善下列语句以查询借阅次数最多的前10名读者的借书证号、姓名、单位和借阅次数:

 

  SELECT__TOP 10__JY.借书证号,DZ.姓名,DZ.单位,COUNT(*) AS 借阅次数, ;

FROM  图书馆里!DZ  INNER JOIN 图书管理!JY;

ON DZ.借书证号= JY.借书证号;

GROUP BY  1 ;

ORDER BY __4 ___

 

13.类(class)是面向对象程序设计的核心。类具有许多特点,如多态性、抽象性、封装性、继承性等,其中__多态性___是指一些关联的类包含同名的方法程序,但方法程序的内容可以不同。

14.设Labell 是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,可以在该表单的Init事件代码中使用语句THISFORM. __Label1.Caption___=TTOC(DATETIME())来实现。

15.学生注册表单(forml)如图1所示 ,该表单中含有3个标签、2个文本框(Text1和Text2),1个命令按钮组(包含3个按钮),其功能是对学生信息进行注册:

   1)如在学生注册(ZC)表中已存在某学生的记录(学号已经存在),说明该学生已注册过;若没有,则进行注册,即将该学生信息存入学生注册表;

   2)进行注册时(即按“确认”按钮时),学生和姓名不能为空。

 

图1  学生注册表单 

   表单是一个容器型控件,其集合属性为Controls,计数属性为ControlCount。此表单的ControlCount 属性值为   6   

   根据表单的功能要求,完善下列命令按钮组的Click事件代码:

   ch1=ALLT(THISFORM.Text1.Value)

   ch2=ALLT(THISFORM.Text2.Value)

DO CASE

CASE THIS.Value =1

       IF LEN(ch1)=0 OR LEN(ch2)=0

           =MESSAGEBOX (“学号、姓名必须填写!”)

       ELSE

               Locate         for zc.xh=ch1

           IF !EOF()

             =MESSAGEBOX (“此学生已注册,请重新输入!”)

             ESLE

           INSERT  INTO   zc(xh, xm)  Values(ch1, ch2)

          ENDIF

       ENDIF

   CASE THIS.Value=2

          THISFORM.Text1.Value=“”

          THISFORM.Text2.Value=“”

           Thisform.text1.setfocus_  && 使Text1 文本框得到输入焦点

   CASE THIS.Value=3

           THISFORM.RELEASE

ENDCASE

 

16.在VFP中,利用可是化开发工具(表单设计器)创建表单和对象。通过对对象属性的修改、方法程序的调用来处理对象。相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或_事件__处理代码中使用

17.对于图2所示的表单,当表单运行时,利用微调框(SpinnerlCurvature来调节形状控件(Shapel)的Curvature属性,使形状控件的角的曲率发生变化。根据Curvature属性的取值范围的限定,微调框(Spinner1)的SpinnerLowValue属性值和SpinnerHighvalue属性值应该分别为0    99        。当形状控件(Shape1)为椭圆时,微调框(Spinner1)的Value值应为   99     .

图2 形状控件的曲率实验

18 .完善下列程序,以显示7~1000以内能被7整除且含有数字5的所有证书(例如35、 56、 105等)。

          FOR n=7 TO 1000      step 7      

              ch=ALLT(STR(n))

              IF   "5"$ch

                  ?n

               ENDIF

          ENDFOR

 19.一个应用程序的模型可以设计得很合理 很整洁,代码很精致,解决问题的方法和算法很巧妙但这些对用户来说是很透明的,用户看不到、也无须知道,用户看到的是应用系统提供的用户界面。从利用VFP开发应用程序来说,创建的菜单    表单         文件是用作应用程序的主要界面。

20.运行下列程序后,显示的运行结果的第二行为    11*11=121     

SET TALK OFF

CLEAR

        Y="11111111"

         FOR I=1 TO LEN(y)

         X=LEFT(y, i)

         ?SPACE(20-i*2)+x+"*"+x+"="+ALLT(STR(VAL(x)*VAL(x)))

         ENDFOR

 21.报表类型主要是指报表的布局类型.VFP,报表的常规类型主要有报列表.行报表,一对多报表和  多栏报表     .

 22 .使用LOCAL,PRIVATEPUBLIC命令可以指定内存变量的作用域。在VFP命令窗口中创建的任何内存变量均为   全局    变量.

 23.将第2~4个字符为”yan”的所有内存变量保存mVar内存变量文件中,可以使用命令:

         SAVE TO mVar ALL   LIKE       ?yan*

 24.表格(gird)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似,表格最常见的用途之一是显示一对多关系中的的子表。在默认情况下,表格控件包含列控件,列空件又包含列标头控件和  文本框     控件。