第4章常量和变量ppt课件

上传人:鲁** 文档编号:590843854 上传时间:2024-09-15 格式:PPT 页数:26 大小:101KB
返回 下载 相关 举报
第4章常量和变量ppt课件_第1页
第1页 / 共26页
第4章常量和变量ppt课件_第2页
第2页 / 共26页
第4章常量和变量ppt课件_第3页
第3页 / 共26页
第4章常量和变量ppt课件_第4页
第4页 / 共26页
第4章常量和变量ppt课件_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《第4章常量和变量ppt课件》由会员分享,可在线阅读,更多相关《第4章常量和变量ppt课件(26页珍藏版)》请在金锄头文库上搜索。

1、第4章 常量和变量常量和变量都是程序中预留的用于保管数据的内存空间。常量的值在程序运转过程中一直不会发生变化。而变量的值在程序的运转过程中是可以变化的。在Fortran言语中,有五种根本的数据类型可供运用。他们分别是整型INTEGER、实型REAL、复型COMPLEX、字符型CHARACTER和逻辑型LOGICAL。按用途,又可以分数值型、字符型和逻辑型三种。相应的常量和变量也可以分为这三种。本章将按照用途引见常量和变量的根本概念。4.1 数值型常量及其类型数值型常量的值在程序运转过程中不会发生改动,它们通常也被称为常数。数值型常量包括整型常量、实型常量和复型常量。本节主要引见数值型常量的类型

2、和根本概念。4.1.1 整型常量整型常量也称为整型常数或整数。按照所需存储空间的大小,又分为长整型和短整型两种。长整型占用4字节的存储空间,短整型那么占用2字节的存储空间。默许情况下为长整型。有些编译器还提供额外的扩展整型常量,如Compaq Visual Fortran在x86及其兼容机上额外提供占用1字节空间的整型常量;在OpenVMS、Tru64UNIX和Linux系统中还提供占用8字节空间的整型常量。由于存储整型常量的内存单元容量是一定的,因此整数所能表达的范围是有限的。长整型可以存储的数值范围为-231到231-1,即-2,147,483,648到2,147,483,647之间;短整

3、型可以存储的数值范围为-215到215-1,即-32,768到32,767之间。整型常量可以包含正负号,也可以不包含此时默以为正,即+2与2等价。在Fortran77规范中,常量内部的空格不起任何作用,如“123与“123等价;但Fortran90/95规范中那么不允许出现这种表达方式。4.1.2 实型常量实型常量也称为实型常数或实数。按照所需存储空间的大小,实数分为单精度和双精度两种。在实数的表达方式上,可以分为小数方式和指数方式两种。下面分别进展阐明。1实数的精度:单精度实数占用4字节的存储空间,有效位数6到7位;双精度实数占用8字节的存储空间,有效位数15到16位。2实数的表达方式:当以

4、小数方式来表达实数时,小数点的前面或后面可以不出现数字,但不允许小数点前后都不出现数字。例如,+10.4、-0.8、34.、.01等都是合法的。4.1.3 复型常量复型常量也称为复型常数或复数。按所需存储空间的大小分为单精度和双精度两种。复型常数是Fortran言语中特有的一种数据构造,可以同时存储复数的实部和虚部。在程序中,复型常数用一个括弧中的两个实数来表示。第一个实数表示复数的实部,第二个实数表示复数的虚部。比如:(3.0,6.3)和(1.0E2,2.0E3)。在存储的时候,复型常数会占据两个实数的存储单元。因此,单精度的复型常数占用8字节的存储空间;双精度的复型常数那么需求占用16字节

5、的存储空间。Compaq Visual Fortran在OpenVMS、Tru64UNIX和Linux系统中还提供占用32字节存储空间的复型常量。复型常量中实部和虚部所表达的数的范围与同精度的实数是一致的。即单精度时的数值范围为1.17549435E-38到3.40282347E38;双精度时的数值范围为2.2250738585072019D-308到1.7976931348623158D308。4.1.4 常量的存储方式计算机在存储上述三种不同类型的常数时,并不区分数据的详细方式,而是一致将数据转化为二进制的方式进展存储。在转化的过程中,由于存储空间是一定的,因此存储实型常数时会产生存储误差

