《第2章_常量变量及表达式.ppt》由会员分享,可在线阅读,更多相关《第2章_常量变量及表达式.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 常量、变量及表达式1/23/20231 本本 章章 导学导学数据类型有哪些数据类型有哪些常量、变量及赋值常量、变量及赋值显示和释放内存变量显示和释放内存变量表达式的类型表达式的类型1/23/20232一、数据类型:在Visual FoxPro系统中,有常量、变量、表达式和函数等四种形式的数据,其类型包括字符型(C)、数值型(N)、货币型(Y)、逻辑型(L)、日期型(D)和日期时间型(T)等六种。数据类型决定了数据的存储方式和运算方式。二、常量 常量常用于表示一个具体的、不变的值。要注意各类型常量的表示方法、字符组成、定界符、宽度和小数位。任务二:常量1/23/202331、数值型数据-
2、N (Number)由正、负号,阿拉伯数字和小数点所组成,包括科学计数法。如:-128宽度=4+12.00宽度=60.12345宽度=71.1e+2结果=110 注:数值型数据没有定界符 想一想:56.59789123.65 2.3e-9 7e+7 “6790”89.987 54e+6 1/23/202342、字符型数据C(Character)如:“1234 ABCD”宽度=9中国人民 宽度=8“中华人民共和国”宽度14“12+24”宽度=5 注:字符型数据的标志为:1)用英文的单引号、双引号或方括号括起的数据;2)当定界符为字符的一部分,不能再用该定界符。如:”abc”应改为”abc”或 “
3、abc”3)”和“”是不一样的。1/23/202353、日期型数据-D (Date)有严格日期格式和传统日期格式:常用严格日期格式,一般形式为YYYY/MM/DD 传统日期格式,一般形式为MM/DD/YY ,这种日期格式的使用是受到一定限制的,即只有 SET STRICTDATE TO 0命令执行后才能使用。所有格式宽度固定为8.影响日期格式的命令:1)设置输出日期格式:即年月日的顺序 SET DATE TO AMERICAN/DMY/YMD/MDY2)设置输出日期分隔符:即年月日之间的分隔符 SET MARK TO 日期分隔符3)设置年份位数 SET CENTURY ON/OF ON是四位
4、OFF是两位 SET CENTURY TO 世纪值 ROLLOVER 年份参照值1/23/20236 4、逻辑型数据-L (Logical)它的书写方式只有八种分别为:.t.f.T.F.y.n.Y.N.但输出结果只有两种:.t.和.f.且宽度为1 注:两边有两个单句点,最多只有八种写法5Y型常量1)用来表示货币值,书写格式与数据型常量类似但要多加一个前置符号()2)采用4位小数,他没有科学记数法。3)在内存中占个字节6、日期时间型常量:T(57)2005/09/06,11:45:23 1/23/20237 思考:(请用代表字符填写下列数据的类型)98/11/21(_).a.()ctod(“02
5、/11/28”)()1235.5()“abcd”().T.().t.().Y.()2005/12/20()$456.78()$78()张三()李四()“2008/09/07”()2005/09/06,()2009/07/06,08:07:34 P()1/23/20238任务二:变量及其赋值一、常量指操作过程中不变化的数据,通常在命令或程序中直接给出。如 e、常量类型有C、D、N、L、Y、T,由用户的书写格式决定。二、变量(记忆)字段变量字段变量内存变量内存变量普通内存变量数组1/23/202391、内存变量名的命名约定:指由汉字、字母、数字和下划线组成,不允许有空格,不能用数字开头。如:ABC
6、G1 姓名 (正确)1AA A 23A-B2 (错误)注:1)内存变量名不要与字段变量同名,以免混淆 2)如果同名,字段变量优先,查看内存变量 格式为:M-内存变量名 或 M.内存变量名 1/23/2023102、内存变量的类型 有六种:C、D、N、L、Y、T其类型取决于所存放的数据的类型,当值的类型改变则内存变量类型也随之改变。如:A=123 数值型B=CTOD(“12/09/91”)日期型XY=.n.逻辑型 3、给内存变量赋值 也即定义(建立)内存变量,有两种方法:第一种:“=”等号赋值法1/23/202311 格式:=功能:将“=”右边的内容存到左边标识的内存单元中,若“=”右边是表达式
7、则先计算表达式的值,然后再赋给内存变量单元。可以是常量,已赋值的变量,函数及表达式本身。如:N=3 M=N+5 date=ctod(“98/12/27”)注:A、一次只能给一个变量赋值 X,Y,Z=34(错误)1/23/202312 B、“=”、”、.等等必须在英文输入状态下输入第二种:STORE赋值法 格式:STORE to 功能:把内容赋给一个或多个内存变量名标识的内存单元中,多个变量用逗号分开。如:Store 0 to A1,A2,A3 Store “李军”to name Store 3*4-5 to X1 请问:第一句用“=”号赋值法怎么改写?1/23/2023134、数组:是内存中连
8、续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。每个数组元素相当于一个简单变量,可以给每个元素赋值。在VFP中,一个数组中各元素的数据类型可以不同。但数组与简单内存变量不同的是在使用之前必须先定义后使用。定义数组的格式及命令:1)dimension (,)2)declare (,)数组刚创建后,系统自动给每个数组元素赋以逻辑假.F.。使用数组及数组元素时,应注意的问题见课本P44。1/23/202314任务三:显示和释放内存变量1、显示已定义的内存变量 格式1:?换行显示 格式2:?同一行显示 格式3:DISPLAY MEMORY分屏显示 格式4:LIST M
9、EMORY 不分屏 如:?X1,X2,X3?Name 提问:请你说说4种格式的区别1/23/202315 2、释放内存变量的方法 格式1:RELEASE 格式2:CLEAR MEMORY 或 CLEAR ALL 格式3:RELEASE ALL LIKE/EXCEPT 说明:ALL LIKE :删除与之匹配的内存变量 ALL EXCEPL:删除与之不匹配的内存变量 如:RELEASE X1,X2,X3 RELEASE ALL EXCEPT?B*RELEASE ALL LIKE A*1/23/202316任务四:表达式的类型一、概念:表达式是由常量、变量、函数通过特定的运算符连接起来的式子。二、表
10、达式的形式:1)单一的运算对象;(常量、变量、函数)(也称为特殊的表达式)2)由运算符将运算对象连接起来的形成式子。三、表达式的类型:N、C、D、T、L 1、算术表达式 算术运算符有5种 P49()、或*、*、/、+、-如:234*5.12/12X1*35 总分/51/23/202317思考题思考题:将以下数学表达式转换成VFP表达式:1/23/2023182、字符表达式 字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。A:字符串完全连接运算符(+)如:?”中国_ _“+”人民“答案:中国_ _人民 B:字符串紧凑连接运算符(一)功能:将第一个字符串尾部空格放于新串尾部 如:?
11、”中国_ _“-”人民“答案:中国人民_ _ 作业:X=“_ _ 中国_ _”Y=“_ _人民_ _”?X+Y&_ _ 中国_ _ _ _人民_ _?X-Y&_ _中国_ _人民_ _ _ _ 1/23/202319三、日期表达式 由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式。日期运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少一个天数,在日期时间数据上增加或减少一个秒数。两个运算的优先级别相同。格式:结果+D一D一N 注:两个日期不能相加 如:1969/05/02+10 1989/12/11一20 1998/12/31一1998/11
12、/25 作业:X=1979/05/26 A=2005/12/20 Y=X一20 B=A+10?Y一X?B1/23/202320 四、关系表达式(8种)说明:运算符:大于 小于 =小于等于 =等于 =精确等于 =包含于$#不等于 !=1/23/202321 注意:1)关系运算表达式值为逻辑真.T.或逻辑假.F.如:?5643 .t.2)关系运算符两边必须是相同的数据类型如:?5643(正确)?56”43”(错误)3)单个字符按ASCII码值大小进行比较,多个字符则按位比较,直到不同为止。汉字比较是按拼音大小比较的。如:?“a”b”.f.?”abe”“abc”.t.空格129abzABZ1/23/
13、2023224)“=”和“=”的区别=表示精确比较:必须=两边完全相等结果才为.T.如:?”ABC”=“ABC”.T.?”ABCD”=“ABC”.F.=在不同的开关状态下不同在SET EXACT OFF下表示模糊比较,指只要=号右边字符串出现在=号左边字符串的前半部分,结果为.T.?”ABCD”=“ABC”.T.1/23/202323 在SET EXACT ON下表示等长比较,是指当现有宽度比较不出结果时,将宽度少的一边补空格.如:?”BCD”=“BC”.F.?”AB”=“AB “.T.?”AB “=“AB”.T.1/23/2023245)$的用法(也叫判子串)格式:$功能:若子串2中出现子串1则为.T.、否则为.F.如:?”人民”$”中华人民共和国”.T.?”ABC”$”ABDCE”.F.应用:查找职称字段包含教授两个字的人LIST FOR “教授”$职称1/23/202325五、逻辑表达式(3种).not.单目运算取反.and.双目运算与当两边同为.T.才为.T.,有一个为.F.就为.F.or.双目运算或 当两边同为.F.才为.F.,有一个为.T.就为.T.如:?52.and.1019.t.?23.or.107.t.综合应用优先级:算术字符串关系逻辑1/23/202326
限制150内