第4章常量和变量.ppt
《第4章常量和变量.ppt》由会员分享,可在线阅读,更多相关《第4章常量和变量.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章常量和变量 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望4.1 数值型常量及其类型数值型常量的值在程序运行过程中不会发生改变,它们通常也被称为常数。数值型常量包括整型常量、实型常量和复型常量。本节主要介绍数值型常量的类型和基本概念。4.1.1 整型常量整型常量也称为整型常数或整数。按照所需存储空间的大小,又分为长整型和短整型两种。长整型占用4字节的存储空间,短整型则占用2字节的存储空间。默认情况下为长整型。有些编译器还提供额外的扩展整型常量,如Compaq
2、 Visual Fortran在x86及其兼容机上额外提供占用1字节空间的整型常量;在OpenVMS、Tru64UNIX和Linux系统中还提供占用8字节空间的整型常量。由于存储整型常量的内存单元容量是一定的,因此整数所能表达的范围是有限的。长整型能够存储的数值范围为-231到231-1,即-2,147,483,648到2,147,483,647之间;短整型能够存储的数值范围为-215到215-1,即-32,768到32,767之间。整型常量可以包含正负号,也可以不包含(此时默认为正,即+2与2等价)。在Fortran77标准中,常量内部的空格不起任何作用,如“123”与“123”等价;但Fo
3、rtran90/95标准中则不允许出现这种表达方式。4.1.2 实型常量实型常量也称为实型常数或实数。按照所需存储空间的大小,实数分为单精度和双精度两种。在实数的表达方式上,可以分为小数形式和指数形式两种。下面分别进行说明。1实数的精度:单精度实数占用4字节的存储空间,有效位数6到7位;双精度实数占用8字节的存储空间,有效位数15到16位。2实数的表达形式:当以小数形式来表达实数时,小数点的前面或后面可以不出现数字,但不允许小数点前后都不出现数字。例如,+10.4、-0.8、34.、.01等都是合法的。4.1.3 复型常量复型常量也称为复型常数或复数。按所需存储空间的大小分为单精度和双精度两种
4、。复型常数是Fortran语言中特有的一种数据结构,能够同时存储复数的实部和虚部。在程序中,复型常数用一个括弧中的两个实数来表示。第一个实数表示复数的实部,第二个实数表示复数的虚部。比如:(3.0,6.3)和(1.0E2,2.0E3)。在存储的时候,复型常数会占据两个实数的存储单元。因此,单精度的复型常数占用8字节的存储空间;双精度的复型常数则需要占用16字节的存储空间。Compaq Visual Fortran在OpenVMS、Tru64UNIX和Linux系统中还提供占用32字节存储空间的复型常量。复型常量中实部和虚部所表达的数的范围与同精度的实数是一致的。即单精度时的数值范围为1.175
5、49435E-38到3.40282347E38;双精度时的数值范围为2.2250738585072013D-308到1.7976931348623158D308。4.1.4 常量的存储形式计算机在存储上述三种不同类型的常数时,并不区分数据的具体形式,而是统一将数据转化为二进制的形式进行存储。在转化的过程中,由于存储空间是一定的,因此存储实型常数时会产生存储误差的问题,即计算机的截断问题。在Compaq Visual Fortran安装目录的DF98BIN文件夹中有一个BITVIEWER程序可以查看各种数据在计算机中存储的二进制数据形式。通过它可以直观的了解计算机中数据的存储方式。软件的图形用户
6、界面如图4.1所示,图中最下面一排的方框表示数据在计算机中的存储空间;每一个方框只有两个数值,即0和1;右侧有多个选项可供选择,用于表示数据所占用的存储空间。如4表示4字节、2表示2字节等。4.1.5 符号常量在程序中有时会经常用到同一个常数。如一些数学常数、物理常数等。如果每次都在程序中重复书写使用这些常数值,会显得很繁琐。Fortran允许用一个名字来对常量进行命名。比如常见的用PI来代表圆周率3.1415926535。此时称PI为“符号常量”或“符号常数”,即用符号来表示常量。在Fortran中,可以使用PARAMETER语句将一个符号声明为常量。比如将PI声明为常数3.14159265
7、35,可以用如下的语句实现:PARAMETER(PI=3.1415926535)4.2 数值型变量及其类型数值型变量主要是指整型、实型、复型三种变量。系统会为程序中的每一个变量按照其类型开辟一块存储单元,用于存储变量的值。每一个变量都需要用一个名字(变量名)来识别,并且同一个程序单元内不能用同一个变量名来命名不同的变量。本节主要介绍数值型变量的类型和基本概念。4.2.1 数值型变量概述数值型变量的分类同数值型常量一样。整型变量用来存储整型常量,实型变量用来存储实型常量,复型变量用来存储复型常量。在存储空间的分配上,同类型的变量与常量占据相同的存储空间。变量名的作用是识别程序中的变量。Fortr
8、an中的变量名命名有一定的规则,主要有以下几条。变量名中只能包含26个英文字母和09十个数字;在Fortran90/95标准中,还允许使用下划线“_”。变量名的第一个字符必须是字母,不能是下划线“_”或数字。在Fortran77标准中,变量名不允许超过6个字符;在Fortran90/95标准中,变量名不允许超过31个字符。4.2.2 使用系统默认的隐含约定Fortran中约定:在没有强制规定变量类型的情况下,如果变量名的首字母为I、J、K、L、M、N六个字母中的一个时,即认为该变量为整型变量,而以其他字母开头的变量则默认为实型变量。这就是所谓的“I-N规则”。“I-N规则”的使用有利有弊。好处
9、就是不管在程序的什么位置,如果想要临时添加一个变量,只要按照“I-N规则”的约定取好变量名就可以使用了;缺点也是明显的,就是众多随意添加的变量使得程序阅读起来不是很方便,更有可能造成人为错误。比如下面的代码段就是一个典型的错误范例。TEST0401.F90!这是一个错误的变量定义范例PROGRAM TEST0401 I=3000*3 WRITE(*,*)lEND PROGRAM TEST04014.2.3 使用类型说明语句声明如果不想受“I-N规则”的约束,或是防止出现“I-N”规则下的常见错误,可以使用类型说明语句对变量的类型进行约定。在Fortran中,基本的类型说明语句主要有六种。即IN
10、TEGER语句、REAL语句、DOUBL PRECISION语句、COMPLEX语句、LOGICAL语句和CHARACTER语句。数值型变量主要涉及到前四种语句。即INTEGER语句(整型说明语句)、REAL语句(实型说明语句)、DOUBL PRECISION语句(双精度说明语句)和COMPLEX语句(复型说明语句)。类型声明语句的语法形式如下:类型说明语句(KIND=数字):变量名,变量名4.2.4 用隐含说明语句声明除了上面提到的两种变量类型说明方法外,还可以用隐含说明语句(IMPLICIT语句)将以某一字母开头的所有变量都声明为同一种类型。该语句的语法形式如下:IMPLICIT 类型说明
11、语句(字母列表)其中字母列表中的字母用逗号进行间隔。如果是连续的一串字母,可以用首尾字母间加符号“-”的方式来进行缩写。比如“C-H”。下面的声明代码将以字母A-G和N开头的变量都声明为整型:IMPLICIT INTEGER:(A-G,N)4.2.5 数值型变量声明及其应用在编写程序的过程中,显式的声明所有用到的变量是一种良好的编程习惯,建议在编写实际的应用程序时使用“IMPLICIT NONE”来进行强制的变量类型检查。凡是没有进行类型说明的变量,在编译过程中都会被编译器找出来。在三种类型规定方法中,以类型说明语句的优先级最高,IMPLICIT语句次之,“I-N规则”的级别最低;类型说明语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常量 变量
限制150内