6、的问题,即计算机的截断问题。在Compaq Visual Fortran安装目录的DF98BIN文件夹中有一个BITVIEWER程序可以查看各种数据在计算机中存储的二进制数据方式。经过它可以直观的了解计算机中数据的存储方式。软件的图形用户界面如图4.1所示,图中最下面一排的方框表示数据在计算机中的存储空间;每一个方框只需两个数值,即0和1;右侧有多个选项可供选择,用于表示数据所占用的存储空间。如4表示4字节、2表示2字节等。4.1.5 符号常量在程序中有时会经常用到同一个常数。如一些数学常数、物理常数等。假设每次都在程序中反复书写运用这些常数值,会显得很繁琐。Fortran允许用一个名字来对常

7、量进展命名。比如常见的用PI来代表圆周率3.1415926535。此时称PI为“符号常量或“符号常数,即用符号来表示常量。在Fortran中,可以运用PARAMETER语句将一个符号声明为常量。比如将PI声明为常数3.1415926535,可以用如下的语句实现:PARAMETER (PI = 3.1415926535)4.2 数值型变量及其类型数值型变量主要是指整型、实型、复型三种变量。系统会为程序中的每一个变量按照其类型开辟一块存储单元,用于存储变量的值。每一个变量都需求用一个名字变量名来识别,并且同一个程序单元内不能用同一个变量名来命名不同的变量。本节主要引见数值型变量的类型和根本概念。4

8、.2.1 数值型变量概述数值型变量的分类同数值型常量一样。整型变量用来存储整型常量,实型变量用来存储实型常量,复型变量用来存储复型常量。在存储空间的分配上,同类型的变量与常量占据一样的存储空间。变量名的作用是识别程序中的变量。Fortran中的变量名命名有一定的规那么,主要有以下几条。变量名中只能包含26个英文字母和09十个数字;在Fortran90/95规范中,还允许运用下划线“_。变量名的第一个字符必需是字母,不能是下划线“_或数字。在Fortran77规范中,变量名不允许超越6个字符;在Fortran90/95规范中,变量名不允许超越31个字符。4.2.2 运用系统默许的隐含商定Fort

9、ran中商定:在没有强迫规定变量类型的情况下,假设变量名的首字母为I、J、K、L、M、N六个字母中的一个时,即以为该变量为整型变量,而以其他字母开头的变量那么默以为实型变量。这就是所谓的“I-N规那么。“I-N规那么的运用有利有弊。益处就是不论在程序的什么位置,假设想要暂时添加一个变量,只需按照“I-N规那么的商定取好变量名就可以运用了;缺陷也是明显的,就是众多随意添加的变量使得程序阅读起来不是很方便,更有能够呵斥人为错误。比如下面的代码段就是一个典型的错误范例。TEST0401.F90! 这是一个错误的变量定义范例PROGRAM TEST0401 I = 3000 * 3 WRITE(*,

10、*)lEND PROGRAM TEST04014.2.3 运用类型阐明语句声明假设不想受“I-N规那么的约束,或是防止出现“I-N规那么下的常见错误,可以运用类型阐明语句对变量的类型进展商定。在Fortran中,根本的类型阐明语句主要有六种。即INTEGER语句、REAL语句、DOUBL PRECISION语句、COMPLEX语句、LOGICAL语句和CHARACTER语句。数值型变量主要涉及到前四种语句。即INTEGER语句整型阐明语句、REAL语句实型阐明语句、DOUBL PRECISION语句双精度阐明语句和COMPLEX语句复型阐明语句。类型声明语句的语法方式如下:类型阐明语句(KIN

11、D=数字) : 变量名, 变量名4.2.4 用隐含阐明语句声明除了上面提到的两种变量类型阐明方法外,还可以用隐含阐明语句IMPLICIT语句将以某一字母开头的一切变量都声明为同一种类型。该语句的语法方式如下:IMPLICIT 类型阐明语句 (字母列表)其中字母列表中的字母用逗号进展间隔。假设是延续的一串字母,可以用首尾字母间加符号“-的方式来进展缩写。比如“C-H。下面的声明代码将以字母A-G和N开头的变量都声明为整型:IMPLICIT INTEGER : (A-G, N)4.2.5 数值型变量声明及其运用在编写程序的过程中,显式的声明一切用到的变量是一种良好的编程习惯,建议在编写实践的运用程

