VF程序设计基础2.docx
- 文档编号:11640267
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:31
- 大小:36.58KB
VF程序设计基础2.docx
《VF程序设计基础2.docx》由会员分享,可在线阅读,更多相关《VF程序设计基础2.docx(31页珍藏版)》请在冰豆网上搜索。
VF程序设计基础2
第二章VisualFoxPro程序设计基础
2.12005年笔试真题
(1)在VisualFoxPro中,如果希望跳出SCAN…ENDSCAN循环体、执行
ENDSCAN后面的语句,应使用()[2005年4月选择题18]
A)LOOP语句B)EXIT语句C)BREAK语句D)RETURN语句
(2)下列表达式中,表达式返回结果为.F.的是()[2005年4月选择题27]
A)AT("A","BCD")B)"[信息]"$"管理信息系统"
C)ISNULL(.NULL.)D)SUBSTR("计算机技术",3,2)
(4)执行命令A=2005/4/2之后,内存变量A的数据类型是型[2005年4
月填空题7]
(3)下列程序显示的结果是[2005年4月填空题8]
s=1
i=0
dowhilei<8
s=s+i
i=i+2
enddo
?
s
(4)下列VisualFoxPro表达式中,运算结果为逻辑真的是()[2005年9月选择题
21]
A)EMPTY(.NULL.)B)LIKE('xy?
','xyz')
C)AT('xy','abcxyz')D)ISNULL(SPACE(0))
(5)依次执行下列命令后的输出结果是()[2005年9月选择题22]
SETDATETOYMD
SETCENTURYON
SETCENTURYTO19ROLLOVER10
SETMARKTO"."
?
CTOD("49-05-01")
A)49.05.01B)1949.05.01C)2049.05.01D)出错
(6)假设职员表已在当前工作区打开,其当前记录的"姓名"字段值为"张三"(字符
型,宽度为6),在命令窗口输入并执行下列命令:
姓名=姓名-"您好"
?
姓名
那么主窗口中将显示()[2005年9月选择题23]
A)张三B)张三您好C)张三您好D)出错
(7)下列程序段的输出结果是()[2005年9月选择题27]
ACCEPTTOA
VisualFoxPro程序设计基础
4
IFA=[123456]
S=0
ENDIF
S=1
?
S
RETURN
A)0B)1C)由A的值决定D)程序出错
(8)在VisualFoxPro中,可以使用语句跳出SCAN...ENDSCAN循环体
执行ENDSCAN后面的语句。
[2005年9月填空题8]
2.22006年笔试真题
(1)在VisualFoxPro中,宏替换可以从变量中替换出()[2006年4月选择题17]
A)字符串B)数值C)命令D)以上三种都可能
(2)设X="11",Y="1122",下列表达式结果为假的是()[2006年4月选择题19]
A)NOT(X==Y)AND(X$Y)B)NOT(X$Y)OR(X<>Y)
C)NOT(X>=Y)D)NOT(X$Y)
(3)在下列的VisualFoxPro表达式中,运算结果不为逻辑真的是()[2006年4月
选择题21]
A)EMPTY(SPACE(0))B)LIKE('xy*','xyz')
C)AT('xy','abcxyz')D)ISNULL(.NULL.)
(4)执行下列命令序列后,最后一条命令的显示结果是()[2006年4月选择题33]
DIMENSIONM(2,2)
M(1,1)=10
M(1,2)=20
M(2,1)=30
M(2,2)=40
?
M
(2)
A)变量未定义的提示B)10C)20D).F.
(5)表达式{^2005-10-310:
0:
0}-{^2005-10-39:
0:
0}的数据类型是。
[2006年4月填空题6]
(6)在VisualFoxPro中,将只能在建立它的模块中使用的内存变量称为。
[2006年4月填空题7]
(7)下列程序段执行以后,内存变量A和B的值是()[2006年9月选择题11]
CLEAR
A=10
B=20
SETUDFPARMSTOREFERENCE
DOSQWITH(A),B&&参数A是值传送,B是引用传送
?
A,B
VisualFoxPro程序设计基础
5
PROCEDURESQ
PARAMETERSX1,Y1
X1=X1*X1
Y1=2*X1
ENDPROC
A)10200B)100200C)10020D)1020
(8)从内存中清除内存变量的命令是()[2006年9月选择题12]
A)ReleaseB)DeleteC)EraseD)Destroy
(9)如果有定义LOCALdata,data的初值是()[2006年9月选择题15]
A)整数0B)不定值C)逻辑真D)逻辑假
(10)下列程序段执行以后,内存变量y的值是()[2006年9月选择题17]
x=34567
y=0
DOWHILEx>0
y=x%10+y*10
x=int(x/10)
ENDDO
A)3456B)34567C)7654D)76543
(11)下列的程序段中与上题的程序段对y的计算结果相同的是()
[2006年9月选择题18]
A)x=34567
y=0
flag=.T.
DOWHILEflag
y=x%10+y*10
x=int(x/10)
IFx>0
flag=.F.
ENDIF
ENDDO
B)x=34567
y=0
flag=.T.
DOWHILEflag
y=x%10+y*10
x=int(x/10)
IFx=0
flag=.F.
VisualFoxPro程序设计基础
6
ENDIF
ENDDO
C)x=34567
y=0
flag=.T.
DOWHILE!
flag
y=x%10+y*10
x=int(x/10)
IFx>0
flag=.F.
ENDIF
ENDDO
D)x=34567
y=0
flag=.T.
DOWHILE!
flag
y=x%10+y*10
x=int(x/10)
IFx=0
flag=.T.
ENDIF
ENDDO
(12)设X=6<5,命令?
VARTYPE(X)的输出是()[2006年9月选择题22]
A)NB)CC)LD)出错
2.32007年笔试真题
(1)在VisualFoxPro中,如果希望内存变量只能在本模块(过程)中使用,不能在上
层或下层模块中使用。
说明该种内存变量的命令是()[2007年4月选择题23]
A)PRIVATEB)LOCAL
C)PUBLICD)不用说明,在程序中直接使用
(2)?
AT("EN",RIGHT("STUDENT",4))的执行结果是[2007年4月填空题7]
(3)执行下列程序,显示的结果是[2007年4月填空题10]
one="WORK"
two=""
a=LEN(one)
i=a
DOWHILEi>=1
two=two+SUBSTR(one,i,1)
i=i-1
VisualFoxPro程序设计基础
7
ENDDO
?
two
(4)命令?
VARTYPE(TIME())结果是()[2007年9月选择题12]
A)CB)DC)TD)出错
(5)命令?
LEN(SPACE(3)-SPACE
(2))的结果是()[2007年9月选择题13]
A)1B)2C)3D)5
(6)想要将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令
()[2007年9月选择题15]
A)SETCENTURYONB)SETCENTURYOFF
C)SETCENTURYTO4D)SETCENTURYOF4
(7)在VisualFoxpro中,过程的返回语句是()[2007年9月选择题23]
A)GOBACKB)COMEBACKC)RETURND)BACK
(8)下面程序计算一个整数的各位数字之和。
在下划线处应填写的语句是
()[2007年9月选择题28]
SETTALKOFF
INPUT"x="TOx
s=0
DOWHILEx!
=0
s=s+MOD(x,10)
ENDDO
?
s
SETTALKON
A)x=int(x/10)B)x=int(x%10)
C)x=x-int(x/10)D)x=x-int(x%10)
2.42008年笔试真题
(1)有如下赋值语句:
a='计算机',b='微型',结果为"微型机"的表达式是()[2008年
4月选择题12]
A)b+LEFT(a,3)B)b+RIGHT(a,1)C)b+LEFT(a,5,2)D)b+RIGHT(a,2)
(2)在VisualFoxPro中,有如下内存变量赋值语句:
[2008年4月选择题13]
X={^2001-07-2810:
15:
20PM}
Y=.F.
M=$123.45
N=123.45
Z='123.24'
执行上述赋值语句之后,内存变量X、Y、M、N和Z的数据类型分别是()
A)D、L、Y、N、CB)T、L、Y、N、C
C)T、L、M、N、CD)T、L、Y、N、S
(3)下面程序的运行结果是()[2008年4月选择题14]
VisualFoxPro程序设计基础
8
SETEXACTON
S="ni"+SPACE
(2)
IFs=="ni"
IFs="ni"
?
"one"
ELSE
?
"one"
ENDIF
ELSE
IFs="ni"
?
"three"
ELSE
?
"four"
ENDIF
ENDIF
RETURN
A)oneB)twoC)threeD)four
(4)如果内存变量和字段变量均有变量名"姓名",那么引用内存的正确方法是
()[2008年4月选择题15]
A)M.姓名B)M–>姓名C)姓名D)A和B都可以
(5)下列程序段执行以后,内存变量X和Y的值是()[2008年4月选择题26]
CLEAR
STORE3TOX
STORE5TOY
PLUS((X),Y)
?
X,Y
PROCEDUREPLUS
PARAMETERSA1,A2
A1=A1+A2
A2=A1+A2
ENDPROC
A)813B)313C)35D)85
(6)下列程序段执行以后,内存变量y的值是()[2008年4月选择题27]
CLEAR
X=12345
Y=0
DOWHILEX>0
y=y+x%10
VisualFoxPro程序设计基础
9
x=int(x/10)
ENDDO
?
y
A54321B12345C51D15
(7)下列程序段执行后,内存变量s1的值是()[2008年4月选择题28]
s1="network"
s1=stuff(s1,4,4,"BIOS")
AnetworkBnetBIOSCnetDBIOS
(8)在VisualFoxPro中,使用LOCATEALL命令按条件对表中的记录进行查找,
若查不到记录,函数EOF()的返回值应是__[2008年4月填空题12]
(9)在VisualFoxPro中,如果要在子程序中创建一个只在本程序中使用的变量X1
(不影响上级或下级的程序),应该使用______说明变量[2008年4月填空题
14]
(10)说明数组后,数组元素的初值是()[2008年9月选择题15]
A)整数0B)不定值C)逻辑真D)逻辑假
(11)下列程序段执行以后,内存变量y的值是()[2008年9月选择题17]
x=76543
y=0
DOWHILEx>0
y=x%10+y*10
x=int(x/10)
ENDDO
A)3456B)34567C)7654D)76543
(12)设a="计算机等级考试",结果为"考试"的表达式是()[2008年9月选择题19]
A)Left(a,4)B)Right(a,4)C)Left(a,2)D)Right(a,2)
(13)LEFT("12345.6789",LEN("子串"))的计算结果是___________[2008年9月填
空题7]
2.52009年笔试真题
(1)在VisualFoxPro中,用于建立或修改程序文件的命令是()[2009年3月选择
题18]
A)MODIFY<文件名>B)MODIFYCOMMAND<文件名>
C)MODIFYPROCEDURE<文件名>D)上面B和C都对
(2)在VisualFoxPro中,程序中不需要用PUBLIC等命令明确声明和建立,可直接
使用的内存变量是()[2009年3月选择题19]
A)局部变量B)私有变量C)公共变量D)全局变量
(3)在visualfoxpro中,有如下程序,函数IIF()返回值是()[2009年3月选择题27]
*程序
PRIVATEX,Y
VisualFoxPro程序设计基础
10
STORE"男"toX
Y=LEN(X)+2
?
IIF(Y<4,"男","女")
RETURN
A)"女"B)"男"C.T.D).F.
(4)常量{^2009-10-01,15:
30:
00}的数据类型是[2009年3月填空题7]
(5)在VisualFoxPro中,程序文件的扩展名是[2009年3月填空题9]
(6)在VisualFoxPro中,LOCATEALL命令按条件对某个表中的记录进行查找,
若查不到满足条件的记录,函数EOF()的返回值应是[2009年3月填
空题11]
(7)在VisualFoxPro中,有如下程序:
*程序名:
TEST.PRG
SETTALKOFF
PRIVATEX,Y
X="数据库"
Y="管理系统"
DOsub1
?
X+Y
RETURN
*子程序:
sub1
PROCEDUsub1
LOCALX
X="应用"
Y="系统"
X=X+Y
RETURN
执行命令DOTEST后,屏幕显示的结果应是[2009年3月填空题13]
(8)语句LISTMEMORYLIKEa*能够显示的变量不包括()[2009年9月选择题
12]
A)aB)a1C)ab2D)ba3
(9)计算结果不是字符串"Teacher"的语句是()[2009年9月选择题13]
A)at("MyTeacher",3,7)B)substr("MyTeacher",3,7)
C)right("MyTeacher",7)D)left("Teacher",7)
(10)下列程序段执行时在屏幕上显示的结果是()[2009年9月选择题18]
DIMEA(6)
a
(1)=1
a
(2)=1
FORI=3TO6
VisualFoxPro程序设计基础
11
A(I)=A(I-1)+A(I-2)
NEXT
?
A(6)
A)5B)6C)7D)8
(11)下列程序段执行时在屏幕上显示的结果是()[2009年9月选择题19]
X1=20
X2=30
SETUDFPARMSTOVALUE
DOtestWithX1,X2
?
X1,X2
PROCEDUREtest
PARAMETERSa,b
x=a
a=b
b=x
ENDPRO
A)3030B)3020C2020D)2030
(12)下列函数返回类型为数值型的是()[2009年9月选择题29]
A)STRB)VALC)DTOCD)TTOC
(13)在VisualFoxpro中,表示时间2009年3月3日的常量应写为[2009
年9月填空题8]
2.62010年笔试真题
(1)有如下赋值语句,结果为"大家好"的表达式是()[2010年3月选择题15]
a="你好"
B="大家"
A)b+AT(a,1)B)b+RIGHT(a,1)
C)b+LEFT(a,3,4)D)b+RIGHT(a,2)
(2)假设职员表已在当前工作区打开,其当前记录的"姓名"字段值为"李彤"(C型字
段)在命令窗口输入并执行如下命令:
姓名=姓名-"出勤"
?
姓名
屏幕上会显示()[2010年3月选择题27]
A)李彤B)李彤出勤C)李彤出勤D)李彤-出勤
(3)下列程序段的输出结果是()[2010年3月选择题29]
ACCEPTTOA
IFA=[123]
S=0
ENDIF
VisualFoxPro程序设计基础
12
S=1
?
S
A)0B)1C123D由A的值决定
答案及解析
第二章VisualFoxPro程序设计基础
2.12005年笔试真题
(1)[2005年4月选择题18]【答案】B【解析】LOOP语句的功能是结束循环体
的本次执行,重新回到出的开始。
EXIP语句表示结束循环体的执行,执行循环后
面的语句。
BREAK语句是结束本程序的执行。
RETURN语句的功能是结束当前
程序的执行,返回到调用它的上级程序。
因此正确的答案为选项B。
(2)[2005年4月选择题27]【答案】B【解析】本题考查的是一些常用函数的返
回值,属于常考题目。
AT()返回字符串1在字符串2中的位置,如果字符串2中
不包括字符串1,则函数返回值为0,A选项返回值为0;ISENULL()判断表达式
运算结果是否为空,若空则返回逻辑真,C选项返回值为真;SUBSTR()返回从字
符表达式的起始位置取出一个指定长度的字串,不是逻辑值,故排除D;故正确
答案为选项B。
(3)[2005年4月填空题7]【答案】数组(或数字、或N、或n)【解析】本题考
查考生对数据类型表示方法的掌握。
题中这种表示方法任容易被误认为是日期型,
而日期型表示方法为{^2005/4/2}。
数值型表示方法不加任何定界符。
(4)[2005年4月填空题8]【答案】13【解析】本题考查的是对循环命令的理解。
S的初始值为1,i的初始值为1,每循环一次s值增加2,i等于2。
当i等于8
时终止循环,s=1+2+4+6,所以值为13。
(5)[2005年9月选择题21]【答案】B【解析】本题考查的是一些常用函数的返
回值,属常考题。
AT()返回字符串1在字符串2中的位置,如果字符串2中不包
括字符串1,则函数返回值为0,不是逻辑值,选项C排除;ISNULL()判断表达
式运算结果是否为空,若空则返回逻辑真,选项D返回值为假;EMPTY()指定表
达式的运算结果若为“空”,返回逻辑真,故排除选项A;LIKE()函数比较两个字
符串对应位置上字符瑞匹配,返回故逻辑真,正确答案为选项B。
(6)[2005年9月选择题22]【答案】B【解析】SETDATETOYMD是把日期设
置成年月日格式,SETCENTURYON及SETCENTURYTO19ROLLOVER10
是打开年份中世纪方式显示,并把显示方式设为19;SETCENTURYTO"."的把
年月日中间的分界符用"."分开。
只有选项B是正确的。
(7)[2005年9月选择题23]【答案】A【解析】本题考查对字段变量概念的把握。
题干中“姓名”为字段变量,对内存变量赋值方式对字段变量是无效的,因此显
示“姓名”字段变量的值时显示的是当前指针指向的记录的值。
选项A为正确答
案。
(8)[2005年9月选择题27]【答案】B【解析】本题考查对IF语句的掌握和理解。
在程序中无论是否执行IF语句,最后显示S的值之前,都会执行S=1,因此S的
值最后总为1,只有选项B是正确的。
(9)[2005年9月填空题8]【答案】EXIT【解析】本题考查退出循环命令。
EXIT
命令跳出循环执行循环体后面的语句:
LOOP返回到循环体开始执行。
VisualFoxPro数据库基础
4
2.22006年笔试真题
(1)[2006年4月选择题17]【答案】D【解析】宏替换函数可以替换出字符型变
量的内容,其格式为:
&<字符型变量>
即&的值是变量中的字符串。
如果该函数与其后的字符无明确分界,则要用“.”
作函数结束标识。
宏替换可以嵌套使用。
宏替换所替换出的内容与字符型变量中
的内容有关,即可能是字符串、亦可能是数值或是命令。
所以,选项D正确。
(2)[2006年4月选择题19]【答案】D【解析】本题考查逻辑关系表达式与逻辑
运算表达式的知识。
选项A:
“==”比较符为精确比较符,则“X==Y”表达式结果为假,则“NOT(X==Y)”
表达式结果为真;“$”比较符为“包含”,则“(X$Y)”表达式结果为真。
所以
“NOT(X==Y)AND(X$Y)”表达式结果为真,不符合题意。
选项B:
“(X$Y)”表达式结果为真,则“NOT(X$Y)”表达式结果为假;但“<>”
比较符为“不等于”),所以“(X<>Y)”表达式结果为真。
所以,
“NOT(X$Y)OR(X<>Y)”表达式结果为真,不符合题意。
选项C:
“>=”比较符为“大于等于”,对于字符串比较来说,对两个字符串的字
符自左向右逐个进行比较,一旦发现两个对应字符不同,就根据这两个字符的排
序序列决定两个字符串的大小排在后面的字符大于排在前面的字符,如字符串
“B”>字符串“A”,字符串“12345”大于字符串“12344”。
按照机内码顺序,
西文字符是按照ASCII码值排列的:
空格在最前面,大写ABCD字母序列在小写
abcd字母序列的前面。
因此,大写字母小于小写字母。
汉字的机内码与汉字国标
码一致。
对常用的一级汉字而言,根据它们的拼音顺序决定大小。
按照拼音次顺
序排序。
对于西文字符而言,空格在最前面,小写abcd字母序列在前,大写ABCD
字母序列在后。
选项D:
“(X$Y)”表达式结果为真,则“NOT(X$Y)”表达式结
果为假,符合题意,所以正确答案为D。
(3)[2006年4月选择题21]【答案】C【解析】本题考查考生对函数的掌握。
选
项A中,EMPRY()函数为“空”值测试函数,根据指定表达式的运算结果是否为
“空”值,返回逻辑真(.T.)或逻辑假(.F.)。
注意,这里所指的“空”值与NULL
值是两个不同的概念。
函数EMPRY(.NULL.)的返回值为逻辑假(.F)。
其次,该
函数自变量表达式的类型除了可以是数值型之外,还可以是字符型、逻辑型、日
期型等类型。
不同类型数据的“空”值,有不同的规定,如下表所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VF 程序设计 基础