《程序设计基础》PPT课件.ppt

上传人:夺命阿水 文档编号:245864 上传时间:2023-03-20 格式:PPT 页数:58 大小:413.50KB
返回 下载 相关 举报
《程序设计基础》PPT课件.ppt_第1页
第1页 / 共58页
《程序设计基础》PPT课件.ppt_第2页
第2页 / 共58页
《程序设计基础》PPT课件.ppt_第3页
第3页 / 共58页
《程序设计基础》PPT课件.ppt_第4页
第4页 / 共58页
《程序设计基础》PPT课件.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《《程序设计基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序设计基础》PPT课件.ppt(58页珍藏版)》请在课桌文档上搜索。

1、第2章 程序设计基础,2.1 常量和变量2.2 表达式2.3 常用函数2.4 程序与程序文件2.5 程序的基本结构2.6 多模块程序设计,补充内容:数据类型及其存储方式,每个数据都有一定的数据类型,数据类型决定了数据的存储方式和运算方式。Visual FoxPro将数据划分为13种类型,各种数据类型介绍如下。1字符型(Character)字符型数据是由字母、数字、空格、符号和标点等组成的。字符型数据的特点是没有数量多与少的概念,不能进行数值相关的算术运算,只是一种字符信息的描述。每个字符占用一个字节的存储空间。2数值型(Numeric)数值型数据是用于表示数量的一种数据类型,由数值09及符号(

2、+和)和小数点组成。数值型数据的特点为:数据之间可以进行相加、相减、相乘、相除等算术运算。在内存中,数值型数据占用8个字节的存储空间。,数据类型及其存储方式,3浮点型(Float)浮点型与数值型数据的使用完全一样,只是输出结果以浮点数的形式显示。4货币型(Currency)货币型数据用于代替数值型数据的货币值。通常用8个字节的存储空间存储货币型数据,且只允许最多有4位小数。5日期型(Date)日期型数据是用于存储关于年、月、日数据的一种数据类型。每一个日期型数据的存储形式均为“yyyy/mm/dd”,其中yyyy表示年份,占用4个字节;mm表示月份,占用2个字节;dd表示日期,占用2个字节。日

3、期型数据的格式可以通过“选项”窗口设定。,数据类型及其存储方式,6日期时间型(DateTime)日期时间型数据用于存储日期和时间值。日期时间型数据存储格式为“yyyymmdd hhmmss”,其中yyyy表示年,mm(第一个)表示月,dd表示日,hh表示小时,mm(第二个)表示分钟,ss表示秒(必须为整数)。日期时间型可以表示一个日期值,也可以表示一个时间值,或者表示一个日期时间值。日期时间型数据与日期型数据一样在内存中用8个字节存储。7双精度型(Double)双精度型数据是指精度要求较高的数据,或真正的浮点数。双精度型数据占用8个字节存储空间,取值范围为0.904 656 458 412 4

4、7103240.988 456 743 11510307。8整数型(Integer)整数型数据用于存取不包含小数部分的数值。整数型数值不用转换成ASCII字符来存 储,而数值型数据是要进行二进制转换的。整数型占用4个字节,取值范围为2 147 483 6472 147 483 646。,数据类型及其存储方式,9逻辑型(Logical)逻辑型用于存储只有两个值的数据,即存入的值为真(.T.)或假(.F.)两种状态,是一种高效的存储方法,在内存中占一个字节。10备注型(Memory)备注型数据只用于表中,表示数据块的存储。备注型字段只包含4个字节,并用这4个字节来引用备注的实际内容。备注的实际内容

5、只受内存可用空间的限制,并以块的方式来存储。由于备注型字段的实际内容变化很大,不能将备注的内容存于表文件中,因此必须用一个相对独立的文件来存储这些备注内容,这个文件的扩展名为.dbt。11通用型(General)通用型数据用于存储OLE对象。每个OLE对象的具体内容可以是电子表、图像,也可以是Word文档,这些OLE对象由其他支持OLE的应用程序建立。通用型字段在表中的长度为4个字节,而OLE对象的实际内容、类型和数据则取决于建立OLE对象的服务器,以及连接或嵌入的OLE对象。12字符型(二进制)与字符型的使用方法相同,只是采用二进制存储。13备注型(二进制)与备注型的使用方法相同,只是采用二

6、进制存储。,2.1 常量和变量,2.1.1 常量常量是指数据处理过程中其值和类型均保持不变的量。在Visual FoxPro中,作为常量常用到的数据类型主要有以下几种。,1数值型常量(Numeric)数值型数据是有大小含义、可以参与数学运算的数据。数值型数据可以由正、负号、0至9的数字和小数点组成。格外大或格外小的数据还可以采用科学计数法,其中整数还可以采用十六进制表示法。数值型数据的范围是:-0.9999999999E+19至0.9999999999E-20数值型常量就是平常所说的“数”。,2货币型(Currency)货币型数据是数值型数据的一种变型。与一般数值型数据不同的是数值之前或之后要