12、序时运用“IMPLICIT NONE来进展强迫的变量类型检查。凡是没有进展类型阐明的变量,在编译过程中都会被编译器找出来。在三种类型规定方法中,以类型阐明语句的优先级最高,IMPLICIT语句次之,“I-N规那么的级别最低;类型阐明语句和IMPLICIT语句都是不可执行语句,必需出如今本程序单元中一切可执行语句之前;类型阐明语句只能在本程序单元内有效;DOUBLE PRECISION语句在Fortran90/95规范完全可以用REAL(8)语句替代,目前已很少运用。4.3 字符型常量及变量文字处置才干是Fortran言语的另一特征。早期Fortran77中的文字处置才干较弱,在Fortran9

13、0/95规范中的文字处置才干曾经大大加强。本节将引见字符型常量和变量的根本概念。4.3.1 字符型变量概述字符型常量也称为字符串,它是用引号单引号或双引号,Fortran77中只允许用单引号括起来的假设干个字符。字符串中的字符可以是计算机系统中允许运用的恣意字符,通常会大于Fortran字符集。比如字符型常量BEIJING,PLANE,#$%&,北京都是合法的。在计算机中,一个字符通常会占据一个字节的存储空间;但某些言语的字符在计算中需求多个字节的空间来存储。比如,一个汉字在计算机上会占据4字节的存储空间。字符型变量是用来存储字符型常量的变量,在程序中必需事先定义字符型变量才干运用。定义字符型

14、常量可以运用CHARACTER语句,有四种定义字符型变量的语法方式,这些语法定义会在随后的小节进展引见。4.3.2 定义方式一声明字符型变量的第一种语法方式如下。CHARACTER : 变量名在这种方式的定义中,类型声明语句CHARACTER阐明其后变量名所代表的变量为字符型变量。Fortran77和Fortran90/95中都可以采用这种方式进展声明。但需求留意,在Fortran77下不能出现分隔符“:。采用这种方式进展声明时,允许对变量的长度进展阐明,阐明的方式有两种:变量名*len或变量名(len)4.3.3 定义方式二第二种声明字符型变量的语法方式如下。CHARACTER(KIND=n

15、) : 变量名在这种方式的声明中,关键字KIND用于指出赋值号“=后所跟的数字n为变量的种别参数有关种别参数的内容会在后面的小节进展讲解。这个数字实践上就是阐明声明语句中变量名所代表的变量的长度的,意义同定义方式一中的len。采用这种方式也可以定义字符型数组。在实践的编程实际中,也可以采用如下替代方式:CHARACTER(LEN=n) : 变量名4.3.4 定义方式三第三种方式的字符型变量声明的语法方式如下。CHARACTER*len : 变量名在这种方式的声明中,类型声明语句后的星号“*用于指明其后所跟的数字表示变量的长度,意义和前面两种定义方式中的差不多。这种方式的定义也可用于声明字符型数

16、组,方式如下:CHARACTER*len : 变量名(dim)其中的dim用于阐明字符数组中的纬度的长,即长度。下面给出几个实例。CHARACTER*20 : StringCHARACTER*10 : Array_string(20)4.3.5 定义方式四在这种方式中,经过IMPLICIT语句来强迫使以某些字母开头的变量被默许处置成字符型。语法方式如下:IMPLICIT CHARACTER*数字 字母表IMPLICIT CHARACTER(数字) 字母表Fortran77规范中通常采用前一种方式,Fortran90/95规范中通常采用后一种方式。定义中的数字表示字符型变量的长度,即可以存储多少

17、个字符。当数字紧跟CHARACTER语句之后时,表示一致指定字符长度;当数字紧跟变量名之后时,表示单独指定字符的长度。假设一致指定的字符长度与变量个别指定的长度不一致时,以个别指定优先于一致指定。定义中括弧内的部分可有可无。比如:IMPLICIT CHARACTER(5) (G-N), CHARACTER X4.3.6 字符型变量声明及其运用实践上,只需字符变量的长度不为1,那么可以将其看作数组来进展了解。正由于如此,在对字符型变量进展操作时,允许对字符型变量中的某一个或某几个存储位置上的数据进展单独操作。这在接下来的子字符串的相关内容中进展讲解。用PARAMETER语句配合CHARACTER

18、语句还可以定义有名字符型常量,比如:CHARACTER(9) : NamePARAMETER (Name = Peter Pan)或CHARACTER(9), PARAMETER : Name = Peter Pan4.3.7 子字符串的概念在字符型数据的运用上,还有一个子字符串Substring的概念需求了解。所谓子字符串是指字符串的一部分。比如有一字符串为“Beijing,那么“Bei、“jing、“ei等都是该字符串的子字符串。可以用下面的方式来援用子字符串:字符串变量名(star:end)其中,star和end都是整型表达式。他们指定了要援用的子字符串在字符串中的起始和终止位置。4.4

