大学vfp考试题库(大学vfp考试考什么)大学计算机二级等级考试 VFP考题在上找 (上机题和笔试题都有,还有考点精讲) 2008年9月全国计算机等级考试二级笔试试卷 Visual FoxPro数据库程序设计 (考试时间90分钟,满分100分) 一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是 A)12345ABCDE B)EDCBA54321 C )ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况 D)循环队列中元素的个数是由队头和队尾指针共同决定 (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是 A)O(N) B)O(n2) C)O(log2n) D)O(n log2n) (4)下列叙述中正确的是 A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是 A)控制流 B)事件驱动 C)模块调用 D)数据流 (6)在软件开发中,需求分析阶段可以使用的工具是 A)N-S图 B)DFD图 C)PAD图 D)程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是 A)一致性 B)分类性 C)多态性 D)标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是 A)一对一 B)一对多 C)多对一 D)多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是 A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 (10)有三个关系R、S和T如下: A B C m 1 3 R S T A B m 1 n 2 B C 1 3 3 5 由关系R和S通过运算得到关系T,则所使用的运算为 A)笛卡尔积 B)交 C)并 D)自然连接 (11)设置表单标题的属性是 A)Title B)Text C)Biaoti D)Caption (12)释放和关闭表单的方法是 A)Release B)Delete C)LostFocus D)Destory (13)从表中选择字段形成新关系的操作是 A)选择 B)连接 C)投影 D)并 (14)Modify Command命令建立的文件的默认扩展名是 A)prg B)app C)cmd D)exe (15)说明数组后,数组元素的初值是 A)整数0 B)不定值 C)逻辑真 D)逻辑假 (16)扩展名为mpr的文件是 A)菜单文件 B)菜单程序文件 C)菜单备注文件 D)菜单参数文件 (17)下列程序段执行以后,内存变量y的值是 x=76543 y=0 DO WHILE x0 y=x%10+y*10 x=int(x/10) ENDDO A)3456 B)34567 C)7654 D)76543 (18)在SQL SELECT查询中,为了使查询结果排序应该使用短语 A)ASC B)DESC C)GROUP BY D)ORDER BY (19)设a=”计算机等级考试”,结果为”考试”的表达式是 A)Left(a,4) B)Right(a,4) C)Left(a,2) D)Right(a,2) (20)关于视图和查询,以下叙述正确的是 A)视图和查询都只能在数据库中建立 B)视图和查询都不能在数据库中建立 C)视图只能在数据库中建立 D)查询只能在数据库中建立 (21)在SQL SELECT语句中与INTO TABLE等价的短语是 A)INTO DBF B)TO TABLE C)TO FOEM D)INTO FILE (22)CREATE DATABASE命令用来建立 A)数据库 B)关系 C)表 D)数据文件 (23)欲执行程序temp.prg,应该执行的命令是 A)DO PRG temp.prg B)DO temp.prg C)DO CMD temp.prg D)DO FORM temp.prg (24)执行命令MyForm=CreateObject(“Form”)可以建立一个表单,为了让该表单在屏幕上显示,应该执行命令 A)MyForm.List B)MyForm.Display C)MyForm.Show D)MyForm.ShowForm (25)假设有student表,可以正确添加字段“平均分数”的命令是 A)ALTER TABLE student ADD 平均分数 F(6,2) B)ALTER DBF student ADD 平均分数 F 6,2 C)CHANGE TABLE student ADD 平均分数 F(6,2) D)CHANGE TABLE student INSERT 平均分数 6,2 (26)页框控件也称作选项卡控件,在一个页框中可以有多个页面,页面个数的属性是 A)Count B)Page C)Num D)PageCount (27)打开已经存在的表单文件的命令是 A)MODIFY FORM B)EDIT FORM C)OPEN FORM D)READ FORM (28)在菜单设计中,可以在定义菜单名称时为菜单项指定一个访问键。规定了菜单项的访问键为“x”的菜单名称定义是 A)综合查询(x) B)综合查询/(x) C)综合查询(x) D)综合查询(/x) (29)假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1。命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是 A)This.ThisForm.Text1.Value B)This.Parent.Parent.Text1.Value C)Parent.Parent.Text1.Value D)This.Parent.Text1.Value (30)下面关于数据环境和数据环境中两个表之间关联的陈述中,正确的是 A)数据环境是对象,关系不是对象 B)数据环境不是对象,关系是对象 C)数据环境是对象,关系是数据环境中的对象 D)数据环境和关系都不是对象 (31)~(35)使用如下关系: 客户(客户号,名称,联系人,邮政编码,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,订购日期) 订购单名细(订单号,序号,产品号,数量) (31)查询单价在600元以上的主机板和硬盘的正确命令是 A)SELECT * FROM 产品 WHERE 单价600 AND (名称=’主机板’ AND 名称=’硬盘’) B)SELECT * FROM 产品 WHERE 单价600 AND (名称=’主机板’ OR 名称=’硬盘’) C)SELECT * FROM 产品 FOR 单价600 AND (名称=’主机板’ AND 名称=’硬盘’) D)SELECT * FROM 产品 FOR 单价600 AND (名称=’主机板’ OR 名称=’硬盘’) (32)查询客户名称中有“网络”二字的客户信息的正确命令是 A)SELECT * FROM 客户 FOR 名称 LIKE "%网络%" B)SELECT * FROM 客户 FOR 名称 ="%网络%" C)SELECT * FROM 客户 WHERE 名称 ="%网络%" D)SELECT * FROM 客户 WHERE 名称 LIKE "%网络%" (33)查询尚未最后确定订购单的有关信息的正确命令是 A)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单 WHERE 客户.客户号=订购单.客户号 AND 订购日期 IS NULL B)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单 WHERE 客户.客户号=订购单.客户号 AND 订购日期 = NULL C)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单 FOR 客户.客户号=订购单.客户号 AND 订购日期 IS NULL D)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单 FOR 客户.客户号=订购单.客户号 AND 订购日期 = NULL (34)查询订购单的数量和所有订购单平均金额的正确命令是 A)SELECT COUNT(DISTINCT 订单号),AVG(数量*单价) FROM 产品 JOIN 订购单名细 ON 产品.产品号=订购单名细.产品号 B)SELECT COUNT(订单号),AVG(数量*单价) FROM 产品 JOIN 订购单名细 ON 产品.产品号=订购单名细.产品号 C)SELECT COUNT(DISTINCT 订单号),AVG(数量*单价) FROM 产品,订购单名细 ON 产品.产品号=订购单名细.产品号 D)SELECT COUNT(订单号),AVG(数量*单价) FROM 产品,订购单名细 ON 产品.产品号=订购单名细.产品号 (35)假设客户表中有客户号(关键字)C1~C10共10条客户记录,订购单表有订单号(关键字)OR1~OR8共8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是 A)INSERT INTO 订购单 VALUES(‘OR5’,’C5’,{^2008/10/10}) B)INSERT INTO 订购单 VALUES(‘OR5’,’C11’,{^2008/10/10}) C)INSERT INTO 订购单 VALUES(‘OR9’,’C11’,{^2008/10/10}) D)INSERT INTO 订购单 VALUES(‘OR9’,’C5’,{^2008/10/10}) 二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。 注意:以命令关键字填空的必须拼写完整。 (1)对下列二叉树进行中序遍历的结果是 【1】 。 (2)按照软件测试的一般步骤,集成测试应在 【2】 测试之后进行。 (3)软件工程三要素包括方法、工具和过程,其中, 【3】 支持软件开发的各个环节的控制和管理。 (4)数据库设计包括概念设计、 【4】 和物理设计。 (5)在二维表中,元组的 【5】 不能再分成更小的数据项。 (6)SELECT * FROM student 【6】 FILE student 命令将查询结果存储在student.txt文本文件中。 (7)LEFT("12345.6789",LEN("子串"))的计算结果是【7】 。 (8)不带条件的SQL DELETE命令将删除指定表的【8】记录。 (9)在SQL SELECT语句中为了将查询结果存储到临时表中应该使用【9】短语。 (10)每个数据库表可以建立多个索引,但是【10】索引只能建立1个。 (11)在数据库中可以设计视图和查询,其中【11】不能独立存储为文件(存储在数据库中)。 (12)在表单中设计一组复选框(CheckBox)控件是为了可以选择【12】个或【13】个选项。 (13)为了在文本框输入时隐藏信息(如显示“*”),需要设置该控件的【14】属性。 (14)将一个项目编译成一个应用程序时,如果应用程序中包含需要用户修改的文件,必须将该文件标为【15】 。 2008年9月全国计算机等级考试二级VFP笔试参考答案 一、选择题 1-5 BDCAD 6-10 BABCD 11-15 DACAD 16-20 BBDBC 21-25 AABCA 26-30 DACBC 31-35 BDAAD 二、填空题 1、DBXEAYFZC 2、单元 3、过程 4、逻辑设计 5、分量 6、TO 7、"1234 " 8、全部 9、INTO CURSOR 10、主 11、视图 12、零 13、多 14、PASSWORDCHAR 15、排除 2007年9月全国计算机等级考试二级VFP笔试试卷 一、选择题(每小题2分,70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。 (1)软件是指 A)程序 B)程序和文档 C)算法加数据结构 D)程序、数据与相关文档的完整集合 (2)软件调试的目的是 A)发现错误 B)改正错误 C)改善软件的性能 D)验证软件的正确性 (3)在面向对象方法中,实现信息隐蔽是依靠 A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类 (4)下列叙述中,不符合良好程序设计风格要求的是 A)程序的效率第一, 清晰第二 B)程序的可读性好 C)程序中要有必要的注释 D)输入数据前要有提示信息 (5)下列叙述中正确的是 A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对 (6)下列叙述中正确的是 A)数据的逻辑结构与存储结构必定是一一对应的 B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D)以上三种说法都不对 (7)冒泡排序在最坏情况下的比较次数是 A)n(n+1)/2 B)nlog2 n C)n(n-1)/2 D)n/2 (8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A)219 B)221 C)229 D)231 (9)下列叙述中正确的是 A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库技术的根本目标是要解决数据的共享问题 C)数据库管理系统就是数据库系统 D)以上三种说法都不对 (10)下列叙述中正确的是 A)为了建立一个关系,首先要构造数据的逻辑关系 B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C)一个关系的属性名表称为关系模式 D)一个关系可以包括多个二维表 (11) 在Visual Foxpro中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为 A)向导 B)设计器 C)生成器 D)项目管理器 (12)命令?VARTYPE(TIME())结果是 A)C B)D C)T D)出错 (13)命令?LEN(SPACE(3)-SPACE(2))的结果是 A)1 B)2 C)3 D)5 (14)在Visual Foxpro中,菜单程序文件的默认扩展名是 A)mnx B)mnt C)mpr D)prg (15)想要将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令 A)SET CENTURY ON B)SET CENTURY OFF C)SET CENTURY TO 4 D)SET CENTURY OF 4 (16)已知表中有字符型字段职称和姓别,要建立一个索引,要求首先按职称排序、职称相同时再按性别排序,正确的命令是 A)INDEX ON 职称+性别 TO ttt B)INDEX ON 性别+职称TO ttt C)INDEX ON职称,性别TO ttt D)INDEX ON 性别,职称TO ttt (17)在Visual Foxpro中,Unload事件的触发时机是 A)释放表单 B)打开表单 C)创建表单 D)运行表单 (18)命令SELECT 0的功能是 A)选择编号最小的未使用工作区 B)选择0号工作区 C)关闭当前工作区的表 D)选择当前工作区 (19)下面有关数据库表和自由表的叙述中,错误的是 A)数据库表和自由表都可以用表设计器来建立 B)数据库表和自由表都支持表间联系和参照完整性 C)自由表可以添加到数据库中成为数据库表 D)数据库表可以从数据库中移出成为自由表 (20)有关ZAP命令的描述,正确的是 A)ZAP命令只能删除当前表的当前记录 B)ZAP命令只能删除当前表的带有删除标记的记录 C)ZAP命令能删除当前表的全部记录 D)ZAP命令能删除表的结构和全部记录 (21)在视图设计器中有,而在查询设计器中没有的选项卡是 A)排序依据 B)更新条件 C)分组依据 D)杂项 (22)在使用查询设计器创建查询是,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应该使用的选项卡是 A)排序依据 B)联接 C)筛选 D)杂项 (23)在Visual Foxpro中,过程的返回语句是 A)GOBACK B)COMEBACK C)RETURN D)BACK (24)在数据库表上的字段有效性规则是 A)逻辑表达式 B)字符表达式 C)数字表达式 D)以上三种都有可能 (25)假设在表单设计器环境下,表单中有一个文本框且已经被选定为当前对象。现在从属性窗口中选择Value属性,然后在设置框中输入:={^2001-9-10}-{^2001-8-20}。请问以上操作后,文本框Value属性值的数据类型为: A)日期型 B)数值型 C)字符型 D)以上操作出错 (26)在SQL SELECT 语句中为了将查询结果存储到临时表应该使用短语 A)TO CURSOR B)INTO CURSOR C)INTO DBF D)TO DBF (27)在表单设计中,经常会用到一些特定的关键字、属性和事件。下列各项中属于属性的是 A)This B)ThisForm C)Caption D)Click (28)下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是 SET TALK OFF INPUT”x=”TO x s=0 DO WHILE x!=0 s=s+MOD(x,10) ENDDO ?s SET TALK ON A)x=int(x/10) B)x=int(x%10) C)x=x-int(x/10) D)x=x-int(x%10) (29)在SQL的ALTER TABLE语句中,为了增加一个新的字段应该使用短语 A)CREATE B)APPEND C)COLUMN D)ADD (30)~(35)题使用如下数据表: 学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1) (30)查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是 A) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} AND 性别=”男” B) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} AND 性别=”男” C) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} OR 性别=”男” D) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} OR 性别=”男” (31)计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是 A) SELECT AVG(成绩) FROM 选课WHERE 姓名=”刘明” B) SELECT AVG(成绩) FROM学生,选课WHERE 姓名=”刘明” C) SELECT AVG(成绩) FROM学生,选课WHERE学生.姓名=”刘明” D) SELECT AVG(成绩) FROM学生,选课WHERE学生.学号=选课.学号 AND姓名=”刘明” (32)假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为”101”课程的平均成绩,正确的SQL 语句是 A) SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课WHERE 课程号=”101” GROUP BY 专业 B) SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=”101” GROUP BY 1 C) SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=”101” ORDER BY 专业 D) SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课WHERE 课程号=”101” ORDER BY 1 (33)查询选修课程号为”101”课程得分最高的同学,正确的SQL语句是 A) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩=ALL(SELECT 成绩 FROM 选课) B) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101”) C) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=”101”) D) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩=ALL(SELECT 成绩 FROM 选课 WHERE课程号=”101”) (34)插入一条记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和80,正确的SQL语句是 A)INSERT INTO 选课 VALUES(“02080111”,”103”,80) B)INSERT VALUES(“02080111”,”103”,80)TO 选课(学号,课程号,成绩) C)INSERT VALUES(“02080111”,“103”,80)INTO 选课(学号,课程号,成绩) D)INSERT INTO 选课(学号,课程号,成绩) FORM VALUES(“02080111”,”103”,80) (35)将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是 A)UPDATE选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102” B)UPDATE选课SET 成绩=92 WHERE学号=”02080110 AND课程号=”102” C)UPDATE FROM选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102” D)UPDATE FROM选课SET成绩=92 WHERE学号=”02080110” AND课程号=”102” 二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【1】 ~【15】序号的横线上,答在试卷上不得分。 注意:以命令关键字填空的必须拼写完整, (1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】 。 (2)在两种基本测试方法中,【2】 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。 (3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】 存储结构。 (4)对下列二义树进行中序遍历的结果为【4】 。 (5)在E-R图中,矩形表示【5】 。 (6)如下命令查询雇员表中“部门号“字段为空值的记录 SELECT * FROM 雇员WHERE部门号【6】 。 (7)在SQL的SELECT查询中,HAVING字句不可以单独使用,总是跟在【7】 子句之后一起使用。 (8)在SQL的SELECT 查询时,使用【8】 子句实现消除查询结果中的重复记录。 (9)在Visual FoxPro 中修改表结构的非SQL命令是【9】 。 (10)在Visual FoxPro中,在运行表单时最先引发的表单事件是【10】事件。 (11)在Visual FoxPro中,使用LOCATE ALL 命令按条件对表中的记录进行查找,若查不到记录,函数EOF()的返回值应是【11】 。 (12)在Visual FoxPro表单中,当用户使用鼠标单击命令按钮时,会触发命令按钮的【12】事件。 (13)在Visual FoxPro中,假设表单上有一选项组:○男 ○女,该选项组的Value属性值赋为0。当其中的第一个选项按钮“男“被选中,该选项组的Value属性值为【13】 。 (14)在Visual FoxPro表单中,用来确定复选框是否被选中的属性是【14】 。 (15)在SQL中,插入、删除、更新命令依次是INSERT、DELETE和【15】 。 2007年9月全国计算机等级考试二级VFP参考答案 一、选择题: 1-5 DBCAA 5-10 CCABA 11-15 BADCA 16-20 AAABC 21-25 BDCAA 26-30 BCADA 31-35 DBDAB 二、填空题: 1、无歧义性 2、白盒测试 3、顺序 4、ACBDFEHGP 5、实体集 6)IS NULL 7)GROUP BY 8)DISTINCT 9)MODIFY STRUCTURE 10)LOAD 11).T. 12)CLICK 13)1或"男" 14)value 15)Update VFP复习题3、 查询文件的扩展名(.qpr) 6、 ROUND()是( 四舍五入 )函数 7、 MAX()是( 最大值 )函数。 8、 结构化程序的三种最基本的结构是( 顺序 )( 选择 )( 循环) 9、 VFP中可以创建两种类型的视图分别是( 本地视图 )( 远程视图 ) 选择题: 1、 视图设计器窗口中创建表达式使用的选项卡是 (字段) 2、 CREATE DATABASE命令用来建立(数据库) 3、 一个别关系是一张二维表格,在VFP中,一个关系对应一个(表) 4、 在“查询设计器”窗口中不包括的选项卡是() 5、 关于查询与视图的区别 6、 扩展名为.pjx的文件是(项目文件) 7、 打开表文件的命令是(use 表名) 8、 VFP变量名有什么特点 9、 关于自由表的描述 10、 什么文件不能作为查询输出的目标。 11、 为了设置两个表之间的数据参照完整性,要求这两个表是(一对多关系) 急求三道有关VFP的题目。两道SQL编程,一道填空的答案1)select x.性别 , avg(s.大学语文) from 学生信息表 x left jion 学生成绩表 s on x.学号 = s.学号 group by x.性别; 2)select * from XSCJDA where 成绩 80 order by 成绩 asc; 3.1)insert into cx select 姓名,身高 from 学生信息表 where 身高1.60; 3.2) select 姓名,身高 from 学生信息表 where 出生日期 to_data(to_char('19870101','yyyymmdd')); 3.3)住校对否= 对 Visual Foxpro有那些经典例题我先给你一些VF的例题看看吧! Vfp--程序设计典型例题 Vfp题库:程序设计基础 典型例题 [例1] 在( )窗口中可以控制列表框内显示的变量种类。 A.跟踪窗口 B.监视窗口 C.局部窗口 D.调动堆栈窗口 分析:局部窗口用于显示模板程序中的内存变量,并显示它们的名称.当前取值的类型。它可以控制在列表内显示的变量类型。 答案c 例2下面选项中关于ACCEPT命令说法错误的是() A.ACCEPT命令格式是:ACCEPT[字符表达式] TO内存变量 B.该命令只接收字符串,但是用户在输入字符串时,必须要加上定界符 C如果不输入任何内容直接按回车键,系统就会把空串赋给指定的内存变量 D如果选用字符表达式,那么系统就会首先显该表达式的值,作为提示信息 分析:该命令只接收字符串,但用户在输入时不需要加定界符;否则,系统会把定界符当作字符串的一部分输出. 答案:B 例3下列关于过程的说法中不正确的是 A.过程文件可以放在任何程序文件代码的后面,也可以保存在称为过程文件的单独文件里 B.过程文件只包含过程,这些过程只能被过程文件调用 C.如果需要打开多个过程文件,可以在调用过程语句中加ADDITVE,那么在打开过程文件时, 并不关闭原先已打开的过程文件 D.关闭个别过程文件的命令格式是:RELESE PROCEDURE过程文件 分析:过程文件只包含过程,这些过程可以被任何其它程序调用.命令格式SETPOCEDURE TO[过程文件][ADDITIVE]就可以打开多个过程文件.当使用不带任何文件名的SET PROCEDURE TO命令时,将会关闭所有的过程文件,使用命令RELEASE PROCEDURE过程文件时,将关闭指定的过程文件. 答案:B 例4 在一个程序定义了的一些变量,选出局部变量 ( ) 1.PRG PUBLIC aI LOCAL a2,a3 SCORE'B'TO a4 LOCATE a5 A.a1 B.a2,a3 C.a4 D.a5 分析:A是公共变量,C是私有变量,D的命令和LOCATE相似,但不存在这样定义变量的命令.只有B才是定义了两个局部变量. 答案:B 例5 不需要先建立就可以使用的变量是 ( ) A.局部变量 B.公共变量 C.私有变量 D.数组 分析:私有变量是指在程序中直接使用,由系统自动隐含建立的变量.即没有通过PUBLIC 或LOCAL定义的变量.它的作用域是建立它的模块及其下属的各层模块.私有变量随着建立它的模块运行结束自动清除,不需要先建立就可以使用. 答案:C 「例6」可以设置表达式类型的断点窗口是 ( ) A.跟踪窗口 B.监视窗口 C.局部窗口 D.调用堆栈窗口 分析:监视窗口主要就是用来指定表达式在程序调试执行过程中的变化。要设置一个监视表达式,只需单击窗口中的“监视”文本框,然后输入表达式的内容,按回车键后表达式便添入文本框下方的列表框中。 答案:B 「例7」下列命令语句正确的是 ( ) A.INPUT〃请输入账号〃TO zh B.INPUT〔2001-03-01〕TO rq C.INPUT〃T〃TO sa D.INPUT〃∧2001-03-01〃TO zh 分析:B的正确写法是:INPUT〔∧2001-03-01〕TO rq;C的正确写法是:INPUT.T.TO sa。 答案:A 「例8」阅读下列程序,该程序的运行结果是 ( ) SET TALK OFF INPUT〃请输入A,B:〃TO A,B IF A〈 B T = A A = B B = T ENDIF DO WHILE B〈 〉0 T = MOD(A,B) A = B B = T ENDDO ?A SET TALK ON RETURN 运行时输入:12,8 A.2 B.4 C.12 D.8 分析:本程序的功能是求两个数的最大公约数。方法是用两个数中较小的去除较大的,然后将除数作为一次除的被除数,余数作为下一次除的除数,反复进行这样的操作,直到余数为零时为止。则最后一次除的除数,即为所给两个数的最大公约数。 答案:B 「例9」用于说明程序中所有内存变量都是局部变量的命令是 ( ) A.PRIVATE ALL B.PUBLIC ALL C.ALL=PRIVATE D.STORE PRIVATE TO ALL 分析:定义局部变量的语句有PRIVATE内存变量名表和PRIVATE ALL(LIKE/EXCEPT通配符)。在使用PRIVATE ALL本程序中所有内存变量都说明为局部变量。 答案:A (例10)在Visual FoxPro中,用于建立过程文件PROGI的命令是 ( ) A. CREATE PORGI B. MODIFY COMMAND PROGI C. MODIFY PROGI D. EDIT PROGI 分析: 在Visual FoxPro中,建立程序的命令是MODIFY COMMAND 答案:B 例11:一个过程文件最多可以包含128个过程,其文件扩展名是 ( ) A. PRG B. FOX C. DBT D. TXT 分析: 过程文件也是一种命令文件,扩展名为.PRG 答案:A 例12:有Visual FoxPro程序如下: SET TALK OFF USE CJ M - ZF=0 DO WHILE.NOT.EOF() M - ZF=M - ZF+ZF SKIP ENDDO ?M - ZF RETURN 其中数据库文件CJ.DBF中有2条记录,内容如下: XM ZF 1 李四 500.00 2 张三 600.00 运行该程序的结果应当是 A.1100 B.1000 C.1600 D.1200 分析:分析该程序的结果时,只要理解“M - ZF”的含义,程序就没有社么难度了。 答案:A 例13:在命令文件中,调用另一个命令文件。应使用命令 分析:在FoxPro系统中,LOAD命令用于将一个二进制文件调人内存,CALL命令执行一个已调人内存的二进制文件。PROCEDURE仅在程序中说明过程名,每个过程以PROCEDURE过程名开始,用PETURN结束,不是调用程序。要在命令文件中调用另一个命令文件应该使用命令DO命令文件名. 答案: DO〈命令文件名〉 [例14]有下列程序: PARAMETER A,B,C,D D=B* B-4*A*C DO CASE CASE D=O CASE D〈O D=O CASE D〉O D=2 CASE D=O D=1 ENDCASE 在主程序中执行如下命令: STORE 2 TO A,C DO SUB WITH A,B,C,D ?D D的值为————— 分析:执行主程序DO SUB WITH A,B,C,D时,把实参1,2,1,2传递给形参A,B,C,D。在执行过程 SUB中语句D=B*B-4*A*C后的D值为O,然后执行DO CASE/ENDCASE语句,条件CASE D=O成立,重新赋值D=1, 最后返回主程序时,把形参A,B,C,D的值1,2,1,1传给对应实参A,B,C,D此时D的值为1。 答案: 1 [例15]有如下程序: STORE O TO N,S DO WHILE.T. N=N+1 S=S+N IF N=1O EXIT ENDIF ENDDO ?”S=“+STR(S,2) 本程序的运行结果是————— 分析:本程序是无限次循环程序,有N的值来决定何时停止循环。程序的功能是求1到1O之间的所有整数之 和。可得程序运行的结果为S=55 答案:S=55 [例16]有如下程序: *主程序:MAIN。PRG SET TALK OFF CLEAR S=0 DO SUB WITH 10,S ?S RETU *子程序SUB。PRG PARAMETERS D1,D2 D1=D1+D1 D2=D1*2 RETURN 执行主程序后S的值是__________。 分析:DO...WITH语句中的实在参数除了可以是变量外,还可以是任意有数或表达式。当为常数时, 直接把值传给对应的形参;当为表达式时,先求其值后把其值传给形参。主程序中变量S的初值为0, S调用子程序SUB,将数值10和0对应传给子程序中的参数D1和D2,执行D1=D1+D1后,D1=20,再执行D2 =D1*2,D2=40,返回到主程序时D2将值回传给S。因此,在主程序执行?S时,屏幕显示40。 答案:40 [例17]设成绩库CJK.DBF中“数学”(数值型字段)这门课程的学分为4,其学分计算的方法如下: 数学>=90,学分值为4 80=数学90,学分值为3 70=数学80,学分值为2 60=数学70,学分值为1 数学60,学分值为0 计算任一学生数学这门课程的学分值的程序如下: SET TALK OFF USE CJK ACCEPT "输入学号:" TO XH XF=0 LOCATE FOR学号=XH DO CASE CASE______ XH=40 CASE______ XH=3 CASE__________ XF=2 CASE__________ XF=1 OTHERWISE XF=0 ENDCASE ?"学号:",XH ?"数学的学分值:",XF USE RETURN 分析:本程序的考核要点是DO CASE分支语句 答案:数学=90 数学=80 数学=70 数学=60 【例18】参数的两种传递方法是_______和_______。 分析:调用程序模块时,如果实参是常量或一般形式的表达式,系统会计算出实参的值,并把它们赋值 给相应的形参变量。这种情形称为按值传递。如果实参是变量,那么传递的将不是变量的值,而是变量 的地址。这时形参和实参实际上是同一个变量,在模块程序中对形参变量值的改变,同样是对实参变量 值的改变,这种情形称为引用传递。 答案:TO VALUE(按值传递),REFERENCE(按引用传递) 【例19】填空完成下列程序,要求该程序能够三次从右向左显示变量S内容的字幕程序。 CLEAR S=SPACE(80)+"关系数据库语言VFP计算机2级教程。关系数据库." +SPACE(60) N=0 ______ I=1 DO WHILE I160 @20,0SAY SUBSTR(S,I,80) H=INKEY(0.1,"h") I=I+2 _____ _____ ENDDO 分析:表达式(1)是给出循环的条件,表达试(3)给出循环体的递增形式。 答案:(1)DO WHILE N3,(2)ENDDO,(3)N=N+1 【例20】用两种循环步长值来求1+2+3+...50的值,请将程序填写完整。 程序一: S=0 FOR__(1)___ S=S+N ENDFOR ? S RETURN 程序二: S=0 FOR__(2)___ S=S+N ENDFOR ?S RETURN 分析:这是一个计数循环的例子,由以上两种方法可以看出,初值和终值的设定是随步长值不同而变化 的,在程序一中,由于步长为1,所以省略了。缺省时,步长值默认为1。 答案:(1)N=1 TO 50,(2)N=50 TO 1 STEP -1 [例21] 求30!,请将程序填写完整。 程序:N=1 I=I*N N=N+1 ENDDO ?I 分析:在进入循环前,必须组织好循环使累加器先赋初值勤,循环条件表达式中的控制变量也要根据 不同情况赋初值,因为循环的次数是和条件表达式中的控制变量所赋的初值密切相关的。循环体包括了 在循环体中的书写顺序也与循环的初始赋值有关。读者可以考虑一下,如果给N赋上班,那么DO WHILE 后面的条件表达式该怎么来写? 答案:N=30 [例22] 为了解决在子程序和主程序之间可能会出现变量的重复使用命令_______,这样可以使主程序中 的变量暂时在子程序中无效,而不改变它的值。 分析;为了避免子程序和主程序之间变量带来的问题,可以使主程序中使用命令PRIVATE隐藏主程序 中可能存在的变量,使得在子程序中暂时无效。该命令的语法格式是: PRIVATE内存变量表 答案:private内存变量表》 例23 统计银行客房关系表中,银行代码为001,并且存款金额大于1500元的客房人数,请将程序填写完整。 程序: clear open银行客户关系表exclusive browse all for银行代码=“001” count all to kh goto top num=0 for(1) if(2) num=num+1 endif skip endfor @2,30 say"银行代码为001,存款金额大于1500元的人数有:“num+”” endif use 分析:在该例中,for语句使用了循环变量1控制操作,道德计算出了数据表中所含记录个数num, 然后把它人微言轻循环变量的终值,使循环变量从1开始,多次加入循环变量步长,直到循环变量1大于 num时才结束循环。 答案:(1)I=1 to kh step1,(2)金额>“1500”and,银行代码=“001” 例24 下例是关于参数传递的程序,求出正确结果。 程序: clear store 3 to a,b store 2 to c,d do tub with a,b,c,d ?b store 4 to t2,t1 store 1 to t4,t3 do tub with t1,t2,t3,t3 ?t4 do tub with 6,6,3,b ?b procedure tub PARAMETER A,B,C,D B=A* A-4 *C* D DO CASE CASE B0 B=120 CASE B0 B=210 CASE B=0 B=100 ENDCASE RETURN 分析: 在程序开始对A,B赋值为3,对C,D赋值为2。然后把实参A、B、C、D传递给予程序TUB,根据表达式B=A*A-4*c*D 计算出结果为-7,所以输出结果为120,同样,以下程序执行时,根据表达式的计算结果,输出依次为1和6。 答案:结果显示在3行上,依欠为120,1,6 [例25] 根据输入的半和径值,计算圆的面积,请将程序填写完整。 程序: CLEAR R=0 SM=0 @12,15 SAY “输入圆半径” CET R READ IF R=0 EXIT ENDIF ———— @16,16 SAY“圆的面积为:”+ ALLTRIM(STR(SM)) ENDDO RETURN 计算圆面积的函数: FUNCTION AREA PARAMETERS A S=3.1415926*A*A RETURN 分析:该语句是实现对计算圆面积函数的调用,返回值赋给变量SM。这个程序所使用的是一个自定义函数,自定义函数和 子程序的区别就是自定义函数必须返回一个函数值,而子程序没有这个限制。自定义函数的编辑方法和子程序的编辑方法相同,只是要把子程序文件名改为自定义函数名。 需要注意的几点是:自定义函数能以独立的文件存储,也可包含在调用程序中作为它的一部分。如果[FUNCTION函数名]缺省,这表示该函数是一个独立的文件。另外,自定义函数不能与系统函数同名,也不能与内存变量同名。 答案:SM=AREA(R) 例26 当变量I在奇偶之间变化时,求出下面程序的输出结果。 程序: CLEAR I=O DO WHILE I10 IF INT(I/2)=I/2 ?"W" ENDIF ?"T" I=I+1 ENDDO 分析:该程序应用的是循环和条件嵌套的结构。 答案:W,T,T连续显示5次 [例27] 填空完成下列程序,仅接受输入Y和N的程序,否则程序结束。 DO WHILE .T. WAIT "请输入Y/N" TO AS IF UPPER(AS) "Y"AND UPPER(AS) "N" (1) ELSE (1) ENDIF ENDDO 分析:该例是一个条件循环,选用EXIT是强制推出循环条件,执行它能够立即跳出循环,执行ENDDO 后面的语句。选用LOOP则是一种强制缩短循环的语句,其功能是终止本次循环体语句的执行,把控制转到 循环结构的开始。 答案: (1)EXIT,(2)LOOP [例28] 当变量X的值变化时,依次显示其结果,注意循环体内的LOOP和EXIT语句。 程序: CLEAR X=3 DO WHILE .T. X=X+1 IF X=INT(X/3)*3 ?x ELSE LOOP ENDIF IF X10 EXIT ENDIF ENDDO RETURN 分析:INT()是取整数函数 如果循环体内有LOOP命令,那么当晕到LOOP时,就结束循环的本次执行,不再执行其后的语句,而是转回DO WHILE 处重新判断条件。 如果循环体包括EXIT命令,那么当遇到EXIT时,就结束该循环语句的执行,转去执行ENDDO后面的语句。 通常LOOP或EXIT出现在循环体内嵌套的选择语句时,根据条件来决定是LOOP回去,还是EXIT出去。 答案:依次显示为:6,9,12 [例29] 填空完成下列程序,求数绝对值的程序。 INPTU’请输入一个数:‘TO X ?STR(X)+“它的绝对值是:’+STR(f(x)) FUNCTION F (1) ——— IF T=0 T=T ELSE T=-T ENDIF RETURN T 分析:FUNCTION 是一个子函数,语句PARAMETERS是定义子函数里面的变量。 [例30] 如果说用DO命令来执行查询文件、菜单文件、那么文件名中必须名含——————。 分析:VISUAL FOXPRO 程序文件通过编辑、连接,可以产生不同的目标代码文件,这些文件具有不同的文件名。 当用DO 命令执行程序文件时,如果没有指定扩展名,系统将按下列顺序寻找程序文件的源代码或某种目标代码文件 执行:.EXE-.APP-.FXP-.PRG;但是用DO命令来执行查询文件、菜单文件时,那么文件名中必须包括扩展名。 答案:扩展名(.QBR或.MPR) [例31]打开银行客户关系表,输入一个控制口令控制程序的执行,若口令为1,则把 “银行代码”为“001”的所有记录加上删除标记;若口令为2,把“银行代码”为“002”的所有记录 加上删除标记;若口令为3,把“银行代码”为“003”的所有记录加上删除标记。请将程序填写完 整。 程序: CLEAR USE银行客户关系表EXCLUSIVE BROWSE LAST WATT“请输入你的选择:(1-3)”TO yhdm DO CASE CASE (1) DELETE ALL FOR 银行代码=“001” BROWSE ALL FOR银行代码=“001” RECALL CASE (2) DELETE ALL FOR 银行代码=“002” BROWSE ALL FOR 银行代码=“002” RECALL CASE (3) DELETE ALL FOR 银行代码=“003” BROWSE ALL FOR 银行代码=“003” RECALL ENDCASE BROWSE USE 分析:该程序执行时,依次判断语句中列出的条件,当碰到取值为真时就执行该条件下的语句序列。 答案:(1)yhdm=“1”,(2)yhdm=“2”,(3)yhdm=“3” 例32 按银行帐号显示存款记录,如果该帐号不存在,则会显示空记录,请将该程序 填写完整。 程序: CLEAR USE KH 帐号=SPASE(5) @10.4 SAY "请出入要查循学生的学号:” CET帐号 READ ---------------- USE 分析:该程序可以实现查询功能,但是它显示不出客户信息的异常情况,也不能向用户显示错误提示信息,而且每调用一次程序只能查询一个客户的情况。 答案:disp for 帐号=ALLTRIM(KH) 例 34 查询客户情况,如果查到了就显示客户的存款信息,查不到就什么都不显示,请将程序填写完整。 程序: CLEAR USE KH 帐号=SPACE(15) @ 10,4 SAY"请输入要查询的客户信息:" GET帐号 READ LOCATE FOR 帐号=ALLTRIM(帐号) IF (1) @ 6,10 SAY"帐号是"+帐号+"的客户存款情况为:" ?金额,存款类型 ENDIF USE 分析: 这是一个单边选择的程序,如果不满足条件,就自动执行下一条语句。 答案: NOT EOF() VFP 题目解答一、 单项选择题(12小题共12分) 1、在VFP中不允许出现重复字段值的索引是(C ) A)惟一索引和主索引 B) 惟一索引 C)侯选索引和主索引 D) 普通索引和惟一索引 2、打开一个表文件的命令是(B) A)OPTEN B)USE C)OPEN DATABASE D)USE DATABASE 3、LOCATE FOR 命令执行后指针一定指向( D ) A) TOP B)BOTTOM C) EOF D)视情况而定 4、SELECT-SQL语句是( B ) A)选择工作区语句 B)数据查询语句 C)选择标号语句 D)数据修改语句 5、SELECT-SQL语句的WHERE子句指明( B ) A)操作对象的联接条件 B)操作对象的选择条件 C)操作对象的投影条件 D)操作对象的分组条件 6、在创建数据库表结构时,给该表指定了主索引,这属于( c)完整性 A) 参照完整性 B)域完整性 C)实体完整性 D)自定义完整性 7、在VFP中,若在表之间的联系中设置了参照完整性规则并在删除规则中选择了“限制”,当删除父表中的记录时,系统反应是(D ) A)不做参照完整性检查 B)不准删除父表中的记录 C)自动删除子表中所有相关的记录 D)若子表中有相关的记录,则禁止删除父表中的记录 8、关于查询描述正确的是( C ) A)只能根据自由表建立查询 B) 只能根据数据库表建立查询 C) 可以根据自由表和数据库表建立查询 D) 以上都正确 9、关于视图描述正确的是(C ) A)可以根据查询建立视图 B)可以根据自由表建立视图 C)可以根据自由表和数据库表建立视图 D)可以根据数据库表建立视图 10、运行表单文件myForm.scx的命令是( B ) A) DO myForm.scx B)DO form myForm C) DO myForm D)以上A)B)C)都可以 11、SQL语句中修改结构的命令是( C) A)MODIFY TABLE B) MODIFY STRUCTURE C)ALTER TABLE D)ALTER STRUCTURE 12、SQL语句中删除表的命令是( D ) A) DELETE TABLE B) ERLAE TABLE C) DELETE DBF D) DROP TABLE 二、 填空题 (12小题共24分) 1、 SQL支持集合的并运算,运算符是 。 2、DELETE-SQL语句是 逻辑 删除记录。 3、SELECT-SQL语句为了将查询结果存放到表文件中应该使用 into table 短语。 4、使用视图可以查询数据库表,还可以 更新 数据库表。 5、数据库表之间的关联通过主表的 主 索引和子表的 普通 索引实现。 6、实现表之间临时关联的命令是 set relation to 7、在表设计器中创建的索引都存放在扩展名为 .cdx 索引文件中。 8、属性用来表示对象的状态,方法用来描述对象的 。 9、在VFP中的类一般可分为 容器类和控件类 两种类型。 10、当过程执行到RETURN命令时,若RETURN命令不带表达式,则返回 .t. 。 11、查询设计器中的 排序依据 选项卡对应于SQL -SELECT语句中的ORDER BY短语。 12、若在子程序中使用的PRIVATE命令右侧有与上级程序同名的变量,则使上级程序中的这些变量在子程序中 被隐藏 。 提问者: snowys VFP数据库计算机二级考试的一道题首先,订单号这个表里面有订单号OR1~OR8且是关键字,说明这是唯一的,不可重复的,所以再次插入数据订单号不能使这几个,所以A和B排除。 其次,订单表是参照客户表的,所以在插入客户号时,只能是客户表中已经有的客户c1~C10,所以C11肯定是不行的。 综上所述D则是正确答案。 |