7、加货币符号,另外,货币型数据的小数位数为4位,4位以后的小数将被四舍五入。货币型常量就是一个固定的钱数。例如50美元,可表示为$50。没有科学记数法形式,在内存中占用8个字节,取值范围见书本,3字符型常量(Character)字符型数据是由字母、数字、空格、符号和汉字等字符组成的文字序列。字符型常量最多可由254个字符组成,其中一个汉字占两个字符。字符型常量又称字符串,必须用定界符一对双引号“”或单引号或方括号 括起,在计算字符串的长度时定界符不包含在内。注:空串与包含空格的字符串例题2.1?计算机,123,数据,ABCabc?学习,字符串,表示方法,4日期型常量(Data)日期型数据是存储和

8、表示年、月、日等日期的数据类型,其内部存储格式为“yyyy/mm/dd”,其中yyyy代表年份,mm代表月份,dd代表日子,共占8个字符。年份的取值范围为:100至9999;月份的取值范围为:1至12;日子的取值范围随年份和月份的不同而不同,最大范围为:1至31。,日期型常量要用花括号 作为定界符。例如,报名日期2004年7月20日可以表示为2004/07/20。需要注意的是,日期型数据的格式并不固定,可以通过set date、set century等命令改成习惯使用的日期格式。常用的格式有mm/dd/yy、yyyy-mm-dd 等。,严格的日期格式传统的日期格式 set strictdate

9、 to 0影响日期格式的设置命令,影响日期格式的设置命令,关于命令的几项约定Set mark toSet date toSet century on|off|to例题2.2 set century onset mark toset date to ymd?2001-08-26,5日期时间型常量(DateTime)日期时间型数据是存储和表示年、月、日、时、分、秒的数据类型,其内部存储格式为“yyyy/mm/dd hh:mm:ss am|pm”。其中,hh代表小时,mm代表分钟,ss代表秒,am表示上午(默认),pm表示下午。日期和时间之间用空格分开。日期时间型数据可以只含日期,不含时间,或者只含

10、时间,不含日期,或者既含日期,又含时间。日期时间型常量也要用花括号 作为定界符。至于时间采用12小时表示法,还是24小时表示法可以通过set hours命令设置。,例题2.3时间表示的等价方法日期时间型数据用8个字节存储,6逻辑型常量(Logic)逻辑型数据用于表示两种相反的状态,例如对、错,真、假,是、否等。它只有两个值,一个为“真”,另个为“假”。其常量要用定界符“.”。通常,逻辑“真”用.T.或.Y.表示,逻辑“假”用.F.或.N.表示,不区分大小写。,2.1.2 变量变量是指在处理过程中其值可变的量。在Visual FoxPro中变量又进一步分为:内存变量和字段变量。其中,字段变量是在

11、打开表时,由系统自动产生的与字段名同名的变量。它们都可用于编写程序代码,开发系统功能。为了区分每个变量,需要给变量起一个名字,这个名字就是变量名。变量名可用字母、汉字、数字、下划线标识,但必须以字母或汉字开头。要注意的是,变量名不要与系统定义的保留字相同,例如命令动词、参数、函数名等。,1内存变量内存变量又称为简单变量。内存变量常用来存储用户经常用到的常量、程序运行的中间结果或最终结果、用户输入的信息等,它只保留在内存中。因此,内存变量是一种临时工作单元,需要时可以临时定义,不用时可以释放。任意时刻,一个变量只保留一个值,当为同一变量赋第二个值时,第一个值将被覆盖。变量的类型由用户给变量所赋的

12、值决定。为变量赋值的同时既声明了变量,又定义了变量的类型。如果未赋值就使用,则系统会弹出找不到变量的提示信息。,常用的为内存变量赋值的方式有两种:方法一:使用等号“=”命令赋值在“命令”窗口中输入命令:=方法二:使用STORE命令赋值在“命令”窗口中输入命令:STORE TO 其中变量名表是用逗号“,”分开的多个变量名。与等号赋值命令不同的是一条store命令可以同时给多个变量赋相同的值。,功能注释见书本例如为a,b,c赋相同的值34,需输入命令:store 34 to a,b,c,数组,数组是内存中连续的一片区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下表来访问每个元素相当于一

