结构化与面向对象程序设计基础1、结构化程序的三种基本结构(顺序、选择、循环)、三种非格式化交互式输入(ACCEPT、INPUT、WAIT),变量作用域(全局、私有、局部(本地))及参数(值传、引用(地址))传递。2、类、对象(容器、控件)(属性、方法、事件)等概念,事件驱动程序方法。3、VFP对象常用属性、常用事件、常用方法程序,表单控件工具各自作用。4、面向对象编程的基本过程是:先创建容器对象→定义数据环境→摆放控件对象→设置对象属性→为事件编写程序代码。VFP对象常用事件对象常用方法程序:主要有:刷新(Refresh);释放(Release);设置焦点(SetFocus);激活显示表单(Show);隐藏表单(Hide)事件事件的触发时机事件事件的触发时机Load创建对象之前GotFocus对象获得焦点Init创建对象时LostFocus对象失去焦点Activate对象激活时Valid合法数据校验.当对象失去焦点前,触发该事件,返回.F.,对象不能失去焦点。Click鼠标左键单击对象KeyPress用户按下并释放键时MouseUP释放鼠标键时InteractiveChange鼠标或键盘操作使当前值发生变化时触发MouseDown按下鼠标键时Destroy从内存中释放对象DblClick鼠标左键双击对象Unload在表单Destory事件后,即最后RightClick鼠标右键单击对象Error当对象方法或事件代码在运行过程中产生错误时VFP中对象常用属性属性名称意义解释标题(caption)对象的标题。字符数据第一表单的默认标题:Form1左起始位(Left)设定对象的左边起始位置单位像素点.数值上起始位(Top)设定对象的顶边起始位置单位像素点.数值宽度(Width)对象的宽度单位像素点.数值高度(Hight)对象的高度单位像素点.数值值(Value)指定对象当前的状态值.若指定了控制源,则Value的值与控制源的值相同.Value值的类型随对象的不同而不同.控制源(ControlSource)指定与对象绑定的数据源,一般是指一个变量或数据表字段的名称如:对于一个文本框来说,指定一个变量为其控制源,那么在文本框中输入的数据就会存贮到这个变量中名称(Name)对象的名字字符型可用(Enabled)指对象在运行期间是否可用逻辑值,默认.T.可用。若为.F.,则不可用,该对象为灰色,焦点不能移到对象上,对象也不能触发任何事件,对象的方法程序不可用。可见(Visible)对象运行时,是否可见逻辑值,默认.T.只读(ReadOnly)对象的内容可见,但不能修改逻辑值,默认.F.字体名(FontName)指定对象显示内容的字体字符型,为系统的标准字体名称字号(FontSize)指定对象显示内容的字号,即字的尺寸数值型,如16等粗体字(FontBold)对象显示内容的字体加粗逻辑型,默认.F.前景色(ForeColor)指定对象编辑区域的字符颜色可以打开”颜色”对话框选定色彩值背景色(BackColor)指定对象编辑区域的背景颜色(一)、选择题☆☆(0)、将“复选框”控件的Value属性设置为()时,复选框显示灰色(A)0(B)1(C)2(D).f.(为0或.F.未选中;为1或.T.选中;为2或NULL显示灰色)(1)在VFP的循环程序中,可以立即跳出循环的语句为()A)gotoB)skipC)loopD)exit☆(2)有关类、对象、事件,下列说法不正确的是()A)对象用本身包含的代码来实现操作B)对象是类的实例C)类刻画了一组具有相同结构、操作并遵守相同规则的对象D)事件是一种预先定义好的特定动作,由用户或系统激活。☆☆(3)在创建对象时发生()事件A)Init(B)Click(C)Load(D)GotFocusE)InteractiveChangeF)Valid☆☆(4)下列几组控件中,均为容器类的是()(A)表单、列、组合框(B)页框、页面、表格(C)列表框、列、下拉列表框(D)表单、命令按钮组、文本框E)表单、命令按钮组、OLE控件(链接类控件)☆(5)在程序中不需要使用public等命令明确声明和建立,可直接使用的内存变量是(C)A)局部变量B)公共变量C)私有变量D)全局变量☆☆(6)如a=”1”,b=”2”,x12=”email”,m=”my”,m+x&a.&b的显示结果是()A)emailB)myemailC)myemail12D)email12☆(7)在INPUT、ACCEPT和WAIT三个命令中,必须要以回车键表示输入结束的命令是A)INPUT、ACCEPTB)INPUT、WAITC)ACCEPT、WAITD)INPUT、ACCEPT和WAIT(9)下列命令中,不能终止程序运行的命令是()A)closeB)suspendC)quitD)wait(10)在程序中,用private语句定义的内存变量有以下特性()A)可以在所有过程中使用B)只能在定义该变量的过程中使用C)只能在定义该变量的过程中及本过程所嵌套的过程中使用D)只能在定义该变量的过程中及该过程所嵌套的过程中与相关数据库一起使用☆(11)设当前不存在任何内存变量,在命令窗口中执行“privatex“,则x变量被定义为()A)全局变量,并自动赋值为.F.B)区域变量C)私有变量,并自动赋值为.F.D)变量没有产生(12)面向对象程序设计的主要结构特点之一是()A)程序中的一切操作都是通过调用函数来实现的。B)程序中的一切操作都是通过定义函数来实现的。C)程序中的一切操作都是通过向对象发送消息来实现的。D)程序中的一切操作都是通过定义类来实现的。(13)类和对象之间的关系是____________。A)定义和被定义的关系B)调用和被调用的关系C)类即是对象数组D)抽象和具体的关系(14).下列是面向对象系统的特性是____________。A)封装性B)二义性C)可重用性D)完整性☆☆(15).在下面关于面向对象的叙述中,错误的是。A)每个对象在系统中都有唯一的对象标识B)事件作用于对象,对象识别事件并作出相应反应C)一个子类能够继承其所有父类的属性和方法D)一个父类包括其所有子类的属性和方法☆☆(16).下面关于属性、方法和事件的叙述中,错误的是______________。A)属性用于描述对象的状态,方法用于表示对象的行为B)基于同一个类产生的两个对象可以分别设置自己的属性值C)事件代码也可以像方法一样被显式调用D)在新建一个表单时,可以添加新的属性、方法和事件☆☆17、下列说法中,错误的是()A)事件既可以由系统引发,也可以由用户激发B)事件集合不能由用户创建。是唯一的C)事件代码既能在事件引发时执行,也能够像方法一样被显示出来D)在容器对像的嵌套层次里,事件的处理应遵循独立性原则,即每个对象识别并处理属于自己的事件☆18、在对象方法的引用中,正确的表示为()A)ThisForm.CommandlB)ThisForm.Commandl.CaptionC)ThisForm.ReleaseD)ThisForm.Commandl.Caption=”确定”☆☆19、下列关于事件的说法,错误的是()A)一种预先定义好的特定动作,由用户或系统激活B)VFP基类的事件是系统预先定义好的,是唯一的C)VFP基类的事件可以由用户自定义D)可以激活事件的用户动作包括击键、单击鼠标、移动鼠标等☆20、任何对象都有自己的属性,下列关于属性的叙述中,正确的选项是()。(A)属性是对象的固有特征,用各种类型的数据来表示。(B)属性是对象的内部特征,用各种类型的数据来表示。(C)属性是对象的外部特征,用各种类型的数据来表示。(D)属性是对象的固有方法,用各种程序代码来表示。21、以下关于VFP类的说法,不正确的是()A)类具有继承性和封装性B)用户必须给基类定义属性,否则出错C)子类一定具有父类的全部属性D)用户可以按照已有的类派生出多个子类22、下列关于“类”的描述,错误的是()A)一个类包含了相似的有关对象的特征和行为方法B)类只是实例对象的抽象C)类可以按所定义的属性、事件和方法进行实际的行为操作D)类并不进行任何行为操作☆☆23、类是一组具有相同属性和相同操作的对象集合,类之间共享属性和操作的机制称为()A)多态性B)动态绑定C)静态绑定D)继承24、下列关于面向对象程序设计(OOP)的叙述,错误的是()A)OOP的中心工作是程序代码的编写成部分B)OOP以对象及其数据结构为中心展开工作C)OOP以方法表现处理事物过程D)OOP以对象表示各种事物,以类表示对象的抽象26、在VFP系统中,以下关于事件的叙述错误的是()A)事件是某个对象可以识别和响应的某些行为和动作B)事件不能适用于多种控件C)事件是通过用户的操作行为引发的D)当事件发生时,将执行包含在事件过程中的全部代码☆27、以下不属于面向对象程序设计的特点的是()A)单一性B)继承性C)封装性D)多态性28、关于VFP类的说法,以下选项()是不正确的。(A)类具有继承性和封装性(B)用户必须给基类定义属性,否则出错。(C)子类一定具有父类的全部属性。(D)用户可以按照已有的类派生出多个子类。29、命令按钮是()。(A)控件(B)容器(C)控件类对象(D)容器类对象☆☆30、下列关于对象的说法,正确的选项是()。(A)对象只能表示结构化的数据(B)对象一定有一个对象标识符(C)对象可属于一个对象类,也可不属于任何对象类(D)对象标识符在整个使用期内可随时改变。31、在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体,封装是一种()技术。(A)组装(B)产品化(C)固体(D)信息隐藏☆32、在VFP中,表单是指()。(A)人机交互时的窗体界面(B)数据库的查询结果的列表(C)数据表中的各个记录的清单(D)数据库中各数据表的清单33、在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体,封装的目的是使对象的()分离。(A)定义和实现(B)设计和实现(C)设计和测试(D)分析和定义☆34、某表单FrmA上有一个命令按钮组CommandGroup1,命令按钮组中有4个命令按钮:Cmdtop、CmdPrior、CmdNext、CmdLast。要求按下CmdLast时,将按钮CmdNext的Enabled属性设为.F.,则在按钮CmdLast的Click事件中应加入()命令A)This.Enabled=.F.B)This.Parent.CmdNext.Enabled=.F.C)This.CmdNext.Enabled=.F.D)Thisform.CmdNext.Enabled=.F.35、下列有关命令按钮的Click事件的叙述,正确的是()A)用鼠标双击对象时引发B)用鼠标单击对象时引发C)用鼠标右键单击对象时引发D)用鼠标右键双击对象时引发☆☆36、下面关于数据环境和数据环境中2个表之间关系的叙述中,()是正确的。A)数据环境是对象,关系不是对象B)数据环境不是对象,关系是对象C)数据环境是对象,关系是数据环境中的对象D)数据环境和关系都不是对象37、在表单设计器环境下,要选定表单中某选项组里的某个选项按钮,可以()A)单击选项按钮B)双击选项按钮C)先用鼠标右键单击选项组,并选择“编辑”命令,然后再单击选项按钮D)B和C都可以38、关于表格控件,下列说法中不正确的是()A)表格的数据源可以是表、视图、查询B)表格中的列控件不包含其他控件C)表格能显示一对多关系中的子表D)表格是一个容器对象☆39、假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,下面()是正确的A)This.ThisForm.Text1.ValueB)This.Parent.Parent.Text1.ValueC)Parent