《《程序设计基础》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、格、符号和标点等组成的。字符型数据的特点是没有数量多与少的概念,不能进行数值相关的算术运算,只是一种字符信息的描述。每个字符占用一个字节的存储空间。2数值型(Numeric)数值型数据是用于表示数量的一种数据类型,由数值09及符号(+和)和小数点组成。数值型数据的特点为:数据之间可以进行相加、相减、相乘、相除等算术运算。在内存中,数值型数据占用8个字节的存储空间。 数据类型及其存储方式数据类型及其存储方式 3浮点型(浮点型(Float)浮点型与数值型数据的使用完全一样,只是输出结果以浮点浮点型与数值型数据的使用完全一样,只是输出结果以浮点数的形式显示。数的形式显示。4货币型(货币型(Curre
3、ncy)货币型数据用于代替数值型数据的货币值。通常用货币型数据用于代替数值型数据的货币值。通常用8个字节的个字节的存储空间存储货币型数据,且只允许最多有存储空间存储货币型数据,且只允许最多有4位小数。位小数。5日期型(日期型(Date)日期型数据是用于存储关于年、月、日数据的一种数据类型。日期型数据是用于存储关于年、月、日数据的一种数据类型。每一个日期型数据的存储形式均为每一个日期型数据的存储形式均为“yyyy/mm/dd”,其中,其中yyyy表示年份,占用表示年份,占用4个字节;个字节;mm表示月份,占用表示月份,占用2个字节;个字节;dd表表示日期,占用示日期,占用2个字节。日期型数据的格
4、式可以通过个字节。日期型数据的格式可以通过“选项选项”窗口设定。窗口设定。 数据类型及其存储方式数据类型及其存储方式 6日期时间型(日期时间型(DateTime)日期时间型数据用于存储日期和时间值。日期时间型数据存储格式为日期时间型数据用于存储日期和时间值。日期时间型数据存储格式为“yyyymmdd hhmmss”,其中,其中yyyy表示年,表示年,mm(第一个)表示月,(第一个)表示月,dd表示表示日,日,hh表示小时,表示小时,mm(第二个)表示分钟,(第二个)表示分钟,ss表示秒(必须为整数)。日表示秒(必须为整数)。日期时间型可以表示一个日期值,也可以表示一个时间值,或者表示一个日期时
5、间型可以表示一个日期值,也可以表示一个时间值,或者表示一个日期时间值。日期时间型数据与日期型数据一样在内存中用期时间值。日期时间型数据与日期型数据一样在内存中用8个字节存储。个字节存储。7双精度型(双精度型(Double)双精度型数据是指精度要求较高的数据,或真正的浮点数。双精度型数双精度型数据是指精度要求较高的数据,或真正的浮点数。双精度型数据占用据占用8个字节存储空间,取值范围为个字节存储空间,取值范围为0.904 656 458 412 47103240.988 456 743 11510307。8整数型(整数型(Integer)整数型数据用于存取不包含小数部分的数值。整数型数值不用转换
6、成整数型数据用于存取不包含小数部分的数值。整数型数值不用转换成ASCII字符来存字符来存 储,而数值型数据是要进行二进制转换的。整数型占用储,而数值型数据是要进行二进制转换的。整数型占用4个个字节,取值范围为字节,取值范围为2 147 483 6472 147 483 646。数据类型及其存储方式数据类型及其存储方式 9逻辑型(逻辑型(Logical)逻辑型用于存储只有两个值的数据,即存入的值为真(逻辑型用于存储只有两个值的数据,即存入的值为真(.T.)或假()或假(.F.)两种状态,)两种状态,是一种高效的存储方法,在内存中占一个字节。是一种高效的存储方法,在内存中占一个字节。10备注型(备
7、注型(Memory)备注型数据只用于表中,表示数据块的存储。备注型字段只包含备注型数据只用于表中,表示数据块的存储。备注型字段只包含4个字节,并用个字节,并用这这4个字节来引用备注的实际内容。备注的实际内容只受内存可用空间的限制,并个字节来引用备注的实际内容。备注的实际内容只受内存可用空间的限制,并以块的方式来存储。以块的方式来存储。由于备注型字段的实际内容变化很大,不能将备注的内容存于表文件中,因此必由于备注型字段的实际内容变化很大,不能将备注的内容存于表文件中,因此必须用一个相对独立的文件来存储这些备注内容,这个文件的扩展名为须用一个相对独立的文件来存储这些备注内容,这个文件的扩展名为.d
8、bt。11通用型(通用型(General)通用型数据用于存储通用型数据用于存储OLE对象。每个对象。每个OLE对象的具体内容可以是电子表、图像,对象的具体内容可以是电子表、图像,也可以是也可以是Word文档,这些文档,这些OLE对象由其他支持对象由其他支持OLE的应用程序建立的应用程序建立。通用型字段在表中的长度为通用型字段在表中的长度为4个字节,而个字节,而OLE对象的实际内容、类型和数据则取对象的实际内容、类型和数据则取决于建立决于建立OLE对象的服务器,以及连接或嵌入的对象的服务器,以及连接或嵌入的OLE对象。对象。12字符型(二进制)字符型(二进制)与字符型的使用方法相同,只是采用二进
9、制存储与字符型的使用方法相同,只是采用二进制存储。13备注型(二进制)备注型(二进制)与备注型的使用方法相同,只是采用二进制存储与备注型的使用方法相同,只是采用二进制存储。2.1 常量和变量常量和变量 2.1.1 常量常量常量是指数据处理过程中其值和类型均保持不变的量。在Visual FoxPro中,作为常量常用到的数据类型主要有以下几种。 1数值型常量(Numeric) 数值型数据是有大小含义、可以参与数学运算的数据。数值型数据可以由正、负号、0至9的数字和小数点组成。格外大或格外小的数据还可以采用科学计数法,其中整数还可以采用十六进制表示法。数值型数据的范围是: -0.9999999999
10、E+19至0.9999999999E-20 数值型常量就是平常所说的“数”。 2 2货币型(货币型(CurrencyCurrency) 货币型数据是数值型数据的一种变型。与一般数值型数据不同的是数值之前或之后要加货币符号,另外,货币型数据的小数位数为4位,4位以后的小数将被四舍五入。货币型常量就是一个固定的钱数。例如50美元,可表示为$50。 没有科学记数法形式,在内存中占用8个字节,取值范围见书本3字符型常量(字符型常量(Character)字符型数据是由字母、数字、空格、符号和汉字等字符组成的文字序列。字符型常量最多可由254个字符组成,其中一个汉字占两个字符。字符型常量又称字符串,必须用
11、定界符一对双引号“”或单引号或方括号 括起,在计算字符串的长度时定界符不包含在内。注:空串与包含空格的字符串例题2.1 ?计算机,123,数据,ABCabc?学习,字符串, ,表示方法4日期型常量(日期型常量(Data) 日期型数据是存储和表示年、月、日等日日期型数据是存储和表示年、月、日等日期的数据类型,其内部存储格式为期的数据类型,其内部存储格式为“yyyy/mm/dd”,其中,其中yyyy代表年份,代表年份,mm代表月份,代表月份,dd代表日子,共占代表日子,共占8个字符。个字符。年份的取值范围为:年份的取值范围为:100至至9999;月份的;月份的取值范围为:取值范围为:1至至12;日
12、子的取值范围随年;日子的取值范围随年份和月份的不同而不同,最大范围为:份和月份的不同而不同,最大范围为:1至至31。 日期型常量要用花括号日期型常量要用花括号 作为定界作为定界符。例如,报名日期符。例如,报名日期2004年年7月月20日可以表示为日可以表示为2004/07/20。需要。需要注意的是,日期型数据的格式并不注意的是,日期型数据的格式并不固定,可以通过固定,可以通过set date、set century等命令改成习惯使用的日等命令改成习惯使用的日期格式。常用的格式有期格式。常用的格式有mm/dd/yy、 yyyy-mm-dd 等。等。 严格的日期格式 传统的日期格式 set str
13、ictdate to 0 影响日期格式的设置命令影响日期格式的设置命令 关于命令的几项约定 Set mark to Set date to Set century on|off|to 例题2.2 set century onset mark toset date to ymd?2001-08-265日期时间型常量(日期时间型常量(DateTime)日期时间型数据是存储和表示年、月、日、时、分、秒的数据类型,其内部存储格式为“yyyy/mm/dd hh:mm:ss am|pm”。其中,hh代表小时,mm代表分钟,ss代表秒,am表示上午(默认),pm表示下午。日期和时间之间用空格分开。日期时间型
14、数据可以只含日期,不含时间,或者只含时间,不含日期,或者既含日期,又含时间。日期时间型常量也要用花括号 作为定界符。至于时间采用12小时表示法,还是24小时表示法可以通过set hours命令设置。 例题2.3 时间表示的等价方法 日期时间型数据用8个字节存储 6逻辑型常量(逻辑型常量(Logic) 逻辑型数据用于表示两种相反的状态,例逻辑型数据用于表示两种相反的状态,例如对、错,真、假,是、否等。它只有两如对、错,真、假,是、否等。它只有两个值,一个为个值,一个为“真真”,另,另个为个为“假假”。其常量要用定界符其常量要用定界符“.”。通常,逻辑。通常,逻辑“真真”用用 .T. 或或 .Y.
15、 表示,逻辑表示,逻辑“假假”用用 .F. 或或 .N. 表示,不区分大小写。表示,不区分大小写。2.1.2 变量变量变量是指在处理过程中其值可变的量。在Visual FoxPro中变量又进一步分为:内存变量和字段变量。其中,字段变量是在打开表时,由系统自动产生的与字段名同名的变量。它们都可用于编写程序代码,开发系统功能。为了区分每个变量,需要给变量起一个名字,这个名字就是变量名。变量名可用字母、汉字、数字、下划线标识,但必须以字母或汉字开头。要注意的是,变量名不要与系统定义的保留字相同,例如命令动词、参数、函数名等。 1内存变量内存变量内存变量又称为简单变量。内存变量常用来存储用户经常用到的
16、常量、程序运行的中间结果或最终结果、用户输入的信息等,它只保留在内存中。因此,内存变量是一种临时工作单元,需要时可以临时定义,不用时可以释放。任意时刻,一个变量只保留一个值,当为同一变量赋第二个值时,第一个值将被覆盖。变量的类型由用户给变量所赋的值决定。为变量赋值的同时既声明了变量,又定义了变量的类型。如果未赋值就使用,则系统会弹出找不到变量的提示信息。常用的为内存变量赋值的方式有两种:常用的为内存变量赋值的方式有两种: 方法一:使用等号方法一:使用等号“=”命令赋值命令赋值在在“命令命令”窗口中输入命令:窗口中输入命令:=方法二:方法二:使用STORE命令赋值在“命令”窗口中输入命令:STORE TO 其中变量名表是用逗号“,”分开的多个变量名。与等号赋值命令不同的是一条store命令可以同时给多个变量赋相同的值。 功能注释见书本例如为a,b,c赋相同的值34,需输入命令:store 34 to a,b,c数组 数组是内存中连续的一片区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下表来访问 每个元素相当于一个简单变量,可以分别给各元素赋值 每个元素的数据类型可以不同 创建