重庆二级 - vfp计算机二级笔试复习资料 联系客服

发布时间 : 星期三 文章重庆二级 - vfp计算机二级笔试复习资料更新完毕开始阅读b3533ad0bb4cf7ec4afed070

☆☆1、VFP采用了可视化的操作界面,面向对象的程序设计方法,涉及的概念有( ) A)对象 B)属性 C)事件 D)方法 E)类

☆☆2、VFP程序的基本结构是对象,程序对它的操作可通过它的( )来完成 A)对象 B)属性 C)事件 D)方法 E)类 ☆☆3、VFP的对象的主要类型有( )

A)容器类 B)关系类 C)层次类 D)网状类 E)控件类 ☆☆4、下面关于表单数据环境的叙述中,正确的是( )

A)可以在数据环境中加入与表单操作有关的表 B)数据环境是表单的容器

C)可以在数据环境中建立表之间的联系 D)表单运行时自动打开其数据环境中的表 E)数据环境的表或视图能随着表单的打开或运行而打开 5、下列叙述中,正确的是( )

A)VFP表单以VFP桌面(Screen屏幕)为基础建立

B)顶层表单可以与Screen同级,在Windows任务栏中显示极小化图标 C)VFP的默认表单类型是顶层表单 D)子表单是包含在其他窗口内的表单

E)表单的种类有3种:子表单、浮动表单、顶层表单 ☆6、下列对事件的描述中,正确的是( )

A)事件是一种预先定义好的特定的动作,由用户或系统激活 B)单击表单的标题栏,可以激活表单的Click事件 C)Visual FoxPro基类的事件可以由用户创建

D)可以激活事件的用户动作有很多,如单击鼠标、移动鼠标等 E)如果没有编写事件代码,即使事件发生,也不会有响应 ☆7、以下若干VFP命令,属于表单操作的有( )

A)Do Form <文件名称> B)Modify Command <文件名称> C)Modify Form <文件名称> D)Create Form <文件名称> E)Create Database <文件名称> ☆☆8、类具有的主要特征()

A)、继承性 B)封装性 C) 多态性 D)属性 (三)、判断题

1、每个对象在系统中都有唯一的对象标识 √ 2、事件作用于对象,对象识别事件并做出相应反应 √ 3、一个子类能够继承其所有父类的属性和方法 √ 4、事件是一种预先定义好的特定动作,由用户或系统激活 √ (四)、填空题

1、容器类控件是可以容纳其他 对象 的对象 2、对象具有属性、事件和 方法

3、类是一组具有相同特性的 对象 的抽象定义

4、面向对象程序设计中,程序运行的最基本的实体是 对象 5、“类”是面向对象程序的重要内容,VFP提供了一系列 基类 来支持用户派生类 6、VFP基类有2种,即 容器类 和 控件类

7、VFP提供了一批基类,用户可以在这些类的基础上定义自己的类和子类,从而利用类的 继承 性,减少编程的工作量

8、面向对象技术中首要和最重要的概念是 对象 ,它是面向对象技术的核心

9、对象是一种抽象的名称,在应用领域中有意义的、与所要解决问题有关的任何事物都可以称为 对象 10、VFP系统中,用 属性 描述对象的状态,用 方法 描述对象的行为

11、 方法 是描述对象行为的过程,是对当某个对象接受了某个消息后所采取的一系列操作的描述 1、将ActiveX绑定型控件与通用型字段绑定的方法就:在控件的ControlSource 属性中设置通用型字段名 2、在一个表单对象Myform中添加了2个命令按钮Command1和Command2,单击每一个按钮会做出不同的操作,必须编写的事件过程名字是Command1.Click和Command2.Click 3、假定表单上有一组选项组:,其中第一个选项按钮“男”被选中。请问该选项组的Value属性值为”男”或1

4、在程序中为了释放已释放已创建日Myform1表单对象,应当使用的命令是myform1.release 1、在VFP中,代表当前对象自身的关键字是___THIS___,代表当前表单的关键字是THISFORM

2、在VFP中,在创建表单前触发的事件是 LOAD ,表单被加载到内存中时触发的事件是___INIT____ ,对象从内存中释放时触发的事件是__DESTROY___

