VF历年真题附答案.docx
《VF历年真题附答案.docx》由会员分享,可在线阅读,更多相关《VF历年真题附答案.docx(66页珍藏版)》请在冰豆网上搜索。
VF历年真题附答案
第八章历年真题
2006-1二级VisualFoxPro笔试试题
一、单项选择题(每小题1分,共20分)
1.在VFP的命令窗口中,以下叙述正确的是()
(A)所使用的变量都是全局变量(B)不能运行任何程序
(C)不能打开数据表(D)不能修改执行过的命令
2.在数据库的三级模式中,真正存储数据的是()。
(A)模式(B)内模式(C)外模式(D)概念模式
3.在VFP的命令窗口中已经定义了若干个内存变量,若执行QUIT命令后,这些变量所保存的数据将()
(A)存入一个自动生成的内存变量文件中(B)自动转到磁盘存储器上保留
(C)随着系统的退出全部丢失(D)转为外存变量保存下来
4.通用字段的数据宽度为4,它存放的是().
(A)多媒体数据(B)文件名称(C)FPT指针(D)CDX指针
5.下列符号中,不是变量名的是()。
(A)"姓名"(B)性别(C)A100(D)AB
6.表达式SUBSTR(RIGHT(“ZIYUANGUANLI”,6),3,4)的结果()。
(A)ANLI(B)GUAN(C)YUAN(D)ZIYU
7.下列函数中,将字符串转换为数值的是()。
(A)STR()(B)VAL()(C)CHR()(D)MOD()
8.TIME()函数返回值的数据类型是()。
(A)数值型(B)字符型(C)逻辑型(D)日期型
9.执行A=″1.保护环境″和B=20两条赋值命令后,能够正确求值的表达式是()。
(A)RIGHT(A,4)+SUBSTR(B,2)(B)VAL(LEFT(A,1))+B
(C)A+B(D)SUBSTR(A,1,1)+B
10.设X=123,Y=678,H=”X+Y”,则表达式1+&H的值是()。
(A)802(B)数据类型不匹配(C)1+X+Y(D)679
11.DB(数据库)、DBMS(数据库管理系统)和DBS(数据库系统)三者之间的关系是()。
(A)DB包括DBMS和DBS (B)DBS包括DB和DBMS
(C)DBMS包括DBS和DB(D)DBS与DB和DBMS无关
12.既可输入字符、数值,又可输入日期、逻辑值的数据输入命令是()。
(A)WAIT(B)ACCEPT(C)INPUT(D)=INKEY(0)
13.有如下命令序列
X=1
Y=2
Z=3
?
Z=X+Y
执行最后一条命令后,显示的结果应该是()。
(A)X+Y(B)3(C).F.(D).T.
14.SELECT0的功能是()。
(A)选择工作区号最小的空闲工作区(B)选择工作区号最大的空闲工作区
(C)选择当前工作区号+1的工作区(D)随机选择一个工作区的区号
15.删除一个数据表文件XS.DBF,使用的命令是()。
(A)DELEXS.DBF(B)PACKXS.DBF
(C)ZAP(D)DELEFILEXS.DBF
16.将职工工资数据表中所有研究员的工资增加100元,应使用命令()。
(A)REPLACE工资WITH100FOR职称=”研究员”
(B)REPLACE工资WITH工资+100WHILE职称=”研究员”
(C)CHANGE工资WITH工资+100FOR职称=”研究员”
(D)REPLACE工资WITH工资+100FOR职称=”研究员”
17.与下列语句序列等效的删除命令是():
DOWHILE.T.
IF性别<>"男"
EXIT
ENDIF
IF 政治面目="群众"
DELETE
ENDIF
SKIP
ENDDO
(A)DELETEFOR性别="男".AND.政治面目="群众"
(B)DELETEWHILE性别="男".AND.政治面目="群众"
(C)DELETEFOR性别="男"WHILE政治面目="群众"
(D)DELETEWHILE性别="男"FOR政治面目="群众"
18.以下有关排序和索引的描述中,不正确的是()。
(A)排序和索引都是对数据表中的记录按关键字重新组织。
(B)排序过程占用空间大、所需时间长、需重新生成新的排序文件。
(C)排序文件空间小、索引文件空间大。
(D)索引是按关键字对数据表记录的逻辑排序。
19.已知商品数据表goods的结构为(商品代码c10,品名c30,单价n5,供应商代码c10)。
设商品代码的值是数字字符,以下哪条VFP-SQL语句能够实现功能:
查询商品代码的值是偶数,并且单价大于3000的全部商品信息()。
(A)listforsqrt(val(商品代码),2)=0and单价>3000
(B)selectwheremod(val(商品代码),2)#0and单价>3000
(C)select*fromgoodswheremod(val(商品代码),2)=0and单价>3000
(D)selectwheremod(val(商品代码),2)=0and单价>3000
20.在表单程序运行期间,控件对象(如:
命令按钮)获得焦点时,引发的事件是()。
(A)gotfocus(B)lostfocus(C)destroy(D)click
12345678910
ABCCAABBBA
11121314151617181920
BCDADDDCCA
二、多项选择题(每小题1分,共10分,错选、漏选均不得分)
1.VFP的特点有()。
(A)友好的窗口菜单界面(B)采用RUSHMORE优化技术
(C)安全机制强(D)库表文件的最大记录数为一亿条
(E)支持VFP-SQL语句
2.以下叙述正确的有()。
(A)使用COPYFILETO必须先打开文件。
(B)COPYTO命令可以同时复制备注文件。
(C)APPENDFROMSCORE.DBF需要事先打开SCORE.DBF数据表。
(D)SCATTER命令一次可将数据表内全部记录内容传送给指定数组。
(E)修改数据表结构可采用交互式命令MODIFYSTRUCTURE。
3.在VFP的语句中,可作为<范围>子句的选项有()。
(A)ALL(B)NEXTN(C)FOR(D)REST(E)RECORDN
4.内存变量的作用域有()。
(A)screen(B)command(C)local(D)public(E)private
5.在VFP的可视化程序设计中,控件CommandButton的主要属性是()。
(A)Caption (B)Click(C)Enabled(D)Move(E)Picture
6.以下表达式中,a,b为数值,其中合法的表达式有()。
(A)8-3=5(B){99/01/01}+15
(C)[8]+[3]>10(D)at(”ad”,”xyadvanad”)-len(”adadad”)
(E).not.(a=b).and.a-b>0orb=0
7.以下可以在数据表中增加一条空白记录的命令有()。
(A)insert(B)insertblank(C)appendblank
(D)insertbefore(E)replblank
8.下列命令是显示年龄为10的整数倍的全部在职职工记录,正确的有()。
(A)browseFORMOD(年龄,10)=0(B)browseFOR年龄/10=INT(年龄/10)
(C)browseFORSUBSTR(STR(年龄,2),2,1)="0"
(D)browseFOR年龄=20.OR.30.OR.40.OR.50.OR.60
(E)browseFORROUND(年龄,10)=0
9.以下哪些是程序设计的基本结构()
(A)分支(B)复制(C)选通(D)循环(E)顺序
10.数据库的数据模型一般分为()。
(A)选择(B)关系(C)连接(D)层次(E)网状
1ABE6ABDE
2BE7BC
3ABDE8ABC
4CDE9ADE
5ACE10BDE
三、判断分析题(每小题1分,共10分)
1.VFP的数组单元允许赋予各自不同的数据类型。
2.宏替换&的操作数只能用字符型变量。
3..?
IIF(1-6=5,"男","女")命令显示的是“男”。
4.日期型数据之间不能进行加法运算,但可以进行减法运算。
5.VFP工作区号的大小可以说明同时打开数据表的先后次序。
6.在命令按钮控件中,可以通过前导符\<设置按钮标题的快捷键。
7.关系模型的“码”指属性的取值范围。
8.在数学(M)、物理(P)、英语(E)三科中,均高于85分或者三科总分大于270分者,其逻辑表达式是:
M>85.AND.P>85.AND.E>85.AND.M+P+E>270
9.某数据库表的“字段有效性”规则为:
性别=“男”or性别=“女”。
它不仅限制“性别”字段的值域,而且限制“姓名”字段的值域。
10.VFP的数据统计命令:
calculateaver(工资),max(工资),min(工资)toa,b,c可以计算出工资数据表的全部职工的平均工资、最高工资和最低工资。
12345678910
√√×√×√××××
四、填空题(每空2分,共20分)
1.有一密码验证程序,其设计界面如图1,运行界面如图2。
基本功能是在2个文本框中输入两次密码,2个密码完全相同,验证通过(释放表单)。
否则,弹出警告窗口,报告“密码值有误,重新输入!
”,表单不释放。
以下为一些控件的属性设置和事件代码,请填空完成。
Text1.PasswordChar=①
Command1.ClickEvent
if②
=messagebox("密码值有误,重新输入!
")
return
endif
thisform.release
2.以下程序实现功能:
统计数据表stock99中,字段“编号”为奇数的“库存量”之和。
请填空完成。
Settalkoff
X=0&&库存量的和值
___________③________
dowhile.not.eof()
ifval(编号)/2<>______④
X=X+库存量
endif
___________⑤_______
enddo
?
"编号为奇数的库存量之和为:
",X
use
3.设有一数据表GZ.DBF,有一字段名为“实发工资”。
下面是按“实发工资”计算税金的程序,并将计算结果填入“税金”字段(假设职工最高实发工资为3000元),请将正确的内容填在下划线处。
***主程序MAIN.PRG******子程序SUB.PRG***
SETTALKOFFPARAMETERSSF,X
TAX=0X=0
USEGZDOCASE
DOWHILE.NOT.EOF()CASESF>=800.AND.SF<1300
SFGZ=实发工资X=(SF-800)*0.05
DOSUBWITH___⑥_____CASESF>=1300.AND.SF<2300
?
TAXB=SF-1300
______⑦________X=B*0.15+500*0.1+500*0.05
SKIPCASESF>=2300
ENDDOB=SF-2300
USEX=B*0.2+500*0.15+500*0.1+500*0.05
CANCEL______⑧______
RETURN
4.请完善TEST1.PRG程序,使得运行该程序后,将在屏幕上显示左边的乘法表:
1***TEST1.PRG***
24SETTALKOFF
369FOR______⑨_______
481216FOR______⑩_______
510152025?
?
STR(J*K,6);
61218243036ENDFOR
7142128354249?
816243240485664ENDFOR
91827364554637281RETURN
①“*”
②thisform.text1.value#thisform.text2.value
③USEstock99
④INT(val(编号)/2)
⑤SKIP
⑥SFGZ,TAX
⑦REPLACE税金WITHTAX
⑧ENDCASE
⑨J=1TO9
⑩K=1TOJ
五、读程序写出运行结果(每小题4分,共20分)
1.有一程序如下,写出运行结果:
SETTALKOFF
CLEAR
STORE1tof1,f2
FORk=1to4
?
f1,f2
f1=f1+f2
f2=f2+f1
ENDFOR
RETURN
2.设有一学生成绩数据表XSCJ.DBF如下,写出下面程序的运行结果。
学号课程号学期考试成绩补考成绩
199901300101601686.0
200010072310312491.0
199820513420734870.0
199912081512915689.0
199901300160623655.078.0
199901300160101875.0
200022100522510453.080.0
SETTALKOFF
CLEAR
USEXSCJ
k=0
DOWHILE.NOT.EOF()
IF学号="1999013001"
Ifk=0
?
学号,课程号,iif(考试成绩<60,补考成绩,考试成绩),“—”
k=k+1
else
?
?
课程号,iif(考试成绩<60,补考成绩,考试成绩),“—”
endif
endif
SKIP
ENDDO
USE
Return
3.已知cTest=”hello2008,Luck5688PIG”,写出以下程序的运行结果:
SETTALKOFF
CLEAR
cNumOnly=""&&空串
FORnCnt=1TOLEN(cTest)
cCharacter=SUBSTR(cTest,nCnt,1)
IFISDIGIT(cCharacter)
cNumOnly=cNumOnly+cCharacter
ENDIF
ENDFOR
?
cNumOnly
return
4.写出以下程序运行的结果:
SETTALKOFF
LocaliPROCEDUREM2
i=8Parametersj
C1="计算机等级考试"dowhilej>=i
DOM1?
?
substr(cd,j,2)
?
1998+i,right(C1,i)j=j-2
RETURNenddo
?
?
C1
PROCEDUREM1i=4
PUBLICcdRETURN
i=1
cd="校高市庆重"
doM2with9
RETURN
5.有两个数据表文件,其内容如下:
学生成绩表CJ.DBF:
学生学号、姓名对照表XM.DBF:
学号科目成绩学号姓名
99011马列原理7099011张三
99013马列原理8599012李四
99012马列原理6599013王五
99012英语70
99011英语85
99013英语70
执行以下程序段,写出运行结果:
settalkoff
selea
usexm
indeon学号toxh
seleb
usecj
indeon学号tocj1
setrelato学号intoa
listoff学号,a->姓名,科目,成绩forright(学号,2)=”12”
closedata
return
1.11
23
58
1321
2.19990130010160186.0–6062378.0–6010175.0--
3.20085688
4.重庆市高校计算机等级考试
2006等级考试
5.学号姓名科目成绩
99012李四马列原理65
99012李四英语70
六、程序设计题(20分)
某一库存管理数据库,有数据表:
实时库存量表xa,表结构(编号/c/5,品名/c/10,库存量/n/6);
入库和出库单据表xb,表结构(编号/c/5,标志/L/1,数量/n/5)。
其中,xb中的标志字段为“真”时代表入库,为“假”时代表出库。
试编写程序,根据xb表的数据,更新xa表的实时库存量。
具体算法是,如果标志字段为“真”,将数量增加到xa对应的商品库存量;如果标志字段为“假”,从xa对应的商品库存量中减去数量。
settalkoff
select1
USExb
select2
usexa
indexon编号toibh
select1
setrelaTO编号INTOB
gotop
dowhile.not.eof
(1)
sele2
if.not.eof
(2)
ifA->标志
repl库存量with库存量+a->数量
else
repl库存量with库存量-a->数量
endif
endif
SELE1
skip
enddo
closeall
retu
2007-1二级VisualFoxPro笔试试题
一、单项选择题(每小题1分,共30分)
1.在VisualFoxPro中,打开数据库的命令是()。
(A)OPENDATABASE<数据库名>(B)USE<数据库名>
(C)USEDATABASE<数据库名>(D)OPEN<数据库名>
2.在关系数据库中,为了简明地表达数据间的关系,采用的形式是( )。
(A)数组(B)层次(C)二维表格(D)矩阵
3.数据库系统的核心是()。
(A)编译系统(B)数据库(C)操作系统(D)数据库管理系统
4.要显示数据表中平均分超过90分或者不及格的全部女生记录,应当使用命令()。
(A)LISTFOR平均分>=90OR(性别=‘女’OR平均分<=60)
(B)LISTFOR平均分>90AND性别=‘女’OR平均分<60
(C)LISTFOR性别=‘女’.AND.平均分>90.AND.平均分<60
(D)LISTFOR性别=‘女’.AND.(平均分>90.OR.平均分<60)
5.在VisualFoxPro中,逻辑型、日期型和备注型数据的宽度分别是()。
(A)1,8,12(B)2,8,10(C)1,8,4(D)1,8,任意
6.在VisualFoxPro中,ZAP命令可以删除当前数据表文件的()。
(A)结构和所有记录(B)所有记录(C)满足条件的记录(D)有删除标记的记录
7.将已打开的当前数据表的所有记录拷贝(复制)到JR.DBF中的命令是()。
(A)COPYTOJR(B)COPYFILETOJR
(C)COPYSTRUTOJR(D)COPYSTRUEXTETOJR
8.自由表gz.dbf有姓名/C/8、出生年月/D、基本工资/N/6/2等字段,要建立以“姓名、基本工资”两字段的组合索引,其索引关键字表达式是()。
(A)姓名+基本工资(B)“姓名”+“基本工资”
(C)“姓名”+基本工资(D)姓名+str(基本工资,6,2)
9.查询设计器和视图设计器的主要不同表现在于()。
(A)查询设计器有"更新条件"选项卡,没有"查询去向"选项
(B)查询设计器没有"更新条件"选项卡,有"查询去向"选项
(C)视图设计器没有"更新条件"选项卡,有"查询去向"选项
(D)视图设计器有"更新条件"选项卡,也有"查询去向"选项
10.下面关于属性、方法和事件的叙述中,错误的是()。
(A)属性用于描述对象的状态,方法用于表示对象的行为
(B)基于同一类产生的两个对象可以分别设置自己的属性值
(C)事件代码也可以像方法一样被显式调用
(D)在新建一个表单时,可以添加新的属性、方法和事件
11.查询的默认输出去向是()。
(A)数据表(B)浏览(C)图形(D)报表
12.设表TXL.DBF中有20条记录,在VisualFoxPro命令窗口中执行以下命令序列,最后显示的是()。
USETXL
SKIP3
DELETE
SETDELETEDOFF
COUNTTON
?
N
(A)20(B)19(C)18(D)17
13.连续执行以下命令之后,最后一条命令的输出结果是()。
SETEXACTOFF
X="D"
?
IIF("D"=X,"ABC□□"-X,"ABC□□"+X)
(A)D(B)ABC(C)ABCD□□(D)ABC□□D
注释:
□代表空格
14.在下面的DO循环中,共要循环()次。
X=15
Y=20
DOWHILEY>=X
Y=Y-1
ENDDO
(A)20(B)15(C)6(D)5
15.设数据表文件在当前工作区已经打开,命令COPYTOTEMPFIEL<字段名表>完成的工作相当于关系运算()。
(A)连接(B)选择(C)自然连接(D)投影
16.在一个数据表中,有一个或若干个字段,它们的值可以惟一的标识一条记录,这样的字段称为()。
(A)主题字(B)标题(C)关键字(D)记录名
17.可以链接或嵌入OLE对象的字段类型是()。
(A)备注型字段(B)通用型和备注型字段
(C)通用型字段(D)任何类型的字段
18.下列常量不是字符常量的是()。
(A)"STRING"(B){STRING}(C)'STRING'(D)[STRING]
19.使用DIME