湘潭大学visual foxpro课程考试备考习题26.docx
《湘潭大学visual foxpro课程考试备考习题26.docx》由会员分享,可在线阅读,更多相关《湘潭大学visual foxpro课程考试备考习题26.docx(25页珍藏版)》请在冰豆网上搜索。
![湘潭大学visual foxpro课程考试备考习题26.docx](https://file1.bdocx.com/fileroot1/2023-7/9/419e25ee-c425-4b62-86bf-2b59d4fbf817/419e25ee-c425-4b62-86bf-2b59d4fbf8171.gif)
湘潭大学visualfoxpro课程考试备考习题26
试卷编号:
8262
所属语言:
VisualFoxpro
试卷方案:
VF_1004261709
试卷总分:
100分
共有题型:
8种
━━━━━━━━━━━━━━
一、填空共5题(共计10分)
━━━━━━━━━━━━━━
第1题(2.0分)题号:
1307
数据表文件ST.DBF中有字段:
姓名/C、出生年月/D、总分/N等,要创建姓名、
总分、出生年月的组合索引,其索引关键字表达式是【1】.
答案:
=======(答案1)=======
姓名+STR(总分)+DTOC(出生年月)
第2题(2.0分)题号:
1599
子表单【1】移出父表单.
答案:
=======(答案1)=======
不能
第3题(2.0分)题号:
1513
在ORDERBY子句的选择项中,DESC代表【1】输出.
答案:
=======(答案1)=======
降序
第4题(2.0分)题号:
1578
在浏览窗口中要追加新记录,可以使用【1】快捷键.
答案:
=======(答案1)=======
Ctrl+Y
第5题(2.0分)题号:
1225
利用查询设计器进行修改查询的命令是【1】.
答案:
=======(答案1)=======
MODIFYQUERY
━━━━━━━━━━━━━━
二、判断共9题(共计9分)
━━━━━━━━━━━━━━
第1题(1.0分)题号:
987
VF可以打开多个表,新打开的表自动成为当前表.
答案:
Y
第2题(1.0分)题号:
1134
使用SEEK命令必须对表建立索引.
答案:
Y
第3题(1.0分)题号:
1142
在命令窗口中执行QUIT命令不能关闭VisualFoxPro.
答案:
N
第4题(1.0分)题号:
1038
通用型不能作为内存变量的类型.
答案:
Y
第5题(1.0分)题号:
1145
表单文件保存着表单的各项规则和定义.
答案:
Y
第6题(1.0分)题号:
582
VisualFoxPro表达式CTOD("99/10/20")+10,结果为﹛99/10/30﹜.
答案:
Y
第7题(1.0分)题号:
612
表达式chr(65)-str(mod(1,7),2)的结果是'A1',串长=2.
答案:
N
第8题(1.0分)题号:
1153
您可以使用表向导去修改某一个已有的表的结构.
答案:
N
第9题(1.0分)题号:
1044
新建数据库的命令为CREATDATA.
答案:
Y
━━━━━━━━━━━━━━━━━
三、单项选择共10题(共计10分)
━━━━━━━━━━━━━━━━━
第1题(1.0分)题号:
3784
自定义函数的入口语句是().
A:
function
B:
endfunc
C:
enter
D:
goto
答案:
A
第2题(1.0分)题号:
3814
如果需要给当前表增加一个字段,应使用的命令是().
A:
APPEND
B:
MODIFYSTRUCTURE
C:
INSERT
D:
EDIT
答案:
B
第3题(1.0分)题号:
3095
VisualFoxPro中,将当前索引文件中的"姓名"设置为当前索引,
应输入的命令是().
A:
SETORDER姓名
B:
SET姓名
C:
SETORDERTOTAG姓名
D:
SETINDEXTO姓名
答案:
C
第4题(1.0分)题号:
3241
设已用命令DIMENSIONM(10)定义了一个数组,若要对其中的每
一个元素赋初值为0,则可以使用的命令是().
A:
M(10)=0
B:
M
(1)=0
C:
STORE0TOM
D:
STORE0TOM(10)
答案:
C
第5题(1.0分)题号:
3330
要存储员工上下班打卡的日期和时间,应采用哪种数据类型的字段().
A:
字符类型
B:
日期类型
C:
日期时间类型
D:
备注类型
答案:
C
第6题(1.0分)题号:
3597
定义一个报表后,会产生的文件有().
A:
报表文件(.frx)
B:
报表备注文件(.frt)
C:
报表文件(.frx)和报表备注文件(.frt)
D:
看情况而定
答案:
C
第7题(1.0分)题号:
3633
使用index命令创建候选索引时应选参数().
A:
ASCENDING
B:
DESCENDING
C:
CANDIDATE
D:
UNIQUE
答案:
C
第8题(1.0分)题号:
3110
表达式VAL(SUBS(″本年第2期″,7,1))*LEN(″他!
我″)的结果是().
A:
0
B:
2
C:
8
D:
10
答案:
D
第9题(1.0分)题号:
3347
由普通的日期格式改设为严格日期格式的命令为().
A:
setstrictdateto0
B:
setstrictdateto1
C:
setstrictdateon
D:
setstrictdateoff
答案:
B
第10题(1.0分)题号:
3308
下列命题中错误的是().
A:
关系中每一个属性对应一个值域
B:
关系中不同的属性可对应同一值域
C:
对应于同一值域的属性为不同的属性
D:
DOM(A)表示属性A的取值范围
答案:
C
━━━━━━━━━━━━━━━━
四、多项选择共5题(共计10分)
━━━━━━━━━━━━━━━━
第1题(2.0分)题号:
347
下面关于VisualFoxPro数组的叙述中,正确的是().
A:
用DIMENSION和DECLARE都可以定义数组
B:
VisualFoxPro只支持一维数组和二维数组
C:
一个数组中各个数组元素必须是同一种数据类型
D:
新定义数组的各个数组元素初值为.F.
答案:
ABD
第2题(2.0分)题号:
349
以下属于结构复合索引文件特点的有().
A:
在打开表时自动打开
B:
在同一索引文件中能包含多个排序方案
C:
在同一索引文件中能包含多索引关键字
D:
在添加、更改或删除记录时自动维护
答案:
ABCD
第3题(2.0分)题号:
350
在VisualFoxpro系统中,能移动记录指针的命令有().
A:
LIST
B:
CONT
C:
GO
D:
SKIP
答案:
ABCD
第4题(2.0分)题号:
344
如果要在屏幕上直接看到查询结果,"查询去向"可以选择().
A:
屏幕
B:
浏览
C:
临时表
D:
视图
答案:
AB
第5题(2.0分)题号:
252
VisualFoxpro中的表达式有().
A:
算术表达式
B:
字符表达式
C:
关系表达式
D:
逻辑表达式
答案:
ABCD
━━━━━━━━━━━━━━━━
五、程序填空共3题(共计15分)
━━━━━━━━━━━━━━━━
第1题(5.0分)题号:
795
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*功能:
查找XSDB表中计算机成绩最高分的学生,将其姓名和计算
*机字段的内容显示出来,如:
王迪98。
请在【】处添上适
*当的内容,使程序完整。
*-------------------------------------------------------
SETTALKOFF
USEXSDB
MAX=计算机
***********SPACE**********
【?
】
dowhile.NOT.EOF()
IFMAX<计算机
MAX=计算机
***********SPACE**********
【?
】
ENDIF
***********SPACE**********
【?
】
enddo
?
XM,MAX
USE
SETTALKON
RETURN
答案:
=======(答案1)=======
XM=姓名
=======(答案2)=======
XM=姓名
=======(答案3)=======
SKIP
=========或=========
SKIP1
第2题(5.0分)题号:
813
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*功能:
显示输出图形:
******
****
**
*请在【】处添上适当的内容,使程序完整。
*-------------------------------------------------------
SETTALKOFF
CLEA
I=1
***********SPACE**********
DOWHILE【?
】
J=1
DOWHILEJ<=7-2*I
***********SPACE**********
【?
】
j=j+1
ENDDO
***********SPACE**********
【?
】
?
ENDDO
SETTALKON
RETURN
答案:
=======(答案1)=======
I<4
=========或=========
4>I
=========或=========
I<=3
=========或=========
3>=I
=======(答案2)=======
?
?
"*"
=========或=========
?
?
[*]
=========或=========
?
?
'*'
=======(答案3)=======
I=I+1
=========或=========
I=1+I
=========或=========
STORI+1TOI
第3题(5.0分)题号:
855
*-------------------------------------------------------
*【程序填空】
*-------------------------------------------------------
*功能:
一个10磅重的板碎成4块,每块正好是一个整数磅,且用这
*4块当砝码能称出1~10磅的整数重量的物体。
编程求这4块
*的各自重量。
*请在【】处添上适当的内容,使程序完整。
*-------------------------------------------------------
SETTALKOFF
CLEAR
FORI=1TO7
***********SPACE**********
FORJ=ITO【?
】-I
***********SPACE**********
FOR【?
】=JTO8-I-J
***********SPACE**********
L=【?
】-I-J-K
FORP=1TO9
T1=-1
DOWHILET1<2
T2=-1
DOWHILET2<2
t3=-1
dowhilet3<2
t4=-1
dowhilet4<2
ifi*t1+j*t2+k*t3+l*t4=10
***********SPACE**********
【?
】i,j,k,l
endif
t4=t4+1
ENDD
T3=T3+1
ENDD
T2=T2+1
ENDD
t1=T1+1
ENDD
ENDF
ENDF
ENDF
ENDF
settalkon
return
答案:
=======(答案1)=======
7
=======(答案2)=======
K
=======(答案3)=======
10
=======(答案4)=======
?
━━━━━━━━━━━━━━━━
六、程序改错共3题(共计15分)
━━━━━━━━━━━━━━━━
第1题(5.0分)题号:
781
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
用循环程序计算XSDB.DBF中法律系学生的计算机平均成绩、
*英语平均成绩和奖学金总额。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
SETTALKOFF
USEXSDB
STORE0TOJSJ,YY,JXJ,RS
LOCAFOR系别="法律"
***********FOUND**********
DOWHILEFIND()
JSJ=JSJ+计算机
YY=YY+英语
JXJ=JXJ+奖学金
RS=RS+1
CONT
ENDDO
***********FOUND**********
?
JSJ,YY,JXJ
USE
SETTALKON
RETU
答案:
=======(答案1)=======
dowhileFOUN()
=========或=========
dowhile.NOT.EOF()
=========或=========
dowhile!
EOF()
=========或=========
dowhileNOTEOF()
=========或=========
dowhileFOUND()
=======(答案2)=======
?
JSJ/RS,YY/RS,JXJ
第2题(5.0分)题号:
817
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
一个偶数总能表示为两个素数之和。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
settalkoff
clear
a=72
b=3
dowhileb<=a/2
c=2
dowhilec<=sqrt(b)
ifb%c=0
exit
endif
c=c+1
endd
ifc>sqrt(b)
d=a-b
else
exit
endif
m=2
dowhilemifd%m=0
***********FOUND**********
loop
endif
***********FOUND**********
m=m-1
endd
ifm>sqrt(d)
?
str(a,3)+"="+str(b,3)+"+"+str(d,3)
endif
b=b+2
***********FOUND**********
endif
SETTALKON
retu
答案:
=======(答案1)=======
exit
=======(答案2)=======
m=m+1
=========或=========
m=1+m
=======(答案3)=======
endd
=========或=========
enddo
第3题(5.0分)题号:
841
*-------------------------------------------------------
*【程序改错】
*-------------------------------------------------------
*题目:
有如下数据库文件:
*ZY.DBF:
职员号N(3,0),姓名C(6),性别C
(2),职务C(10);
*DD.DBF:
订单号N(3,0),客户号N(3,0),职员号N(3,0),
*签订日期D(8),金额N(6,2)。
*给定程序MODI1.PRG的功能是:
根据客户号查询该客户的有关
*订单信息,结果按订单金额降序排序,并显示这些定单的总金额。
*修改并调试该程序,使之正确运行。
*-------------------------------------------------------
*注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*-------------------------------------------------------
SETTALKOFF
SETSAFETYOFF
SELECT1
USEzy
INDEXON职员号TOzyi
SELECT2
USEdd
INDEXON-金额TOddi
***********FOUND**********
SETRELATIONON-金额TOA
DOWHILE.T.
CLEAR
KH=202
?
"请输入客户号:
",kh
?
LOCATEFOR客户号=kh
***********FOUND**********
IF.NOT.EOF()
?
"没有该客户!
"
ELSE
?
"订单号"+"职员"+SPACE(5)+"签订日期"+"金额"
?
s=0
DOWHILE!
EOF()
?
STR(订单号,3)+SPACE(5)+A->姓名+SPACE(5)+DTOC(签订日期)+""+STR(金额,6,2)
***********FOUND**********
s=金额
CONTINUE
ENDDO
?
?
"总金额为:
"+STR(s,8,2)
ENDIF
?
WAIT"继续查询吗(Y/N)?
"TOp
IF!
UPPER(p)="Y"
EXIT
ENDIF
ENDDO
CLOSEDATA
SETSAFETYON
SETTALKON
RETU
答案:
=======(答案1)=======
SETRELATO职员号INTOA
=========或=========
SETRELATO职员号INTOzy
=======(答案2)=======
IFEOF()
=========或=========
IF.NOT.FOUND()
=========或=========
IF.NOT.FOUN()
=======(答案3)=======
s=s+金额
=========或=========
s=金额+s
=========或=========
STORs+金额TOs
=========或=========
STOR金额+sTOs
━━━━━━━━━━━━━━━━
七、程序设计共2题(共计10分)
━━━━━━━━━━━━━━━━
第1题(5.0分)题号:
711
*-------------------------------------------------------
*【程序设计】
*-------------------------------------------------------
*题目:
编程求一组数中大于平均值的数的个数。
*例如:
给定的一组数为1,1,1,1,1,2,2,2,2,2
*时,结果值为5。
*将结果存入变量OUT中。
*请按照题目要求,在下面编写程序代码。
*-------------------------------------------------------
SETTALKON
SETLOGERRORSON
dimearray(10)
array
(1)=1
array
(2)=3
array(3)=6
array(4)=9
array(5)=4
array(6)=23
array(7)=35
array(8)=67
array(9)=12
array(10)=88
OUT=-1
**********Program**********
**********End**********
DOYZJWITHOUT
SETLOGERRORSOFF
SETTALKOFF
答案:
----------------------
s=0
fori=1to10
s=s+array(i)
endf
s=s/10
n=0
forj=1to10
ifarray(j)>s
n=n+1
endif
endf
out=n
?
out
----------------------
第2题(5.0分)题号:
718
*-------------------------------------------------------
*【程序设计】
*-------------------------------------------------------
*题目:
编程将一个由四个数字组成的字符串转换为每两个数字间
*有一个空格的形式输出。
例如输入"4567",应输出
*"4□5□6□7"(□表示空格),将结果存入变量OUT中,要求
*用For循环语句实现。
*请按照题目要求,在下面编写程序代码。
*-------------------------------------------------------
SETTALKON
SETLOGERRORSON
str="4567"
OUT=""
**********Program**********
**********End**********
DOYZJWITHOUT
SETLOGERRORSOFF
SETTALKOFF
答案:
----------------------
spc=space
(1)
s=""
fori=1tolen(str)-1
s=s+subs(str,i,1)+spc
endf
s=s+subs(str,i,1)
out=s
?
out,len(out)
----------------------
━━━━━━━