4、表单存盘时的文件扩展名为_.SCX。释放和关闭表单的方法是RELEASE,刷新当前表单的方法名为REFRESH 6、要将【退出】按钮定义为一个热键.E.,则在按钮的Caption属性中输入内容__(\\

9、若要将输入焦点定位在文本框Text1中,其实现语句是 THISFORM.TEXT1.SETFOCUS;当文本框失去焦点时,自动触发 LOSTFOCUS _事件

29

10、微调控件中, Increment 属性可以设定按一次按钮的增减量

11、在表单中,能提供单行信息输入的对象是 文本框 。若要提供多行信息的输入或显示,可利用VFP提供的 编辑框 对象来实现,可利用该对象的 SCROLLBARS 属性来控制滚动条的显示与否

12、要向列表框或组合框添加列表项,可利用该对象的 ADDITEM 方法来实现。若要删除列表框中的列表项,可通过该对象的 REMOVEITEM 方法来实现

13、如果想在表单上添加多个同类型的控件,可在选定控件按钮后,单击按钮锁定 按钮,然后在表单的不同位置单击,就可以添加多个同类形的控件

14、页框对象也是一个容器性质的对象,它由若干个 页面 对象构成。若要访问其中的某一个对象,可通过页框对象的 PAGES 属性来实现,若要以代码的方式设置当前的活动页面,可通过页框对象的ACTIVEPAGE 属性来实现

15、可用 表单设计器 修改用表单向导创建的表单 16、在设计表单时,计时器控件是 可见 (填“隐藏”或“可见”)。在运行表单时,计时器控件是 隐藏 (填“隐藏”或“可见”)

17、如果要显示存放在数据表中的某个学生的照片,应使用 ACTIVEX绑定 控件 18、设置表单的页面数,使用 PAGECOUNT 属性

19、ButtonCount属性是用来定义命令按钮组控件的 按钮个数 20、要编辑备注型字段的文本,应使用 编辑框 控件

21、无论是否对事件编程,发生某个操作时,相应的事件都会被 激活

22、编辑框控件与文本框控件最大的区别是,在编辑框中可以输入编辑 多行 文本,而在文本框中只能输入编辑 一行 文本

23、要使标签标题文字竖排,必须将其 WORDWRAP 属性值设置为.T. 24、要编辑容器中的对象,必须首先激活容器。激活容器的方法是:右键单击容器,在弹出的快捷菜单中选择 编辑 命令

25、控件的数据绑定是指将控件与某个 数据源 联系起来

26、在命令窗口中执行 MODIFY FORM 命令,即可打开表单设计器窗口 27、表单中控件的属性可在__属性窗口___中或___程序代码___中设置

☆28、如果要为控件设置焦点,则控件的Enabled属性和 Visible 属性必须为.T.。

☆☆29、对于数据绑定型控件,可以通过对_Controlsource和RecordSource_属性的设置来绑定控件和数据源。 分析:对于表格控件可以通过对它的RecordSource属性进行设置来绑定控件和数据源,除表格控件之外的其他数据绑定型控件,均有一个ControlSource属性,通过该属性可以绑定控件和数据源。

30、如果要让一个文本框的初值设置为当前日期且不能更改,则在该文本框的_Init_____事件中设置代码为This.Value=date(),同时要将它的_Enabled____________属性设置为.F.

☆31、在myform表单中有两个命令按钮,如果程序运行时单击Commandl按钮,表单的底色改为蓝色,则该Click事件过程中的命令是 THISFORM.Backcolor=RGB(0,0,255),单击Command2按钮,Command2按钮变为不可见,则该Click事件过程中的命令是 THISFORM.Command2.Visible=.F. 32、建立事件循环是为了等待用户操作并进行响应。用命令 READ EVENTS将启动VFP事件处理。而命令 CLEAR EVENTS将停止VFP事件处理,使程序退出事件循环。

☆☆33、在编程中,若要定时执行某一程序段,可利用计时器对象来实现。在该对象中,用于设置定时时长的属性是 Interval,其时间单位为毫秒或ms ;若要使定时器暂时不工作,可通过设置其 Enabled属性值为.F.来实现。 (五)、程序填空题(数学题(如整除及奇偶判断、素数问题、四舍五入问题、数的按位分离及合并、数制的转换、最大或最小、累加、累积、最大公约数)、字符串运算(串长度、大小写转换、删除指定字符、指定字符筛选、字符查找、逆序等)、数据表操作(添加、删除、查询、统计等)、子程序(参数传递)、SQL语言(数据定义、数据操作、数据查询等。如where后的条件式)、面向对象程序(如表单各对象属性、方法和事件的引用及条件式))

(步骤1:不看题目要求,先检查程序中命令的语法结构是否完整。指类似于Do Whil….Enddo结构等。步骤2:快速浏览题目功能要求,结合上下文命令的逻辑关系进行推断。步骤3:找出题目的关键要求,根据要求完成剩余填空。步骤4:查看属于 SQL数据结构定义(结构增、删、修、更名)、还是数据记录操作(插、删、修)、还是数据查询功能要求,完成功能填空。步骤5:表单及包含控件的基本操作填空。)

☆☆2、设数据表NAME。DBF 中有姓名字段,并以此字段建立索引文件名为NSY.IDX,因该表中有一些重复记录需要删除,请填空完成此程序.

SET TALK OFF

USE NAME INDE NSY GO TOP

DO WHIL .not. eof() XM=姓名 SKIP

IF 姓名=XM DELE ENDI

ENDD

30

pack USE RETU

☆☆3、有一产品生产数量表SL.DBF,其内容如下: 记录号 编号 数量

1 A1 10 2 A0 85 3 A2 17 4 A10 50 5 A12 65

下列程序的功能是首先对产品编号建立索引,然后汇总编号第2位为”1”的产品数量,要求 产品数量达到20以上才能汇总,请填空使程序完整. SET TALK OFF USE SL

INDE ON 编号 TO BH1 STORE 0 TO S

DO WHILE .NOT.EOF( ) IF SUBSTR(编号,2,1)=”1”AND数量>20 S=S+数量 ENDIF SKIP ENDDO ?S

RETURN

4、 有学生表XS.DBF,其中性别字段为逻辑型,逻辑真为男,生日字段为日期型,下列程序是用SCAN循环显示XS中1985年以后出生的所有男生的数据,请填空使程序完整. CLEAR USE XS SCAN FOR 生日>{^1985/12/31}.AND.性别 或者 YEAR(生日)>1985.AND.性别 DISPLAY ENDSCAN USE RETURN

☆5、数据库文件GRADE.DBFDD的内容如下∶ Record# 学号 姓名 成绩 1 98104 张三 78 2 98102 李四 90 3 98101 王五 82 4 98103 周六 64 5 98105 郑七 85

完成下面程序,输出成绩最低学生的学号,姓名,成绩。 SET TALK OFF CLEAR

USE GRADE N=1

ZD=成绩 SCAN

IF 成绩

SET TALK ON RETURN

☆6、在myform表单上有两个标签(其中一个是Label1标签,它的标题CAPTION为半径,另一个是Label2标签,它的标题CAPTION为面积)和两个文本框(其中一个为输入半径的文本框text1,它Value初值为0,另一个为显示面积的文本框text2),它上面还有一个命令按钮command1(其caption属性为计算),它的click事件为: R=this.parent.text1.value 或 thisform.text1.value Thisform.text2.value=3.14159*R*R

31

Thisform.refresh 7、设有学生选课表及平均分的语句是(关键字SC(学号,课程号,成绩)) SQL 语言检索每门课程的课程号及平均分

SELECT 课程号,AVG(成绩)AS 平均分 FROM SC Group by 课程号

☆☆8、假设学生选课管理数据库中有3个表,学生.dbf,课程.dbf 和学生选课.dbf 。它们的结构分别如下: 学生(学号C(6),姓名C(8),系名C(30),省份C(10)) 课程(课程号C(6),课程名C(20),先修课号C(6)) 学生选课(学号C(6),课程号C(6),成绩N(4))

如果要查询选修课程名为”Visual FoxPro”课程的学生姓名,请对下面的SQL语句填空。(&&联接三种实现方法) 方法一:sele课程号 from 课程 where 课程名=\ into array ab

Select 学号,姓名; From 学生; Where 学号 IN;

(select 学号; from 学生选课;

where 课程号=ab(1))

或方法二:

Select 学生.学号, 学生.姓名; From 学生,学生选课,课程

Where _学生.学号=学生选课.学号.and. 学生选课. 课程号=_课程. 课程号.and. 课程名=”Visual FoxPro”__ 或方法三:

Select 学号,姓名;

From 学生 inner join 学生选课 inner join 课程 on 学生选课. 课程号=_课程. 课程号; On 学生.学号=学生选课.学号; Where 课程名=”Visual FoxPro” ☆9设数据表XS.DBF中有学号(C/6)和姓名(C/8)两个字段,该数据表以学号索引(文件名为XH.IDX).该程序是:当用户输入学号后,如果表中有此学号的学生,则显示该学生的信息.否则,输入该学号对应的学生姓名后,添加到该表中.

SET TALK OFF USE XS INDE XH

ACCE “输入学生的学号:” to KEY1 GO TOP

KEY1=TRIM(KEY1) SEEK KEY1 IF foun() DISP ELSE

ACCE “输入学生的姓名:” TO KEY2 Appe blan REPLACE 学号 WITH KEY1 ,姓名 WITH KEY2 ENDI CLOS ALL RETU

☆10、求出1~300之间能被6整除的数的和。

Set talk off I=1

S=0______________ do whil I<=300

if _mod(I,6)=0或int(i/6)=i/6 s=s+I

endi I=I+1_ endd ?? s retu

☆11、执行下面的程序

SET TALK OFF STORE \ DO WHILE i<\

STORE VAL(i)*VAL(i)TO a&i STORE STR (VAL (i)+1,1) TO i ENDDO

32