1、第二章 Visual FoxPro6.0编程基础,Visual foxpro程序设计,本章主要内容,2.1 常量 2.2 变量 2.3 表达式 2.4 系统函数,2.1 常量,一、常量 常量类型:字符型、数值型、货币型、 逻辑型、日期型、日期时间型 1、数值型: 构成:由0-9数字,-、+号,小数点 例 :32,-6,5.8 表示形式:基本表示法 科学计数法,2、货币型: 构成:$、数字、小数点 例:输入 $125.547878 注:1)输出时没有“$”符号 2)输出时小数点后自动保留4位。,125.5479,练习,34.7536,456.4500,1.7779,3、字符型(由定界符引起的一组字符串) 定界符: ,“ ”, 例:“中国”,上海,apple 注:1)定界符要成对出现; 2)输出时没有定界符; 3)如果定界符做为字符串中的一部分,必须使用其他定界符;,练习,Visual FoxPro,“中国北京”,12345,4、日期型: 输入格式:yyyy-mm-dd 例:2006-08-28 1)日期型常量的定界符: 2)以脱字符开头 3)年份占4位,月、日各占2位,输入时应注意,1)
2、输出时的格式:mm/dd/yy 2)关于连接符默认为: 3)输出时无定界符 练习,输出时应注意,10/21/08,2006-03-27,影响日期格式的设置命令 1)设置分隔符 命令:Set mark to 日期分隔符 例1:?2006-08-28 例2: Set mark to “-” ?2006-08-28 输出 08-28-06,08/28/06,练习,1、 Set mark to “.” ? 1996-05-19 输出 05.19.96 2、 Set mark to “ ” ? 2002-03-05 输出 03 05 02,2)设置日期显示格式 命令:Set date to 例1: Set date to YMD ? 2006-08-28 输出 06-08-28,3)设置年份显示位数 命令:Set century on/off 例1: Set century on ? 2006-08-28 输出 08/28/2006,练习,1、 Set mark to “.” set date to YMD set century on ? 2004-12-25 输出结果:2004.12.25,
3、5、日期时间型: 格式:, YYYY-MM-DD,hh :mm:ssa|p 例:输入:2006-08-27,10:15 a 输出结果:08/27/06 10:15:00 AM 注:1)hh,mm,ss,a|p的默认值分别为: 12,00,00,AM 2)输入时逗号不可省,输出时省略,6、逻辑型(用来表示真或假的常量) 真:.T. 、 .t. 、 .Y. 、 .y. 假:.F. 、 .f. 、 .N. 、 .n. 注:逻辑型常量输出时就有两个值: 真: .T. 假: .F.,1、变量 字段变量 简单的内存变量 内存变量 数组 区别:简单内存变量不用定义直接使用, 数组必须先定义再使用。,变量,2.2 变量,简单内存变量 内存变量的赋值: 格式1:Store to 格式2:= 例:把 2 赋给变量 X和变量 Y 方法1:Store 2 to x,y 方法2:x=2 y=2 )storeto一次可以为多个变量赋值 ) 一次只能给一个变量赋值,区别,数组:是内存中连续的一片存储区域, 它由一系列元素组成。 例:a(1),a(2),a(3),a(4) 定义数组: 格式1:dimension (数
4、组下标) 例: dimension a(4),dimension b(2,3) 格式2:declare (数组下标) 例: declare a(4),declare b(2,3),b(1,1) , b(1,2) , b(1,3) b(2,1) , b(2,2) , b(2,3),数组的特点: )一个数组中各元素的数据类型可以不相同 )数组下限规定为 )数组创建后,系统自动给每个数组元素赋以逻辑假.F. )给数组名赋值则给数组中的每个元素赋值 )可用一维数组表示二维数组,例:dimension b(2,3) 第1行 b(1,1) , b(1,2) , b(1,3) 第2行 b(2,1) , b(2,2) , b(2,3) b (1) b(1,1) b (2) b(1,2) b (5) b(2,2),例:dimension a(4) a (1)=123 a (2)=$123.45 a (3)=“abcd” a (4)=.T.,例:dimension a(4) a (1)=123 a (3)=“abcd” ?a(1),a(2),a(3),a(4),结果:123 .F. abcd .F.,练习
5、,执行如下命令序列后,最后一条命令的显示结果是( ) DIMENSION M(2,2) M(1,1)=10 M(1,2)=20 M(2,1)=30 M(2,2)=40 ? M(2) A)变量未定义的提示 B)10 C)20 D).F,第1行 M(1,1) , M(1,2) 第2行 M(2,1) , M(2,2),练习,例: dimension x(2,3) x(1,2)=6 x(1,3)=7 x(2,1)=8 x(2,2)=9 x(2,3)=10 求:x(1)=_ ,x(5)=_,2.3 表达式,定义:由常量、变量和函数通过特定的运算符连接起来的式子 数值表达式 字符表达式 日期时间表达式 关系表达式 逻辑表达式,1、数值表达式 算术运算符: (1) () (2) *或(乘方) (3) *、/、%(求余) (4) +、 优先级逐级递减,注,例(35+6)-8*6*2,例:17%5=2,2、字符表达式 运算符: + :前后两个字符串首尾连接. - :连接前后两个字符串,并将前字符 串的尾部空格移到合并后的新字符 串尾部. 字符运算符优先级相同,注,练习,“ABCDEF”,“ABC DEF
6、”,“ABCDEF ”,、日期时间表达式 运算符:+,- 例1:2005-08-13+5 例2:2005-08-13-10 例3:2005-08-13-2005-07-13,08/18/05,08/03/05,31,格式 结果 1、+ 日期型 2、+ 日期型 3、- 日期型 4、- 数值型 5、+ 日期时间型 6、+ 日期时间型 7、- 日期时间型 8、- 数值型 注:无+ 和 +,日期时间表达式的格式,4、关系表达式 格式: 运算结果:逻辑型 关系运算符: (1) (4) = (5)= (6)= = (7) 、#或!= (8)$(子串包含测试) 注:所有关系运算符的优先级一样,$(子串包含测试): 格式:$ 功能:用来测试前者是否为后者的子串。 例:,.T.,.F.,.F.,.T.,字符串精确比较与EXECT设置 = =:只有两个字符串完全相等时值为真. set exact on :先在较短的字符串的 尾部加上若干个空格,使两个字符串 长度相等,然后对应字符一一比较 set exact off(默认):右边字符串与左边的字符串前部分内容相匹配时,值就为真.,=:,练习,.F.,.T.
7、,.F.,Set exact on,5、逻辑表达式 运算符: 非: .NOT.(取反) 与: .AND.(两边同时为真才为真) 或: .OR. (两边有一个为真就为真) 注:1)逻辑运算符两边都是逻辑表达式 2)优先级顺序为.NOT. .AND. .OR.,例1:.NOT.(.F.) 例2:(.T.).AND.(.F.),.T.,.F.,.T.,.F.,.F.,.T.,.T.,.T.,.T.,.T.,.F.,.F.,.F.,.F.,6、各种运算符的优先级 算术运算符:() *或 *、/、% +、- 关系运算符: 所有关系运算符的优先级一样 逻辑运算符: .NOT. .AND. .OR. 注:算术运算符关系运算符逻辑运算符 例:3+37.OR.4-23.AND.3+3=5 结果:.F.,练习,1、计算表达式: 187 .OR.a+b$123abc123 结果,.T.,练习,?83.AND.“女”“女生”.ORT.F. 结果,.T.,2.4 系统函数,一、数值函数 1、ABS(数值表达式) 功能:求绝对值 返回值:数值表达式的绝对值 例:ABS(-10) 结果 10,2、SIGN(数值表达
8、式) 功能:求符号 返回值:1 正号 -1 负号 0 零 例: SIGN(25) 结果 1,3、SQRT(数值表达式) 功能:求平方根 返回值:数值表达式的平方根 例:SQRT(25) 结果 5,4、PI() 功能:求圆周率 返值:圆周率 例:X=PI() 结果 X=3.1415926,5、INT(数值表达式) 功能:取整 返回值:数值表达式的整数部分 例:INT(13.5) 结果 13,6、CEILING(数值表达式) 功能:求最小整数 返回值:大于或等于数值表达式的最小整数 例:CEILING(13.5) 结果 14,7、FLOOR(数值表达式) 功能:求最大值 返回值:小于或等于数值表达式的最大整数 例:FLOOR(13.5) 结果 13,8、ROUND(数值表达式1,数值表达式2) 功能:四舍五入 注:1)数值表达式1进行四舍五入的数据; 2)数值表达式2指定小数位数 3)当表达式小于零时,表示对第几位整数 进行四舍五入 例:ROUND(123.456,2) 结果 123.46,、MOD(,) 功能:求余数 返回值:数值表达式1与数值表达式2相除后余数 例:MOD(12,8)
9、结果 4,10、MAX(数值表达式1,数值表达式2,数值表达式3) 功能:求最大值 返回值:几个数值表达式中的最大值 例:MAX(23,12,2,32) 结果 32,11、MIN(数值表达式1,数值表达式2,数值表达式3) 功能:求最小值 返回值:数值表在式中的最小值 例:MIN(23,12,2,32) 结果 2,二、字符函数 1、LEN(字符表达式) 功能:求字符串的长度 返回值:字符表达式所包含字符个数 例:LEN(“HAPPY”) 结果 5,2、LOWER(字符表达式) 功能:大写转换为小写 返回值:将字符表达式的大写字母转换为 小写字母 例:LOWER(“ABC“) 结果 abc,3、UPPER(字符表达式) 功能:小写转换为大写 返回值:将字符表达式的小写字母转换为 大写字母 例:UPPER(“new”) 结果 NEW,4、SPACE(字符表达式) 功能:生成空格字符串 返回值:生成N个空格 例:LEN(SPACE(10) 结果 10,5、TRIM(字符表达式) 功能:删除尾部空格 返回值:删除尾部空格后的字符串 例:LEN(TRIM(“HELLO ”)) 结果 5,6、LTRIM(字符表达式) 功能:删除前导空格 返回值:删除前导空格后的字符串 例:LEN(LTRIM(“ HELLO”)) 结果 5,7、ALLTRIM(字符表达式) 功能:删除
《Visual FoxPro程序设计教学课件高巍巍第2章Visual FoxPro6.0编程基础》由会员w****i分享,可在线阅读,更多相关《Visual FoxPro程序设计教学课件高巍巍第2章Visual FoxPro6.0编程基础》请在金锄头文库上搜索。