13、个简单变量,可以分别给各元素赋值每个元素的数据类型可以不同,创建数组的两种格式系统自动给每个数组元素赋逻辑假注意问题,内存变量常用命令,赋值表达式值的显示内存变量的显示内存变量的清除,实例练习,例题2.4,2.2 运算符与表达式,2.2.1 运算符和表达式如同数学运算一样,运算符用以连接运算对象。运算对象包括常量、变量和函数。将运算对象按照一定的规则用运算符连接起来得到表达式。Visual FoxPro中的表达式根据参与运算的数据类型分为五种:算术表达式、字符串表达式、日期时间表达式、关系表达式和逻辑表达式。1算术表达式算术运算符见书表2.2所示。它是用算术运算符将数值型运算对象连接起来的表达

14、式。算术运算的优先顺序,由高到低为:正号(+)和负号(-)、乘方(或*)、乘(*)、除(/)和取余(%)、加(+)和减(-)。同级运算由左向右进行。小括号可以改变运算的优先顺序。括号可以嵌套,一律使用小括号(),运算时内层括号优先。,2.2 运算符与表达式,2字符串表达式它是由字符串运算符将字符类运算对象连接起来的表达式,+,-,优先级相同。a=hello b=everyone!?a+b,len(a+b)?a-b,len(a-b)3日期时间表达式日期时间型表达式是用日期时间型运算符将日期型或日期时间型常量、变量或函数连接起来的表达式。见表2.3。优先级相同。,4关系表达式关系运算也称比较运算。

15、关系运算符见书表2.4所示。关系表达式是用关系运算符将同类型可比较的两个常量、变量或函数连接起来的表达式。关系运算符优先级同注意点:(1)=与$仅用于字符型数据(举例说明)(2)数值型和货币型可以相互比较(举例说明)(3)日期型和日期时间型可以相互比较(4)其他情况下比较符号两边要求相同类型,数值型 货币型比较日期型和日期时间型比较逻辑型比较子串包含测试例题2.9,设置字符的排序次序,Machine 大写小于小写Pinyin 大写大于小写Stroke 按照笔画算Set collate to”,字符串精确比较,=两字符串完全相同时结果为T=结果与set exact on|off相关例题2.10,

16、赋值“=”与相等“=”比较的区别,赋值 左边为内存变量名:x=20相等 两边为表达式或者两边为变量:x=y,5逻辑表达式逻辑运算也称作布尔运算。逻辑运算符见书表2.5所示。逻辑表达式是用逻辑运算符将逻辑型运算对象连接起来的表达式。优先级:not,and,or,运算符优先级,圆括号内优先运算先算术运算,字符串运算和日期时间运算,其次关系运算,最后逻辑运算例题2.11,2.3 常用函数,函数是程序用来实现的数据运算或转换。函数有特定的运算功能,只有一个运算结果,称为函数值。形式:函数名(参数),2.3.1 数值函数,1绝对值和符号函数ABS()功能:返回指定数值型表达式的绝对值。语法:ABS(数值

17、表达式)返回值类型:数值型。,INT()功能:计算一个数值表达式的值,并返回其整数部分。语法:INT(数值表达式)返回值类型:数值型。,2.SQRT()功能:返回指定数值表达式的算术平方根。语法:SQRT(数值表达式)参数:不可为负值。返回值类型:数值型。,3.PI()4.求整数函数Int()Ceiling()Floor(),5ROUND()功能:计算一个数值表达式的值,并对结果按要求四舍五入。语法:ROUND(nExpression,nDecimalPlaces)返回值类型:数值型。提问?,6MOD()功能:用一个数值表达式去除以另一个数值表达 式,返回余数。语法:MOD(nDividend

18、,nDivisor)返回值类型:数值型。,7MAX()功能:比较几个表达式的值,并返回其中值最大的表达式。语法:MAX(eExpression1,eExpression2,eExpression3)所有表达式必须为同一数据类型。返回值类型:由参数类型决定,可以有字符型、数值型、货币型、双精度型、浮点型、日期型或日期时间型。8MIN()功能:比较几个表达式的值,并返回其中值最小的表达式。语法:MIN(eExpression1,eExpression2,eExpression3),2.3.2 字符函数,1 LEN()功能:求字符串长度。语法:LEN(cExpression)参数:cExpressi

19、on 指定求长度的字符串。返回值类型:数值型。注:汉字占两个长度,2.大小写转换LOWER(字符表达式)Upper(字符表达式)返回值类型:字符型。,3.空格字符串生成函数Space(数值表达式),4.删除前后空格函数ALLTRIM()功能:删除位于指定字符表达式前后的空格,并返回删除空格后的字符串。语法:ALLTRIM(cExpression)返回值类型:字符型。LTRIM()功能:删除指定字符表达式的前导空格,并返回删除空格后的字符串。语法:LTRIM(cExpression)返回值类型:字符型。,5 取子串函数,left(字符串表达式,长度)right(字符串表达式,长度)Substr(

20、字符串表达式,起始位置,【长度】)返回值类型:字符型。,6.occurs(字符串表达式1,字符表达式2)7.at(.)atc()8.stuff()9.chartran10.like(),2.3.3 日期时间函数,1DATE()功能:返回系统日期。语法:DATE()返回值类列:日期型。2DATETIME()功能:返回系统的日期时间。语法:DATETIME()返回值类列:日期时间型。3DAY()功能:返回给定日期表达式中的日期。语法:DAY(dExpression)返回值类型:数值型。,4MONTH()功能:返回给定日期表达式中的月份。语法:MONTH(dExpression)返回值类型:数值型。

