第三次课vf资料.docx
《第三次课vf资料.docx》由会员分享,可在线阅读,更多相关《第三次课vf资料.docx(22页珍藏版)》请在冰豆网上搜索。
![第三次课vf资料.docx](https://file1.bdocx.com/fileroot1/2023-1/5/e300edf7-ae0e-48cc-92b5-20afead80ca7/e300edf7-ae0e-48cc-92b5-20afead80ca71.gif)
第三次课vf资料
内容:
第三章需要拷数据库表。
Vf辅导资料网址:
ftp:
//118.202.255.9
用户名:
vf
密码:
vf
内容包括:
各次辅导的讲义、05-08年的真题和每周都会上传一套模拟题供大家练习。
本章内容在考试大纲中的要求是重点掌握。
内容分为两大部分:
数据和数据的运算。
数据需要掌握:
数据的类型、常量、变量。
数据的运算需要掌握:
运算符与表达式、函数。
数据的类型
八大分类(字符型、数值型、日期型、日期时间型、逻辑型、货币型、备注型、通用型)
类型的字母表示(C、N、D、T、L、Y、M、G)
书写格式、数据取值范围和所占的字节数。
字符型:
由字母(汉字)、数字、空格等任意ASCII码字符组成。
字符数据长度是0~254。
一个汉字占2个字节,其他字符占1个字节。
数值型:
由数字0-9、一个符号(+/-)、一个小数点(.)组成。
取值范围-0.99999999999E+19~0.9999999999E+20。
数据还可以分为数值型、浮点型、双精度型和整型。
日期型:
通常采用美国格式mm/dd/yyyy。
月-日-年。
固定长度,8个字节。
日期时间型:
mm/dd/yyyyhh:
mm:
ssAm/Pm
hhmmss分别占2个字节。
逻辑型:
逻辑真:
.T.输入:
TtYy
逻辑假:
.F.输入:
FfNn
固定长度,1个字节。
货币型:
固定长度,8个字节。
小数位数4位,超出部分四舍五入。
备注型:
存放指针。
内容存放在与含有备注型字段的表同名的备注文件(*.fpt)中。
记录中存储指向备注文件中相应内容的指针。
固定长度,4个字节。
通用型:
只用于数据表中字段的定义。
OLE对象的实际内容、类型、数据取决于具体的OLE对象以及是链接还是嵌入。
如果采用链接OLE对象方法,则表中只包含对OLE对象中数据的引用说明,及创建该OLE对象的应用程序的引用说明。
如果是采用嵌入OLE对象方式,则表中除包含对创建该OLE对象的应用程序的引用外,还包含OLE对象中的实际数据。
通用型字段的长度仅受限于磁盘的存储空间。
固定长度,4个字节。
例:
05:
在VisualFoxPro中,创建表结构时,字段宽度不需要设置的数据类型是()ABCDE
A.日期型B.日期时间型C.通用型
D.备注型E.货币型
07:
通用字段和备注字段在表中占用的字节数是()B
A.2个B.4个
C.8个D.10个
08:
日期型字段在表中占用的字节数是()C
A.2个B.4个
C.8个D.10个
1.在VisualFoxPro中,下列选项中数据类型所占字符的字节数相等的是()D
A.字符型和逻辑型
B.日期型和备注型
C.逻辑型和通用型
D.通用型和备注型
2.下列常量中,只占用内存空间1个字节的是____。
D
A.数值型常量B.货币型常量
C.日期型常量D.逻辑型常量
常量:
常数
支持:
六种数据类型。
重点是组成。
举例。
字符型:
要有定界符,定界符共三种,“”,‘’,[]。
若字符串中包含一种定界符,须用另一种定界符括起来。
例:
3.下列字符型常量的表示中,错误的是()C
A.“12+13”
B.“[X=Y]”
C.[[北京]]
D.[“等级考试”]
4.字符型常量的定界符不包括____。
C
A.单引号B.双引号
C.花括号D.方括号
数值型:
123.446-0.36+1.234E12
货币型:
以$开头,四舍五入到小数点后4位,不能用科学计数法。
例:
5.下面货币型常量的书写格式,正确的一项是____。
A
A.$666.666B.1323.4228$
C.$123.45321D.$123.45E4
逻辑型:
例:
6.常量.N.表示的是_____逻辑______型的数据。
日期型:
分隔符“/”。
传统的日期格式:
{mm/dd/yy}。
严格日期格式{^yyyy/mm/dd}。
空白日期表示:
{}或{/}。
例:
7.下面严格日期书写格式正确的一项是____。
C
A.{2002-06-27}B.{06/27/02}
C.{^2002-06-27}D.{^02-06-27}
E.“^2002-06-27”
日期时间型:
严格的时间日期型常量的格式为:
{^yyyy/mm/dd[,][hh[:
mm[:
ss]][a|p]]},其中的“/”号可用“-”号代替。
(1)日期格式中的世纪值
①命令方式:
SETCENTURYON|OFF|TO[<世纪值>[ROLLOVER<年份参照值>]]
②菜单方式:
在系统菜单中依次选择【工具】、【选项】、【区域】,就可以在日期和时间区域中选择显示日期时是否显示世纪。
例:
08:
在命令窗口中执行以下两条命令后的显示结果是B
SETCENTURYON
?
{^2007/11/03}+3
A.11/03/2010B.11/06/2007
C.02/03/2008D.11/05/2007
(2)设置日期显示格式
①命令方式:
【格式】SETDATE[TO]AMERICAN|MDY|DMY|YMD|SHORT|LONG
②菜单方式:
在系统菜单中选择【工具】、【选项】菜单项,在打开的【选项】对话框中选择【区域】选项卡,就可以在【日期和时间】区域中设置日期的显示格式。
(3)设置日期分隔符
①命令方式:
【格式】SETMARKTO[日期分隔符]
②菜单方式:
在系统菜单中选择【工具】、【选项】菜单项,在打开的【选项】对话框中选择【区域】选项卡,就可以在【日期和时间】区域中设置日期分隔符。
例:
8.在命令窗口中输入下列命令:
SETMARKTO[-]
?
{^2004-06-27}
主屏幕上显示的结果是____。
A.06/27/04B.06-27-04
C.2004-06-27D.2004/06/27
(4)设置日期格式检查
VisualFoxPro默认采用严格的日期格式,并以此检测所有日期型和日期时间型数据的格式是否规范、合法。
①命令方式:
【格式】SETSTRICTDATETO[0|1|2]
【功能】用于设置是否对日期格式进行检测。
【说明】“0”表示不进行严格的日期格式检测;“1”表示进行严格的日期格式检测(默认值),要求所有日期型和日期时间型数据均按严格的格式;“2”表示进行严格的日期格式检测,且对“CTOD()”和“CTOT()”函数的格式也有效;若省略可选项,则恢复系统默认值,等价于1的设置。
②菜单方式:
在系统菜单中选择【工具】、【选项】菜单项,在打开的【选项】对话框中选择【常规】选项卡,单击展开【2000年兼容性】栏中的【严格的日期级别】下拉列表框,选择其中某个设置项,然后单击【确定】按钮确认此格式设置。
例:
07:
2.以下常量中合法的有()ABCDE
A.-123.56B.-123e+12C.[计算机等级考试]
D.{^2007/10/22}E..T.
08:
9.下列数据不属于常量的是C
A..T.B.{^2007/11/03}
C.NAMED.[^2007/11/03]
9.下列常量中格式正确的是()D
A.$1.23E4
B.“”计算机”等级考试”
C..False.
D.{^2003/01/13}
变量
内存变量、数组变量、字段变量、系统变量。
内存变量:
六大类。
例:
10.在VisualFoxPro中,T表示____内存变量。
D
A.字符型B.数值型
C.日期型D.日期时间型
命名:
例:
06:
可作为VisualFoxPro变量名的是()D
A.?
BB.X=9
C.100SSD.AA12
06:
2.执行命令A=2006/10/22之后,内存变量A的数据类型是_______数值型______。
08:
3.下列标识符中,不能用来做合法的字段名或内存变量名的是A
A.7_ABB.A56
C.CLI_IDD.字段
12.下列内存变量的书写中,格式不正确的是____。
A
A..COMXB.Flash_8
C._MUMUD.好心情
13.下列变量名中不合法的是()C
A.XYZ
B.年龄
C.2X
D.A2
赋值
例:
08:
6.若要用一条命令使变量A,B,C的值均为5,正确的命令是STORE5TOA,B,C。
显示、释放、保存、恢复。
数组变量
定义及赋值、显示、释放、保存和恢复。
值得注意的是,数组变量可以不带下标使用,这时它在赋值语句的左边和右边的含义不同,如果它在赋值语句的右边,表示该数组第一个元素,如果它在赋值语句的左边,表示该数组所有元素。
例如:
DIMENSIONX(2,3)&&定义一个二维数组X,共6个元素
X(1,1)="1001"&&将字符串"1001"赋给数组X的第1个元素
X
(2)="王军"&&将字符串"王军"赋给数组X的第2个元素
STORE"男"TOY(3)&&将字符串"男"赋给数组Y的第3个元素
X(2,1)=X&&将数组X的第1个元素的值赋给数组X的第4个元素
X=X(6)&&将数组X的第6个元素的值赋给数组X的所有元素
例:
05:
1.使用DIMENSIIONARRARY(4,3)定义的数组,它包含的元素个数为B
A.7B.12C.3D.4
07:
2.定义一个二维数组X(2,3)的命令格式为_DIMEX(2,3)___。
08:
3.定义数组后,数组元素的初始值是.F.。
14.下列有关数组的叙述中,错误的是()A
A.在同一个环境下,数组与内存变量可以同名,两者互不影响
B.可以用一维数组的形式访问二维数组
C.在可以使用简单内存变量的地方都可以使用数组元素
D.一个数组中各元素的数据类型可以相同,也可以不同
15.使用DIMESIONy(5)定义一个一维数组y,下列赋值语句中正确的是()A
A.y=8
B.y[6]=9
C.store10y[2],y[3],y[4]
D.y[3],y[4],y[5]=8
字段变量
八种+整型、双精度型。
如果内存变量与数据表中的字段变量同名时,由于字段变量具有更高的优先级,所以在访问内存变量时,必须在内存变量名前加上前缀“M.”或“M->”,否则系统将访问同名的字段变量。
例:
略
系统变量
其变量名均以下划线开始。
例如可利用系统变量_screen来设置VisualFoxPro(工作区区域输出信息)显示的字体大小。
方法是:
_SCREEN.FONTSIZE=14&&设置输出字体的字号为14。
常用函数
(1)数值函数:
ABS()、SIGN()、MAX()、MIN()、SQRT()、INT()、CEILING()、FLOOR()、MOD()、ROUND()、PI()
例:
16.若采用下列程序计算一个整数的各位数字之和,则在下划线处应填写的语句是()A
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)
17.函数MOD(-4*7,-24/4)的值是()D
A.8
B.4
C.-8
D.-4
18.当变量X在奇偶数之间变化时,下列程序的输出结果为()A
CLEAR
X=0
DOWHILEX<6
IFINT(X/2)=X/2
?
”CHINA”
ENDIF
?
”中国”
X=X+1
ENDDO
A.CHINA中国中国连续显示3次
B.中国中国CHINA连续显示3次
C.CHINA中国中国连续显示2次
D.中国中国CHINA连续显示2次
19.执行?
ROUND(123.456,2)命令后,屏幕显示的结果为123.46
20.ROUND(6.165,2)的函数值是()B
A.6.16
B.6.17
C.6.20
D.6.160
21.函数INT(数值表达式)的功能是()A
A.返回数值表达式的整数部分
B.按四舍五入取数值表达式值的整数部分
C.返回不小于数值表达式值的最小整数
D.返回不大于数值表达式值得最大整数
22.要判断数值型变量Y是否能够被8整除,错误的条件表达式为()C
A.INT(Y/8)=Y/8
B.MOD(Y,8)=0
C.INT(Y/8)=MOD(Y,8)
D.MOD(Y,8)=MOD(8,8)
23.MOD(17,-3)函数的返回值是()-1
(2)字符函数:
LEN()、LOWER()、UPPER()、SPACE()、LTRIM()、RTRIM()、ALLTRIM()、LEFT()、RIGHT()、SUBSTR()、OCCURS()、AT()、STUFF()、LIKE()、REPLICATE()
05:
1.下列函数中函数值为字符型的是()D
A.YEAR()B.DATETIME()C.DATE()D.TIME()
05:
4.设A=“全国高等计算机考试”,能够求得“计算机”子串的正确表达式是(subs(a,9,6))
06:
10.VisualFoxPro函数SUBSTR("2008年北京奥运会",7,4)的值是()C
A.京奥B.北
C.北京D.北京奥运
字符函数-取子串
24.运算结果是字符串“home”的表达式是()D
A.LEFT(“myhome”,4)
B.RIGHT(“hometown”,4)
C.SUBSTR(“myhometown”,4,4)
D.SUBSTR(“myhometown”,3,4)
25.要从字符串“中国海南省”中取出子串“海南省”,应使用的函数是()D
A.SUBSTR(“中国海南省”,3,3)
B.SUBSTR(“中国海南省”,5,2)
C.SUBSTR(“中国海南省”,5,3)
D.SUBSTR(“中国海南省”,5,6)
26.执行下列程序,显示的结果是()anihc
First=”china”
Second=””
a=LEN(First)
i=a
DOWHILEi>=1
Second=second+SUBSTR(First,i,1)
i=i-1
ENDDO
?
Second
27.函数UPPER(“China=中国”)的值是()C
A.China=中国
B.CHina=中国
C.CHINA=中国
D.China=中国
28.如果想从字符串“计算机等级考试”中取出“考试”这两个字,下列函数使用正确的是()A
A.SUBSTR(“计算机等级考试”,11)
B.SUBSTR(“计算机等级考试”,5,3)
C.RIGHT(“计算机等级考试”,2)
D.LEFT(“计算机等级考试”,4)
29.下列数据哪个不是字符型数据()A
A.13/01/08
B.“13/01/08”
C.“12.3”
D.“CHINA=中国”
30.AT(“IS”,”THATISANEWBOOK”)的运算结果是6
31.执行?
AT(“a+b=c”,”+”)语句,屏幕显示结果为0(3)日期和时间函数:
DATE()、TIME()、DATETIME()、YEAR()、MONTH()、CMONTH()、DAY()、HOUR()、MINUTE()、SEC()、DOW()、CDOW()
例:
32.假定系统日期是2008年1月13日,则执行命令PI=MOD(YEAR(DATE())-2000,10)后,PI的值是()C
A.012008
B.-8
C.8
D.0
33.CTOD(“04-01-01”)+20的结果是04-21-01
为使日期型数据库能够显示世纪(即年为4位),应该使用的命令为()C
A.SETMARKON
B.SETDATEON
C.SETCENTURYON
D.SETSTRICTDATEON
(4)数据类型转换函数:
STR()、VAL()、CTOD()、CTOT()、
DTOC()、TTOC()、ASC()、CHR()、&
类型转换函数:
34.函数VAL(“12/06/01”)的参数类型是字符型
35.?
STR(123.45,5,1)命令的输出结果是()B
A.123.4
B.123.5
C.123.45
D.*****
(5)测试函数:
BETWEEN()、ISNULL()、EMPTY()、VARTYPE()、BOF()、EOF()、RECNO()、RECCOUNT()、FOUND()、IIF()、DELETED()。
07:
2.条件函数IIF(LEN(SPACE(3))>2,1,-1)的返回值是______1_______________。
08:
14.在VisualFoxPro中,可以使用FOUND()函数来检测查询是否成功的命令包括()B
A.LIST、FIND、SEEKB.FIND、SEEK、LOCATE
C.FIND、DISPLAY、SEEKD.LIST、SEEK、LOCATE
08:
15.“人才”表当前状态的EOF()值为.T.,则函数RECNO()的值为C
A.0B.5
C.6D.NULL
36.BETWEEN(40,30,48)的运算结果是().t..
37.条件函数IIF(LEN(SPACE(4))>6,”TRUE”,”FALSE”)的返回值是()FALSE
例:
"教师"表
教师(教工号C(5),姓名C(6),职称C(6),出生日期D,工资N(10,2),系号N
(1))
教工号姓名职称出生日期工资系号
10001张立中副教授07/01/702000.001
20002王秋艳教授02/05/633000.002
10003刘星斌讲师07/01/781500.001
30004张月新讲师07/23/751600.003
10005李明玉教授12/01/692600.001
20006孙民山助教07/03/821100.002
30007刘芳菲教授09/01/602200.003
05:
对“教师”表建立如下图所示的用户界面表单,其中有两个标签:
Label1,Label2,两个命令按钮:
Cmmand1与Command2,对Cmmand1(“计算”按钮)的Click事件编写代码如下:
S=0
N=0
USE教师
DOWHILE.NOT.EOF()
IFALLTRIM(职称)==“教授”
S=S+(YEAR(DATE())—YEAR(出生日期))
N=N+1
ENDIF
SKIP
ENDDO
USE
A=S/N
ThisFrom.Label2.Caption=“计算结果为:
”+STR(A,2)
请写出表单运行并单击“计算”按钮后,Label2上显示的内容。
6.42
计算结果为42
05:
8.IMAGE.PRG的内容如下,写出命令窗口中执行DOIMAGE命令后,屏幕显示的结果。
*IMAGE.PRG
SETTALKOFF
CLEAR
FORI=1TO5
FORJ=1TOI
IFMOD(I,2)=0
?
?
“*”
ELSE
?
?
“#”
ENDIF
ENDFOR
?
ENDFOR
#
**
###
****
#####
07:
9.下列函数中,函数值为数值型的是()A
A.AT("人民","中华人民共和国")B.CTOD("12/20/2004")
C.BOF()D.SUBSTR("中华人民共和国",5,4)
07:
1.下列函数中自变量为字符型的有()ABDE
A.ALLTRIM()B.LEN()C.DTOC()
D.CTOD()E.VAL()
07:
5.MOD(LEN([预祝奥运会圆满成功]),MONTH({^2008/08/10}))的计算结果是_______2_______________。
07:
8.SETTALKOFF
CLEAR
FORJ=1TO3
?
STR(J,2)+")"
FORI=1TOJ
?
?
STR(I*J,3)
ENDFOR
ENDFOR
RETURN
1)1
2)24
3)369
08:
1.下列函数值为数值型的是DE
A."IS"-"THIS"B."IS"$"THIS"C."IS"+"THIS"
D.LEN("IS"+"THIS")E.AT("IS","THIS")
08:
5.RIGHT("123456789",LEN("数据库"))的计算结果是456789。
08:
8.SETTALKOFF48
CLEAR
S2=0
S3=0
N=1
DOWHILEN<=10
IFMOD(N,2)=0
S2=S2+N
ENDIF
IFN/3=INT(N/3)
S3=S3+N
ENDIF
N=N+1
ENDDO
?
S2+S3
RETURN
38.在下列表达式中,运算结果是逻辑真的是()B
A.EMPTY(.NULL.)
B.EMPTY(SPACE(8))
C.LIKE(“edit”,”edi?
”)
D.AT(“a”,”aiminal”)
表达式
在VisualFoxPro系统中,表达式是由常量、变量、函数及其他数据容器单独或与运算符组成的有意义的运算式子。
运算符是对数据对象进行加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。
3.1.1数值运算符和数值表达式
数值表达式是由数值运算符将数值型常量、数值型变量、数值型数组、返回数值型数据的函数连接而成,其运算结果是一个数值型常量。
数值表达式又称为算术表达式,数值运算符的功能及运算优先顺序如表3-2所示。
表中运算符按优先级别从高到低顺序排列。
表3-1.数值运算符及其优先级
运算符
功能
优先级别
()
圆括号
1
-
取相反数
2
**或^
乘方
3
*、\、%
乘、除、求余数
4
+、-
加、减
5
其中求余运算符%和求余函数MOD的作用相同(具体方法见求余函数)。
例如:
a=13
b=-4
?
a