19、 逻辑型常量及变量逻辑量通常用于程序中的流程控制。在Fortran中,逻辑量主要有三种:逻辑常量、逻辑变量和关系表达式。本小节主要引见Fortran中逻辑常量和逻辑变量的根本概念和运用。Fortran中的逻辑常量只需两个:TRUE,表示“真,即满足逻辑条件;FALSE,表示“假,即不满足逻辑条件。例如,当A=0时,此时“A1的值就为TRUE真,而“A-1的值就为FALSE假。逻辑常量又称为逻辑常数,在程序中,它们通常被赋给一个逻辑变量。逻辑变量被用来存放逻辑常量,它的值只能是TRUE或FALSE中的一个。在程序中运用逻辑变量必需事先加以定义阐明。在Fortran中,逻辑变量的定义是经过LOGI

20、CAL语句来实现的。该语句的普通方式为:LOGICAL(KIND=数字) :变量名,变量名4.5 变量的初始化变量在定义之后,通常会由系统按照本身设置为变量赋给一个初值。这一过程称为变量的初始化。但是有些系统并不提供这种功能。假设贸然运用没有经过初始化的变量,很能够导致程序运转出错。在Fortran中,允许在声明变量的同时设置变量的初置。在Fortran90/95中要设置变量的初置,可以将想要设置的初值直接写在声明的变量之后。运用这种方法进展初值的设置时,声明中的两个冒号不能省略。4.6 赋值语句变量在声明后就可以运用了,在运用过程中,变量需求保管不同的数据。将数据的值写进变量的过程就是赋值的

21、过程。在Fortran言语中,除了一些公用的特殊语句外,最常用的赋值手段就是赋值语句。赋值语句就是等号“=,在Fortran中有着广泛的用途。本节就将引见赋值的概念和赋值语句的作用。4.6.1 何为赋值所谓赋值,就是将一个常量的值传输给一个相应的变量。在Fortran中,赋值除了经过DATA语句之外,还可以运用赋值语句来实现,并且赋值语句具有比DATA语句更广泛的用途。赋值语句的作用就是将一个确定的值赋给一个变量,语句的普通格式为:VP其中,表达式中的等号“=就是赋值符;V代表一个变量名,P代表一个表达式。Fortran的赋值语句有三种类型:算术赋值语句、逻辑赋值语句和字符赋值语句。算术赋值语

22、句的作用是将一个算术量赋予一个算术型变量;逻辑赋值语句的作用是将一个逻辑量赋给一个逻辑性变量;字符赋值语句的作用就是将一个字符型数据赋给一个字符型变量。虽然用途不一样,但是三种赋值语句采用的都是同样的运算符号,即赋值符“=。赋值语句中的“=号是赋值符,而不是等号。赋值符的作用是将赋值符右边表达式的值传送给赋值符左边的变量。例如,赋值语句“X=3.0的作用是将数值3.0传送到变量X中。因此,在阅读程序代码时对赋值符的了解应是带方向的,即将什么数据赋值给什么变量。4.6.2 赋值过程的类型转换在一个算术赋值语句V=e中,赋值变量V和表达式e的类型既可以一样,也可以不一样。Fortran中对于赋值时

23、的类型转换问题作了如下规定。假设变量V与表达式e的类型一样,那么直接进展赋值,不需进展类型转换。假设变量V与表达式e的类型不同,那么首先进展表达式的求值,然后求值的结果转换为赋值变量的类型。在不同的类型之间进展转换是有限制条件的:数值型以及逻辑型数据之间允许相互赋值转换;数值型数据与字符型数据之间那么不允许进展直接赋值转换,需求运用公用的字符函数;逻辑型数据不允许与字符型数据之间进展直接或间接的转换。整型数据与实型数据的相互转换遵照如下规那么:整形向实型转换时,坚持数值的大小不变;实型向整型转换时,直接将实型的小数部分截去。在由整型数据向逻辑型数据转换时,逻辑型数据的值由整型数据的奇偶来决议:当整型数据为奇数时,转换成的逻辑型数据的值为TRUE;当整型数据为偶数包括0时,转换成的逻辑型数据的值为FALSE。在由实型数据向逻辑型数据转换时,实型数据会首先转换成整型,然后再由整型向逻辑型转换。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号