21、5YEAR()功能:返回给定日期表达式中的年份。语法:YEAR(dExpression)返回值类型:四位数值型。,6HOUR()功能:返回给定的日期时间型表达式的小时部分。语法:HOUR(tExpression)参数:tExpression 指定的日期时间型表达式,HOUR()函数将返回其小时部分。返回值类型:数值型。说明:该函数返回的数值是以24小时制为基础的,并且不受set hours当前设置的影响。7Minute()8.sec(),2.3.4 数据转换函数,1.数值 to 字符串2.字符串 to 数值3.字符串 to 日期、日期时间型4.日期、日期时间型 to 字符串,3.4 常用函数,

22、3DTOC()功能:将日期型表达式转换为字符型数据。语法:DTOC(dExpression)参数:dExpression 指定的日期型表达式,DTOC()把它转换为字符型数据。返回值类型:字符型。4VAL()功能:将字符串转换为数值型数据。语法:VAL(cExpression)参数:cExpression 指定的字符串,VAL()把它转换为数值型数据。返回值类型:数值型。,习题,上机题目1例题10中设置为ON的结果?,3.4 常用函数,3.4.5 测试类函数1TYPE()功能:测试数据类型,返回数据类型的简写符号。语法:TYPE(cExpression)参数:cExpression 指定测试的

23、内容,TYPE()把它的类型转换成对应的简写符号输出。返回值类型:字符型。说明:字符型数据返回字母C;数值型数据返回字母N;日期型数据返回字母D;逻辑型数据返回字母L;未定义的变量返回字母U。2FILE()功能:在磁盘上寻找指定的文件。语法:FILE(cFileName)参数:cFileName 指定要查找文件的名称,必须包含文件的扩展名。若找到cFileName,函数结果为.t.。若找不到cFileName,函数结果为.f.。返回值类型:逻辑型。,3.4 常用函数,3IIF()功能:根据逻辑表达式的结果,返回两个值中的某一个。语法:IIF(lExpression,eExpression1,e

24、Expression2)参数:lExpression 指定要计算的逻辑表达式。eExpression1,eExpression2 如果 lExpression 的计算结果为“真”(.t.),返回结果为 eExpression1;如果lExpression 的计算结果为“假”(.F.),则返回结果为eExpression2。返回值类型:字符、数字、货币、日期或日期时间型。由eExpression的类型决定。,3.4 常用函数,7STR()功能:将指定数值表达式的结果转换为字符串。语法:STR(nExpression,nLength,nDecimalplaces)参数:nExpression 为S

25、TR()要转换的数值表达式。nLength 为STR()返回的字符串长度。如果指定长度大于实际的数字位数,STR()用前导空格填充返回的字符串;如果指定长度小于nExpression的整数部分,STR()返回一串星号,表示数值溢出。nDecimalPlaces 指定由STR()返回的字符串的小数位数,如果要指定小数位数,必须同时包含nLength。如果指定的小数位数小于nExpression中的小数位数,则截掉多余的数字。返回值类型:字符型。,3.4 常用函数,8SUBSTR()功能:从给定的字符表达式或备注字段变量中返回指定数目的字符。语法:SUBSTR(cExpression,nStart

26、Position,nCharactersReturned)参数:cExpression 指定要从其中返回字符串的字符表达式或备注字段变量。nStartPosition 指定从nStartPosition的何处返回字符串。nCharactersReturned指定从cExpression中返回的字符的数目。如果省略了nCharactersReturned参数,则返回字符表达式的全部字符。返回值类型:字符型。9,3.4 常用函数,10&功能:宏代换函数。宏代换函数代换出内存变量或数组元素的值。语法:&VarName.cExpression参数:VarName 指定宏替换中引用的变量名或数组元素名。变量名前不能加用于区分变量名与字段名的前缀“M.”。.cExpression中的句点分隔符(.)和 cExpression 选项可用来在宏后面追加额外的字符。使用附加在宏后面的 cExpression 也可以是一个宏。说明:宏的长度不要超过 Visual FoxPro 中允许的最大语句长度。在宏替换中,变量不能递归引用自身。宏替换有改变数据类型的作用。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号