第2章 Visual FoxPro 6.0基础知识练习一 VFP基本操作
【实验目的】
熟练掌握VFP启动、关闭;
熟练掌握内存变量的赋值、显示;
掌握运算符和表达式的用法;
熟练掌握常用函数使用。
【知识要点】
一、启动VFP系统用三种方法练习启动VFP系统二、关闭VFP系统用务种方法练习关闭VFP系统三、变量的赋值
1.赋值格式格式1:STORE 表达式 TO内存变量名清单格式2:内存变量名=表达式
2.表达式的显示
格式1:?[表达式清单] (若无表达式清单,则会输出一个换行符,若指定表达式清单,
则在下一行起始处输出表达式值)
格式2,表达式清单 (在当前的光标所在出直接输出表达式的值)
四、日期格式设置与操作
1.将系统日期设为“yyyy-mm-dd”格式
SET CENTURY ON && 设置年份为4位数
SET MARK TO,-” && 设置日期分隔符为:-
SET DATE TO YMD && 设置为“年/月/日”格式
2.求当前系统的年份、月份、日期、星期、时间
YEAR(DATE()) && 求当前的年份
MONTH(DATE()) && 求当前的月份
DAY(DATE()) && 求当前的日期五、运算符和表达式的操作
1.算术运算符:**或^(乘方)、%(求余)、*(乘)、/(除)、+(加)、-(减)
2.字符运算符,+ 将两个字符型数据连接起来
- 将前一字符型数据尾部空格移到后一个字符型数据后,在连接
$ 格式为:串1$串2,若串1包含于串2中,则结果为.t.,否则为.f.
3.日期型运算符,+、-
日期 + 整数:为增加整数天后的日期
日期 - 整数:为减少整数天后的日期
日期 - 日期:为两日期间的天数
4.关系运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、
#或!=或<>(不等于)、=(等于)、==(全等于)
5.逻辑运算符:NOT(逻辑非),AND(逻辑与),OR(逻辑或)
运算符的优先级:
先执行算术运算、字符运算和日期运算,再执行关系运算,最后执行逻辑运算。
六、函数的应用
熟悉最常用的函数
【实验内容】
一﹑启动Visual FoxPro系统,并熟悉其环境二﹑关闭Visual FoxPro系统三﹑变量的的操作在命令窗口定义下列内存变量,并赋值,变量名和值如下表所示:
变量名
值的类型
值
A1
字符型
‘中国’
A2
货币型
$123.4500
B1
日期型
2007年3月26日
B2
数值型
123.4500
ABC
逻辑型
逻辑真
数组B(2,3)
分别为1,‘2’,.t.,$12.45,当天日期
C2
日期时间型
2004年1月23日15点30分30秒
四、运算符及表达式的操作,进行下列各种运算
1.2的3次方
2.“计算机,+“世界”;
3.“计算机,-“世界”;
4.“计算机,+,世界”;
5.“计算机,-,世界”
6.“计算机”$“计算机世界”
7.“计算机世界”$“计算机”
8.“123.45”>“21.50”
9.“ABCD”<“ABED”
10.系统日期减你的生日,计算你来到世界上有多少天?
11.系统日期加52,计算52天后是几月几日?
12.“ABCD”=“ABCD” AND,计算机”$“计算机世界”
五、写出下列式子在VFP中的表达式
1.A+B÷(C+D)
2.(-a)2b3+3mn
3.姓名为“张三”或“李四”
4.年龄在20至35岁的
5.年龄小于20岁和大于35岁的
6.出生日期在85年1月1日以前的
六、函数应用
1.|-12.30|,LN5,求25的平方根,求45与62的最大值,
2.ROUND(337.2007,3)
3.LEN(“THIS IS MY BOOK”)
4. Y = DATE()
5. ABS(-3.2) > MAX(-11,23.2)
6. MOD(22,5) < MIN(-23.2,22)
7. STR(234.3456,6,2)+“32”
8,AA =“VISUAL FOXPRO 6.0”
BB =LEFT(AA,4),CC=SUBSTR(AA,8,3)
BB,CC
【高手进阶】
一、数组的应用数组是按一定顺序排列的内存变量,数组中的各个变量成为数组元素,数组元素用数组名及该元素在数组中排列位置下标一起表示,下标的个数称为数组的维数。数组一经定义,它的每个元素就有了逻辑初值.F.,可用赋值命令给数组元素赋值。给数组名赋值就相当于给该数组的每个元素赋同一值。
1.给定两个数组A(2)、B(2,2),分别赋值,然后显示数组变量的值。
A(1)=’ABCD’ A(2)=.T.
B(1,1)=’计算机基础’ B(1,2)=‘数据库’ B(2,2)=123
二、函数的使用
1.ABC=’共产主义青年团’
LEFT(ABC,2)+SUBSTR(ABC,9,2)+RIGHT(ABC,2)
2.Y=’HELLO’
’&Y.WORLD’
3.?MOD(12,5),MOD(12,-5),MOD(-12,5),MOD(-12,-5)
4.设有字符串“Visual foxpro 6.0”,用函数方法将foxpro改为FoxPro。
【自我测试】
计算下列表达式的值。
(14%4=2) AND (‘ABD’>’ABC’ OR ‘ABC’$’ABDACHD’) OR NOT(‘ABC’=’ABCD’)
【实验过程】
一、启动VISUAL FOXPRO系统,并熟悉其环境(如右图)
1.双击桌面上的快捷方式图标(要自已建);
2.“开始/程序”中单击“VISUAL FOXPRO 6.0”图标;
3.在“资源管理器”(或“我的电脑”)中双击“VISUAL FOXPRO 6.0”程序图标二、关闭VISUAL FOXPRO系统用下列五种方法中的任一种,练习关闭VFP系统
1.单击窗口右上角的“关闭”钮;
2.“文件/退出”;
3.单击窗口左上角的“控制菜单”图标-“关闭”钮;
4.双击窗口左上角的“控制菜单”图标;
5.ALT+F4
三、变量的的操作
1.在命令窗口定义下列内存变量,并赋值,变量名和值如下表所示:
变量名
值的类型
值
A1
字符型
‘中国’
A2
货币型
$123.4500
B1
日期型
2007年3月26日
B2
数值型
123.4500
ABC
逻辑型
逻辑真
数组B(2,3)
分别为1,‘2’,.F.,$12.45,当天日期
C2
日期时间型
2004年1月23日15点30分30秒
[操作]启动Visual FoxPro 6.0 在命令窗口中输入命令:
A1= '中国' 或,中国” 或 [中国]
A2=$123.4500
B1={^2007/03/26}
B2=123.4500
ABC=.T.
DIMENSION B(2,3)
B(1,1)=1
B(1,2)=’2’
B(1,3)=.F.
B(2,1)=$12.45
B(2,2)=DATE()
C2={^2004/01/23 15:30:30}
四、运算符及表达式的操作,进行下列各种运算
1.2的3次方
[操作]在命令窗口输入:2^3 或2**3
2.“计算机,+“世界”
[操作]“计算机 世界”
3.“计算机,-“世界”
[操作]“计算机世界,
4.“计算机,+,世界”
[操作]“计算机 世界,
5.“计算机,-,世界”
[操作]“计算机 世界,
6.“计算机”$“计算机世界”
[操作].T.
7.“计算机世界”$“计算机”
[操作].F.
8.“123.45”>“21.50”
[操作].F.
9.“ABCD”<“ABED”
[操作].T.
10.系统日期减你的生日,计算你来到世界上有多少天?(设生于1983年5月15日)
[操作]?DATE()-CTOD(‘05/15/83’)
11.系统日期加52,计算52天后是几月几日?
[操作]?DATE()+52
12.“ABCD”=“ABCD” AND,计算机”$“计算机世界”
[操作].F.
五、写出下列式子在VFP中的表达式
1.A+B÷(C+D)
[操作]A+B/(C+D)
2.(-a)2b3+3mn
[操作](-a)^2*b^3+3*m*n
3.姓名为“张三”或“李四”
[操作]姓名=’张三’ or 姓名=’李四’
4.年龄在20至35岁的(包括20岁和35岁)
[操作]年龄>=20 AND 年龄<=35
5.年龄小于20岁和大于35岁的(不包括20岁和35岁)
[操作]年龄<20 OR 年龄>35
6.出生日期在85年1月1日以前的
[操作]出生日期<CTOD(“01/01/85”)
六、写出相应的函数和函数的值
1.用函数表示下列计算式:|-12.30|,LN5,求25的平方根,求45与62的最大值
[解答]ABS (-12.30),LOG(5),SQRT(25),MAX(45,62)
进行下列函数的运算
2.ROUND(337.2007,3)
[操作]? ROUND(337.2007,3) 结果显示:337.201
3.LEN(“THIS IS MY BOOK”)
[操作]? LEN(“THIS IS MY BOOK”) 结果显示:15
4.Y = DATE()
[操作]Y = DATE()
Y 结果显示:当前系统日期
5.ABS(-3.2) > MAX(-11,23.2)
[操作]? ABS(-3.2) > MAX(-11,23.2) 结果显示:.F,
6.MOD(22,5) < MIN(-23.2,22)
[操作]? MOD(22,5) < MIN(-23.2,22) 结果显示,.F,
7.STR(234.3456,6,2)+“32”
[操作]? STR(234.3456,6,2)+“32” 结果显示:234.3532
8.AA =“VISUAL FOXPRO 6.0”
BB =LEFT(AA,4)
CC=SUBSTR(AA,8,3)
[操作]依次输入上面三句语句后,再输入? BB,CC 结果显示:VISU FOX
【高手进阶解答】
一、数组的应用数组是按一定顺序排列的内存变量,数组中的各个变量成为数组元素,数组元素用数组名及该元素在数组中排列位置下标一起表示,下标的个数称为数组的维数。数组一经定义,它的每个元素就有了逻辑初值.F.,可用赋值命令给数组元素赋值。给数组名赋值就相当于给该数组的每个元素赋同一值。
1.给定两个数组A(2)、B(2,2),分别赋值,然后显示数组变量的值。
A(1)=’ABCD’ A(2)=.T.
B(1,1)=’计算机基础’ B(1,2)=‘数据库’ B(2,2)=123
[解答]DIMENSION A(2),B(2,2)
A(1)='ABCD'
A(2)=.T.
B(1,1)= '计算机基础'
B(1,2)='数据库'
B(2,2)=123
A(1),A(2),B(1,1),B(1,2),B(2,1),B(2,2)
显示的结果为:’ABCD’,T,’计算机基础’ ‘数据库’,F,123
二、函数的使用
1.ABC=’共产主义青年团’
LEFT(ABC,2)+SUBSTR(ABC,9,2)+RIGHT(ABC,2)
[解答]LEFT(表达式,N)是从字符串的左边取长度为N的子串,SUBSTR(表达式,N[,M])从字符串表达式中提取从N开始的M个子串,RIGHT(表达式,N)就是从字符串右边取N个字符。
显示的结果为:‘共青团’
2.Y=’HELLO’
’&Y.WORLD’
[解答]&<字符型变量>[.]是宏替换函数,就是将&<字符型变量>[.]换成字符变量的值
显示的结果为:HELLO WORLD!
3.?MOD(12,5),MOD(12,-5),MOD(-12,5),MOD(-12,-5)
[解答]MOD(表达式1,表达式2)就是求表达式1对表达式2的余数。
它的规律是 MOD(N,-M)=MOD(N,M)-M
MOD(-N,M)=M-MOD(N,M)
MOD(-N,-M)=-MOD(N,M)
显示的结果为:2 -3 3 -2
4.设有字符串“Visual foxpro 6.0”,用函数方法将foxpro改为FoxPro。
[解答]
AA =“Visual foxpro 6.0” && 赋值
BB = SUBSTR(AA,1,7)+UPPER(SUBSTR(AA,8,1))+SUBSTR(AA,9,2);
+UPPER(SUBSTR(AA,11,1))+SUBSTR(AA,12,6)
&& SUBSTR函数:截取子字符串;UPPER函数:转为大写字母
BB
或:
AA =“Visual foxpro 6.0”
BB = STUFF(AA,8,1,”F”) && STUFF函数:用字串2替换字串1中的一部分
CC = STUFF(BB,11,1,”P”)
CC
【自我测试解答】
计算下列表达式的值。
(14%4=2) AND (‘ABD’>’ABC’ OR ‘ABC’$’ABDACHD’) OR NOT(‘ABC’=’ABCD’)
[解答]显示的结果:.T,