为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

VF等级笔试试题及答案2009-02vfp参考答案

2018-09-08 8页 doc 103KB 15阅读

用户头像

is_645734

暂无简介

举报
VF等级笔试试题及答案2009-02vfp参考答案 二级Visual FoxPro语言笔试试题(B) (共100分) 注意事项:1. 请将一,二题的答案填涂到答题卡。 2. 请将三、四、五题的答案做在答题纸上。 一、单项选择题(每小题1分,共30分) 1. 表达式LEN('ABC'-'DE')的值是( C )。 (A) 1 (B) 3 (C) 5 (D) 7 2. 数据表中逻辑型、日期型、备注型字段的宽度分别为( D )。 (A) 2,8,8 (B) 2,4,10 (C) 1,8,任意 (D) ...
VF等级笔试试题及答案2009-02vfp参考答案
二级Visual FoxPro语言笔试试题(B) (共100分) 注意事项:1. 请将一,二题的答案填涂到答题卡。 2. 请将三、四、五题的答案做在答题纸上。 一、单项选择题(每小题1分,共30分) 1. 达式LEN('ABC'-'DE')的值是( C )。 (A) 1 (B) 3 (C) 5 (D) 7 2. 数据表中逻辑型、日期型、备注型字段的宽度分别为( D )。 (A) 2,8,8 (B) 2,4,10 (C) 1,8,任意 (D) 1,8,4 3. 查询设计器中“筛选”选项卡对应的SQL短语是(D ) (A) ORDER BY (B) JOIN (C) INTO (D)WHERE 4. 打开数据库的命令是( A ) (A) modify database (B) open database (C) create database (D) delete database 5. 下列命令中,不能求出当前表中所有记录中正确的是( D ) (A) COUNT all to x (B) RECCOUNT () (C) CALCULATE CNT() to x (D) SUM TO COUNT 6. 关于Visual FoxPro的数组,下面说法中正确的是( B ) (A) 使用数组之前都要先声明或定义 (B) 数组中各数组元素的数据类型可以不同 (C) 定义数组后,系统为数组的每个数组元素赋以数值0 (D) 数组元素的下标下限是0 7. 已知st=“畅通森林宜居重庆”,以下表达式运行结果为字符串“森林重庆”的是( D ) (A) ‘森林’$st and len(st) (B) left(st,5,4)+space(4) (C) At(‘森林’,st)+left(st,4) (D) Substr(st,5,4)+right(st,4) 8. 在Visual FoxPro中,利用zap命令对当前数据表的记录作了删除操作,则当前数据表的recno(),eof(),bof()的值为( A ) (A)1 .T. .T. (B)0 .T. .T. (C)1 .T. .F. (D)0 .T. .F. 9. 表单文件的扩展名是(D ) (A)frx (B)cdx (C)mpr (D)scx 10. 已知D="04/25/2009",问表达式LEN(SPACE(5))+&D的计算结果是(A )。 (A) 数值型 (B)字符型 (C) 日期型 (D)数据类型不匹配 11. 已知a=date(),以下正确的表达式是( D ) (A) vartype(a)+7 (B) vartype(ab)-90 (C) vartype(ab)+a (D) vartype(a)- '9' 12. 函数STR(-345.6.3)的返回值是( D ) (A)-345 (B)-34 (C)345 (D)*** 13.语句Release All Like X?能够删除的内存变量是( C ) (A) _X (B) X_007 (C)xx (D)x123 14.Viaual FoxPro数组变量的维数有( B ) (A)只有一维 (B)一维和二维 (C)只有二维 (D) 一维、二维、三维 15.将数据库表从数据库移出后,该表( A ) (A)成为自由表 (B)被删除 (C)放入回收站 (D)被清空 16. 使用USE命令打开一个数据表后,若要显示其中的记录,可使用的命令是( A )。 (A)BROWSE (B)SHOW (C)VIEW (D)OPEN 17. 在已打开的表文件中有“学号”字段,此外又定义了一个内存变量“学号”,要把内存变量的“学号”的值传送给当前记录的学号字段,应用使用命令( B ) (A) 学号=M->学号 (B) REPLACE 学号 WITH M->学号 (C) STORE M->学号 TO 姓名 (D) GATHER FROM M->学号 FILESDS 学号 18. 在Visual FoxPro中,使用SQL命令将职工表ZG.DBF中的职工年龄AGE字段的值增加1岁,应该使用的命令是 (D) (A)REPLACE AGE WITH AGE+1 (B)UPDATE AG AGE WITH AGE+1 (C)UPDATE SET AGE WITH AGE+1 (D)UPDATE ZG SET AGE=AGE+1 19.从学生档案表XSDA.DBF中查询所有姓赵的学生信息,可使用SQL语句是( A ) (A) SELECT * FROM ZGXX WHERE LEFT(姓名,2)="赵" (B) SELECT * FROM ZGXX WHERE RIGHT(姓名,2)="赵" (C) SELECT * FROM ZGXX WHERE SUBSTR(姓名,2)="赵" (D) SELECT * FROM ZGXX WHERE STR (姓名,2)="赵" 20. 从学生表中查询所有年龄大于22岁的学生并显示其姓名,其SQL命令是( C ) (A) SELECT 年龄FROM 学生表 WHERE 姓名>22 (B) SELECT 年龄FROM 学生表 WHERE max(姓名) (C) SELECT 姓名FROM 学生表 WHERE 年龄>22 (D) SELECT 姓名FROM 学生表 WHERE between(年龄,22,20) 21. 下列选项中,不属于SQL数据定义功能的是( A ) (A) SELECT (B) CREATE (C) ALTER (D) DROP 22. SQL查询语句中ORDER BY子句的功能是( A ) (A) 对查询结果进行排序 (B)分组统计查询结果 (C) 限定分组检索结果 (D) 限定查询条件 23. 下面是关于表单数据环境的叙述,其中错误的是( B ) (A)可以在数据环境中加入与表单操作有关的表 (B)数据环境是表单的容器 (C)可以在数据环境中建立表之间的联系 (D)表单自动打开其数据环境中的表 24.执行下列命令后,屏幕显示结果是( C ) a="加强逻辑思维训练好" b=lem(a)/2 ?substr(a,iif(mod(b,-2)=-1,b,b+1),4) (A)加强 (B)逻辑 (C)思维 (D)训练 25.下列程序的运行结果是( A ) Dimension x(6) Store l to x(1),(x)2 For i=3 to 5 X(i)=2*x(i-1) Endfor ?x(6) (A).F. (B).T. (C)16 (D)32 26.在Visual Foxpro 中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为( D ) (A)ThisForm.Refresh (B)ThisForm.Delete (C) ThisForm.Hide (D)ThisForm.Release 27.创建对象时发生的事件是( C ) (A)LostFocus (B)InteractiveChange (C) Init (D)load 28.用二维表来表示数据实体之间的联系的数据模型是( A ) (A)关系型 (B)结构型 (C)层次型 (D)网状型 29.以下程序段执行后,数据记录指针指向(B) dimension a(3) a(1)='top' a(2)='bottom' a(3)='skip' go &a(2) (A)表头 (B)表的末记录 (C)第5条记录 (D)第2条记录 30.在Visual foxpro中,下列各项的数据类型所占空间的字节数相等的是( D ) (A)日期型和逻辑型 (B)日期型和通用型 (C)逻辑型和备注型 (D)备注型和通用型 二.判断分析题(每小题1分,共10分。本题答案请填涂在答题卡第三题处) 1.命令 ?a=1 和命令 STORE 1 toa,b,c 都可以给内存变量 a 斌 1 值( F ) 2.只有数据库表才能建立主索引( T ) 3.一个表可在多个工作区中打开( F ) 4.命令 WAIT TO M的作用是等待输入一个字符到变量M中( T ) 5.在SQL查询中,不允许重新指定列的顺序 F 6.在SQL查询语句中,TOP短语不需要与ORDER BY 短语配对使用( F ) 7.可以通过查询来更新源表中的数据。(F) 8.投影运算就是在一个关系中选出满足指定条件的那些记录( F ) 9.逻辑删除记录,形式上就是在记录的前面加上删除标记“*” T 10.LOCATE 命令既可以在已打索引的数据表中查询,也可以在关闭索引(或无索引)的数据表中查询( T ) 三.程序填空题(每空2分,共20分) 1.利用文本框、标签控件和命令按钮控件设计如图1所示表单,表单界面及command1控件的click事件代码如下所示。执行该表单时,当向Text1,Text2中分别输入字符:32,48后单击command1,则label2,处显示的内容是16,请完善程序。 command1控件的click事件代码: ma=va1(THISFORM.Text1.Value) mi=va1(THISFORM.Text2.Value) DO WHILE___①________ Tempmin=mi Mi=ma%mi Ma=tempmin ENDDO THISFORM.Labe12.Caption=____②_______ 2.设图书管理数据库中有一个图书表,其结果如下: 图书表(总编号/C,分类号/C,书名/C,作者/C,出版单位/C,单价/N) 试对实现以下功能的SQL语句填空。 1 查询出版单位包括:“重庆”和“教育”的图书。 SELECT书名,作者,出版单位 FROM 图书表 WHERE__③_____ “重庆%”and 出版单位1ike “%教育%” 2 查询各个出版单位的图书的最高单价和册数。 SELECT出版单位 __④_____ count(*) FROM 图书表___⑤____ 3.一数据表RZ.DBF中有两个日期型字段D1、D2和一个数值型的字段X,每一条记录都包含两个日期(存放在字段D1和D2中)。以下程序功能是:计算每条记录的D1,D2两个日期的相差的天数,即两个日期相差的绝对值,并将结果存放在该记录的字段X中。请填空完成。 *主程序main.prg *子程序 SUB.PRG ___⑥______ PROC SUB T=0 PARPMETERS R1,R2,TS SCAN TS=ABS(__⑧_____) DO SUB__⑦_____ RETURN REPLACE X WITH T ENDSCAN USE 4.有一学生表(学号/C/8、姓名/C/10、生日/D、 ……)。以下程序的功能是显示所有奇数月出生的学生名单,并统计出七月和九月的学生人数。请填空完成。 Use 学生表 S=0 Scan for month(生日)%2#0 ?学号,姓名 IF ___⑨______ S=S+1 Endif ____⑩_____ ?S Return 四、读程序写出运行结果(每小题5分,共20分) 1.如图2所示一表单。已知标签label1(左)、label2(右)的初值均为1,请写出当第三次单击“计算”按钮时,表单上的两个标签显示的数值是什么? “计算”按钮的Click事件代码 x=val(thisform.label1.caption) y=val(thisform.label2.caption) x=x+y y=y+x if x>1000 or y>1000 x=1 y=1 endif thisform.label1.caption=str(x,3) thisform.label2.caption=str(y,3) 2. 有如下程序,请写出运行结果: store 0 to n,s do while .t. n=n+1 s=s+n if n<5 loop else exit endif enddo ?s,n 3. 有如下程序,请写出运行结果: clear all public a,b a=1 b=1 do test1 ??a,b return procedure test1 private a a=2 local b do test2 ?a,b b=5 return procedure test2 a="建国" b="60年大庆" return 4. 已知数据表xs.dbf内容为: 姓名 性别 专业 周淘 女 计算机 章紫逸 女 环境 赵维 女 艺术 李奎 男 机械 季石雨 女 自动化 王保墙 男 管理 设计如图3所示表单,将xs.dbf添加到表单的数据环境中,表单运行后,单击命令按钮“Command1”,标签Label1将显示什么? command1控件的click事件代码: SELECT XS X="" THISFORM.LABEL1.CAPTION=X SCAN IF 性别="男" EXIT ENDIF IF 专业<>"计算机" X=X+姓名+space(2) ENDIF SKIP ENDSCAN THISFORM.LABEL1.CAPTION=X 五、程序设计题(每小题10分,共20分) 1. 设计有如图4所示表单,其功能是表单运行后在文本框text1中输入任意ASCII字符串,单击“筛选字母串”按钮,找出其中的字母串,在标签label2的位置显示出来。请编写命令按钮“筛选字母串”的Click事件代码。 图4 表单设计界面 参考代码: x=alltrim(thisform.text1.value) y="" for i=1 to len(x) x1=substr(x,i,1) if asc(x1)>=asc("a") and asc(x1)<=asc("z") or asc(x1)>=asc("A") and asc(x1)<=asc("Z") y=y+x1 endif endfor thisform.label2.caption=y 2.有两个学生数据表文件,其结构如下: 学生档案表stu.dbf:学号/C、姓名/C、性别/C。 学生成绩表scj.dbf:学号/C、数学/N、英语/N、语文/N、总分/N、奖学金/C。 按如下要求编写程序: 1 计算SCJ.DBF中的“总分”,并根据总分填写“奖学金”字段(总分>=360, 奖学金字段值为“一等”;360>总分>=340, 奖学金字段值为“二等”;其余奖学金字段值为“三等”)。 2 统计获一等奖学金的人数,并按如下格式输出: 获一等奖学金的学生名单 ************************ 学号 姓名 总分 —— —— —— —— —— —— 总计:———人 参考程序: VFP命令: SELECT 1 USE STU INDEX ON 学号 TAG XH SELECT 2 USE SCJ REPL ALL 总分 WITH 数学+英语+语文 SCAN DO CASE CASE 总分>=360 REPL 奖学金 WITH "一等" CASE 总分>=340 REPL 奖学金 WITH "二等" OTHERWISE REPL 奖学金 WITH "三等" ENDCASE ENDSCAN SET RELA TO 学号 INTO A ?" 获一等奖学金的学生名单" ? "*************************" ? " 学号 姓名 总分 " X=0 SCAN FOR 奖学金="一等" ? A.学号,A.姓名,总分 X=X+1 ENDSCAN ? "总计:",X, "人" CLOSE ALL RETURN SQL命令: UPDATE SCJ SET 总分=数学+英语+语文 UPDATE SCJ SET 奖学金="一等" WHERE总分>=360 UPDATE SCJ SET 奖学金="二等" WHERE总分<360 AND 总分>=340 UPDATE SCJ SET 奖学金="三等" WHERE总分<340 ?” 获一等奖学金的学生名单” ?”************************” SELECT STU.学号,姓名,总分 FROM STU,SCJ WHERE STU.学号=SCJ.学号 AND奖学金="一等" TO SCREEN SELECT COUNT(*) FROM SCJ WHERE 奖学金="一等" INTO ARRAY X ?”总计:”,X(1), ”人” 图1 设计界面 三、1. ①mi<>0 ②STR(ma,2) 三、2. ③出版单位 like ④MAX(单价) ⑤group by 出版单位 三、3. ⑥ USE RZ ⑦With D1,D2,T ⑧R1-R2 三、2. ⑨ month(生日)=7 or month(生日)=9 ⑩ endscan 图2 表单设计界面 四、1. 13 21 四、2. 15 5 四、3. 建国 . F. 1 60年大庆 四、4. 赵维 季石雨 图3 表单设计界面
/
本文档为【VF等级笔试试题及答案2009-02vfp参考答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索