版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章数值与数值运算,3-1数据类型、常量和变量3-2VisualFoxPro6.0的常用函数3-3操作符及表达式3-4小结,第3章数据与数据运算,3-1数据类型、常量和变量,3-1-1数据类型在VisualFoxPro中所有的数据都具有类型,数据类型决定数据的存储方式和使用方式,即数据的取值范围和可以进行的操作。,VisualFoxPro定义了13种字段类型和7种数据类型。字段类型是:字符型、数值型、浮点型、双精度型、整型、货币型、日期型、日期时间型、逻辑型、备注型、通用型、二进制字符型和二进制备注型。数据类型是:字符型、数值型、货币型、日期型、日期时间型、逻辑型和通用型。,表达式,表达式具
2、有计算、判断和数据类型转换等作用,广泛用于命令、函数、对话框、控件及其属性之中。表达式可以是常量、变量、函数和运算符的组合。,例:表达式S=2*PI()*R,表达式值显示命令命令格式:?|?功能:计算表达式的值,并将其显示在屏幕上。?表示从屏幕下一行的第一列起显示结果;?表示从当前行的当前列起显示结果。,3-1-2常量,常量:在程序的运行过程中不改变其值的量常量的种类:数值型常量字符型常量逻辑型常量日期型常量货币型常量,1.数值型常量,用整数、小数、科学计数法表示的数举例:85,-56.2,1.256E3,3.8E-2等,2.字符型常量,由一串字符组成的字符串表示:用“”(双引号)、(单引号)
3、、(方括号)括起来举例:副教授、”boy”、数据库系统是合法常量,而”Iamaboy”、Itsabest是非法常量。注意:最长只能为254个字符,3.逻辑型常量,表示“真”或“假”的量表示方法:“真”.T.、.Y.、.t.、.y.“假”.F.、.N.、.f.、.n.注意:两边的点不能少,4.货币型常量,表示货币值的量表示:以$开头,4舍5入到小数点4位举例:$123.456789结果为123.4568,5.日期型常量,在VisualFoxPro6.0中日期型常量用花括号“”作为定界符括起来,格式为:YYYY-MM-DD例如:2005/05/18,或2005-05-18。命令:setdateam
4、ericansetdateymd,6.日期时间型常量,日期时间常量也必须用花括号括起来,格式为:YYYY-MM-DDhh:mm:ssa|p例如:2005/05/1910:04am、2005-05-2111:32:14pm。但必须注意日期和时间之间必须有空格。,3-1-3变量,在命令操作和程序运行过程中其值允许变化的量称变量,在VisualFoxPro6.0中使用的变量分为字段变量、内存变量两种。每个变量都必须有一个变量名,变量名是由字母、汉字、数字和下划线组成,但必须以字母或汉字。,字段变量是数据表结构中的任意一个数据项。在一个数据表中,一个字段就是一个字段变量。字段变量是一种多值变量,假设一
5、个数据表中有10条记录,那么该数据表的每一字段就有10个取值,当用字段作变量时,它的当前值随着记录指针的移动而不断变化。,1字段变量,内存变量是表结构之外独立存在于内存中的变量。内存变量可用来存储数据,定义内存变量时需为它取名并赋初值,内存变量建立后存储于内存中。VisualFoxPro6.0中共定义了6种类型的内存变量:数值型、字符型、日期型、日期时间型、逻辑型和货币型。可分为简单变量和数组变量。,2内存变量,内存变量赋值命令格式1:内存变量=TO功能:计算表达式,然后将计算结果赋给内存变量。,3.系统内存变量,由VFP自动生成和维护的变量一般以下划线开头举例:_DIARYDATE&当前日期
6、_CLIPTEXT&剪贴板文本例通过_calcvalue系统变量将一个数字传到计算器中,激活计算器窗口并计算结果。clear_calcvalue=20activatewindowcalculator例往剪贴板中写入信息_CLIPTEXT=hello!“查看剪贴板,数组是具有相同名字、不同下标值的一组变量。数组中的每个数据值称为数组元素,每个数组元素在数组中的位置是固定的,可以通过称为下标的编号来进行访问。在VisualFoxPro6.0中,同一个数组元素在不同时刻可以存储不同类型的数据,在同一数组中,每个数组元素可以被赋予不同数据类型的值。,4.数组变量,数组的定义,格式:DIMENSION|
7、DECLARE(),()(),()例如:DIMENSIONc(4)DECLAREa(3),b(2,3),数组的赋值,SZ(1)=”ABCD”&给SZ(1)赋值,字符型,值:ABCDSZ(2)=23.45&给SZ(2)赋值,数值型,值:23.45SZ(3)=2005/09/02&给SZ(3)赋值,日期型,值:2005年9月2日SZ(4)=2005/11/029:00am&给SZ(4)赋值,日期时间型,值:2005年11月2日上午9点SZ(5)=T&给SZ(5)赋值,逻辑型,值:真,3-2VisualFoxPro常见函数,函数的概念:VisualFoxPro6.00系统为用户提供了十分丰富的函数,
8、灵活运用这些函数,不仅可以简化许多运算,而且能够加强和完善VisualFoxPro的许多功能。函数的一般格式:()函数的三要素:函数名、参数、函数值如:ABS(-2),3-2-1数学运算函数,1平方根函数SQRT()【格式】SQRT(数值表达式)【功能】计算并返回数值表达式的算术平方根。【例1】?SQRT(5*5)5.002绝对值函数ABS()【格式】ABS()【功能】计算并返回数值表达式的绝对值。【例2】?ABS(-43.29)43.29,3四舍五入函数ROUND()【格式】ROUND(数值表达式,有效位数)【功能】对数值表达式的值按指定的有效位数进行四舍五入。【例3】?R0UND(3.14
9、159,4),ROUND(1234.9962,0),ROUND(1234.567,-1)3.141612351230,4取整函数INT()【格式】INT(数值表达式)【功能】计算并返回数值表达式的整数部分。【例4】?INT(-76.93)-76,5求模函数MOD()【格式】MOD(,)【功能】返回除以得到的余数值。【说明】在求摸运算中应注意以下几点:(1)除数不能为0。(2)除数为正数,返回正数;如果为负数,返回负数。(3)如果被除数与除数能够整除,结果为0。(4)如果被除数与除数不能整除,且被除数与除数同号,则结果为被除数除以除数而得到的余数。即:MOD(X1,X2)=X1-INT(X1/X
10、2)*X2。(5)如果被除数与除数不能整除,且被除数与除数异号,则结果为被除数除以除数而得到的余数再加上除数。即:MOD(X1,X2)=X1-INT(X1/X2)*X2+X2。【例5】?MOD(10,3)&结果为:1?MOD(-10,-3)&结果为:-1?MOD(-10,3)&结果为:2?MOD(10,-3)&结果为:-2,3-2-2字符处理函数,1取子串函数SUBSTR()【格式】SUBSTR(字符串表达式,起始位置,长度)【功能】从字符串表达式中的起始位置截取子字符串,长度为所截取的子串的长度。【例1】store”ABCDEFG”toCN?SUBSTR(CN,4,2),SUBS(CN,1,
11、4),SUBS(CN,6,3)DEABCDFG若省略长度,或者长度超过从起始位置到末尾的长度,则截取的子字符串为从起始位置到字符串表达式末尾的所有字符。例如:?SUBSTR(”计算机程序设计教程”,11)设计教程,2求字符串长度函数LEN()【格式】LEN字符串表达式【功能】返回字符串表达式中所包含的字符个数,即字符串长度。【例2】?LEN(”VisualFoxPro6.0”)16,3搜索子串位置函数AT()【格式】AT(字符串1,字符串2,)【功能】寻找字符串1在字符串2中首次出现的起始位置。若字符串2中不包含字符串1,则返回值为零。若有“数值表达式”(假设数值表达式为K),则寻找字符串1在
12、字符串2中第K次出现的位置。【例3】X=”VisualFoxPro6.0”?AT(”Fox”,X)&显示结果为8?AT(”fox”,X)&显示结果为0?AT(”o”,X)&显示结果为9?AT(”o”,X,2)&显示结果为13,4空格函数SPACE()【格式】SPACE(数值表达式)【功能】产生与数值表达式的值相同的空格数。【例4】?”学生”+SPACE(4)+”情况”学生情况在“学生”和“情况”之间产生了4个空格字符。,3-2-3转换函数,1数值转换为字符串函数STR()【格式】STR(数值表达式,长度,小数位如)【功能】将数值表达式的值转换为由长度和小数位数指定的字符串。如果长度值比数值表达
13、式的整数位数还要小,则返回由长度个“*”组成的字符串。【例1】?STR(1324.46,6,1)1324.5?STR(1324.46,3,1),STR(1324.46,8,3)*1324.460,2字符串转换为数值函数VAL()【格式】VAL(字符串表达式)【功能】将字符串表达式转换为数值型数据。【例2】?VAL(”32”+”18”)321800?VAL(”112GH”),VAL(”AB204”),VAL(”ASD”)112.000.000.00,3字符转日期函数CTOD()【格式】CTOD(字符串表达式)【功能】将“月/日/年”格式的字符串表达式转换为日期型数据。【例3】DA=”12/12/
14、04”?CTOD(DA)12/12/04,4日期型转换为字符串函数DTOC()【格式】DTOC(日期)【功能】将日期转换为相应的字符串。【例4】D=2004/11/24DT=DTOC(D)?DT?LEN(DT)11/24/048,3-2-4日期和时间函数,格式:DATE()功能:返回系统日期格式:TIME()功能:返回系统时间格式:DATETIME()功能:返回系统日期时间格式:YEAR()功能:返回中的年份,4位整型,格式:month()功能:返回中的月份格式:day()功能:返回中的日期,举例?YEAR(2001-10-23)&返回2001?month(date()&返回当天的月份,3-2
15、-5测试函数,1测试文件头函数BOF()【格式】BOF()【功能】该函数用于测试指定文件中的记录指针是否指向文件头。如果是则返回真值,否则返回假值。【例】测试文件记录是否指向文件头。USE学生表.dbf?BOF()&显示结果为:.F.SKIP-1&移动记录指针到上一条记录命令?BOF()&显示结果为:.T.,2测试文件尾函数EOF()【格式】EOF()【功能】该函数用于测试指定文件中的记录指针是否指向文件尾。如果是则返回真值,否则返回假值。【例】测试文件记录是否指向文件尾。USE学生表.dbfGOTOBOTTOM?EOF()&显示结果为:.F.SKIP&移动记录指针到上一条记录命令?EOF()
16、&显示结果为:.T.,【格式】RECNO()【功能】测试指定表文件中的记录指针指向的记录号。若指定的工作区无打开的表文件,函数返回值为:0;若指定的表文件无记录或记录指针位于文件头,函数返回值为:1;若记录指针指向文件尾,函数返回值为末记录号加1。【例】测试记录指针的当前位置(假设学生档案表中有10条记录)。USE学生表.dbfGOTOBOTTOM&指向最后一条记录?RECNO()&显示结果为:10SKIP&指针移到下一条记录?RECNO()&显示结果为:11GOTOP&指向第一条记录?RECNO()&显示结果为:1SKIP-1&指针向上移一条记录?RECNO()&显示结果为:1,3测试当前记
17、录号函数RECNO(),字符处理函数(补充),格式:LTRIM()功能:删除字符表达式值前的空格格式:RTRIM(或TRIM()功能:删除字符表达式值后的空格格式:ALLTRIM()功能:将前后的空格去掉举例?“AB”+SPACE(4)+”CD”&返回ABCD?ALLTRIM(“ABCD”)&返回ABCD?len(“abcd”)&返回5?len(alltrim(“ABCD“)&返回4,3-3操作符及表达式,操作符是表示数据之间运算方式的运算符号,一般根据处理数据类型不同可分为算术运算符、字符运算符、关系运算符、逻辑运算符四种。表达式是由常量、变量、函数、操作符及圆括号组成的算式。表达式中的操作
18、对象必须具有相同的数据类型,如果表达式中有不同类型的操作对象,则必须将它们转换成同种数据类型。,3-3-1算术表达式算术表达式是由数值型变量、常量、函数和数值操作符组成的。用于对数值型数据进行常规的算术运算。,算术运算符,举例:?5/3结果:1.67?5%3结果:2?-3*2-5结果:4.00?2*7%32+3结果:8,高,算术运算符,举例?3/2&返回1.5?5.5%3&返回2.5?Int(5/3)&1,取得数值的整数部分?62&返回36,3-3-2字符表达式:,字符表达式是由字符型变量、常量、函数和字符操作符组成的。用于字符串的连接或者比较。字符串操作符为:+:连接两个字符串。-:连接两个
19、字符串,并将第一个字符串尾部的空格移到第二个字符串的尾部。$:判断第一个字符串是否是第二个字符串的子字符串。,例如:LEN1=”VisualFoxPro6.0”LEN2=”数据库教程”?LEN1+LEN2&结果为:VisualFoxPro6.0数据库教程?LEN1-LEN2&结果为:VisualFoxPro6.0数据库教程?len(LEN1-LEN2)&结果为:28,3-3-3日期时间表达式,日期时间表达式是由日期时间型变量、常量、函数和日期时间操作符组成的。日期时间操作符有:+:添加一个天数或秒数-:减少一个天数或秒数PM,例如:?2005-04-04+10&结果为:04/14/05?200
20、5-04-30-15&结果为:04/15/05?2003-08-0410:10a+10&结果为:08/04/0310:10:10AM?2003-08-0410:35p-10&结果为:08/04/0310:34:50,3-3-4关系表达式,关系表达式用于数值、字符、日期型数据的比较运算。关系表达式的运算优先级相同。,例如:?”xyz”#”XYZ”&值为.T.?”abcd”=”abc”&值为.T.?”abc”=”abcd”&值为.F.?”abcd”=”abc”&值为.F.setexacton|off,逻辑表达式是由逻辑型变量、常量、函数和字符运算符组成的。用来对逻辑型数据进行各种逻辑运算,形成各种
21、简单的逻辑结果。,3-3-5逻辑表达式,高,运算符OR或.OR.:逻辑或,只有两个运算对象均为.F.时,返回.F.;其余均返回.T.AND或.AND.:逻辑与,只有两个运算对象均为.T.时,返回.T.;其余均返回.F.NOT或.NOT.:逻辑非,运算对象为.T.时,返回.F.;运算对象为.F.时,返回.T.,例如?1733.AND3412&值为.F.?6/27.0R.”abc”#”ABC”.AND.NOT.F&值为.T.,运算符同级:从左到右运算符不同级,表达式的运算顺序,表达式举例:,?(SQRT(32*2)/4+6)*5-20?(SQRT(32*2)/4+6)*5-2030?“cd”$“abc”+”def”?Date()=2002-3-8A=5b=4c=6?abandac?Abanda+bc,在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年重庆市巫溪县数学中考三模
- 医疗笔试试题及答案
- 急性心梗考试题及答案
- 洁净服管理规程
- 水泥厂能耗降低办法
- 某家具厂工艺改进准则
- 生成式大模型项目实战教案 项目7 实现 AIGC 视频工业化-数字人创作与智影平台全链路解析
- 202暑假培训机构代课教师短期聘用协议三篇
- 安徽省2026八年级数学下册第17章一元二次方程及其应用17.4一元二次方程的根与系数的关系课件新版沪科版
- 2026年农资门店安全管理试题及答案
- 混凝土养护委托协议书
- 雨课堂在线学堂《马克思与当代欧陆思想》单元考核测试答案
- 安全工伤培训总结课件
- 山东省潍坊市2024-2025学年高二下学期期末考试政治试题(含答案)
- 2025年1月国家开放大学汉语言文学本科《外国文学专题》期末纸质考试试题及答案
- 轧钢机械装备及其智能化技术 课件 第7章 剪切机
- 04S520埋地塑料排水管道施工标准图集
- 锅炉更换烟管安装施工方案
- 安徽大学《数据结构与算法》2023-2024学年第一学期期末试卷
- 中建企业定额数据库(劳务分包库)
- 四川省成都市第十一中学2024-2025学年高一上学期入学分班质量检测数学试题(原卷版)
评论
0/150
提交评论