第二章Fortran语言基础

上传人:资****亨 文档编号:133881346 上传时间:2020-05-31 格式:PPT 页数:65 大小:300KB
返回 下载 相关 举报
第二章Fortran语言基础_第1页
第1页 / 共65页
第二章Fortran语言基础_第2页
第2页 / 共65页
第二章Fortran语言基础_第3页
第3页 / 共65页
第二章Fortran语言基础_第4页
第4页 / 共65页
第二章Fortran语言基础_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《第二章Fortran语言基础》由会员分享,可在线阅读,更多相关《第二章Fortran语言基础(65页珍藏版)》请在金锄头文库上搜索。

1、 第2章FORTRAN语言基础 字符集与保留字基本数据类型常量与变量运算符与表达式及语句输入输出 源程序 programmain exampleimplicitnonerealt6 t7 t8 tavet6 22 7t7 25 8t8 27 2tave t6 t7 t8 3 0print tave taveend 变量申明 语句 保留字 运算式 注释行 1 字符集FORTRAN规定允许使用的字符为 2 1字符集与保留字 注意 在FORTRAN语句中不区分大小写字母 如REAL何real或Real是一样的 2 保留字保留字 也称关键字 是FORTRAN90 95中具有特定意义的字符串 如 语句关

2、键字 内部函数名 1 语句关键字如语句 IF ATHEN 中的 IF 和 THEN 是语句保留字 类似的保留字有 PROGRAM INTEGER REAL READ PRINT WRITE DO END SUBROUTINE FUNCTION等 详见P445 2 内部函数名如 ABS SIN LOG 等 详见P456 459 注意 FORTRAN90 95允许保留字作为其他实体的名称 变量名 数组名 函数名 程序名等 如 语句 PROGRAMPROGRAM 中第一个 PROGRAM 将被编译程序识别为保留字 第二个 PROGRAM 将被识别为实体名称 主程序单元名 1 FORTRAN提供的数据

3、类型 不同类型数据有不同的特性 其处理的方式有所不同 取值范围也不一样 在处理数据前 必须说明数据的特性 2 2基本数据类型 2 数据类型有四个性质 1 每个数据类型有一个唯一的名称 2 每个数据类型规定了一个取值范围 值的集合 3 每个数据类型规定了其常量数据的表示方法 4 每个数据类型规定了一组操作 在程序运行过程中 其值不能被改变的量称为常量 它在程序中直接生成并直接用于计算和处理 整型常量 实型常量 复型常量 字符型常量 逻辑型常量 2 3常量 1 数值型常量及其类型 1 整型常量整型常量又称为整型常数或整数 包括正数 负数和0 例如 5 367098 2 实型常量实型常量即实型常数或

4、简称为实数 它有两种形式 小数形式 12 3 3 5100 56 指数形式 5 35E5表示5 35 105 2 66E 3表示2 66 10 3 当单精度实数不足以表示一个数的大小或精度时 可以用双精度实数表示 只是将实数指数部分中的字母E改成字母D即可 例如 6 85746304857D5 3875479654765D 3等都是双精度实数 3 复型常量复型常量即复型常数或简称为复数 如 1 0 1 0 表示复数1 0 1 0i 2 1 4 5 表示复数2 1 4 5i 6 0 0 表示复数 6 0 2 字符型常量一对单引号 撇号 或双引号括起来的若干个非空字符串为字符型常量 又称为字符或字

5、符串 如 a A x y 注意 字符串内字母区分大小写 a 和 A 是不同的字符常量 1 字符串中含有撇号如 I maboy I maboy 2 字符串长度 字符串中的空格是有意义 如 I maboy 的长度为10 为空串而 则为长度为1 3 逻辑型常量逻辑常量仅有两个 TRUE 和 FALSE 注意 对于逻辑值 TRUE 在其存储单元字节内每位为 1 可视为整数值 1 对于逻辑值 FALSE 在其存储单元字节内每位为 0 可视为整数值0 它们均能参与整数运算 如 7 FALSE 结果仍为7 1 TRUE 结果则为0 4 符号常量如 圆周率 重力加速度g等数据 1 变量的定义变量是指在程序运行

6、期间其值是可以变化的量 系统为程序中的每一个变量开辟一个存储单元 用来存放变量的值 2 变量的命名FORTRAN中规定须以字母开头 后可接多达30个字母 数字或下划线 2 4变量 下面列出的是合法的标识符 可以作为变量名 Sum average student name BASIC下面是不合法的标识符和变量名 total M D John H1N1 integer 3 变量的类型变量也相应的分为五种类型 1 整型变量 2 实型变量 3 复型变量 4 字符型变量 5 逻辑型变量 数值型变量 字符型变量 逻辑型变量 下面为合法声明整型变量语句 INTEGER KIND 2 a b c d 声明KI

7、ND值为2的4个整型变量INTEGER 1 e 声明KIND值为1的1个整型变量INTEGERf 声明KIND值为4 缺省 的1个整型变量INTEGER g 123 声明KIND值为4 缺省 的1个整型变量且初值为123注意 符号 在声明中可有可无 若有 则可赋初值 否则不可赋初值 如声明语句 INTEGERg 123 是非法语句 1 整型变量 下面为合法声明实型变量语句REAL KIND 4 a b c d 声明KIND值为4的4个实型变量REAL 8 e 声明KIND值为8的1个实型变量REALf 声明KIND值为4 缺省 的1个实型变量REAL g 1 23 声明KIND值为4 缺省 的

8、1个实型变量且赋初值为1 23 注意 符号 在声明中可有可无 若有 则可赋初值 否则不可赋初值 如声明语句 REALg 1 23 是非法语句 KIND值为8的实型变量为双精度变量 可由DOUBLEPRECISION声明取代 2 实型变量 下面为合法声明复型变量语句 COMPLEX KIND 4 a b c d 声明KIND值为4的4个复型变量COMPLEX 8 e 声明KIND值为8的1个复型变量COMPLEXf 声明KIND值为4 缺省 的1个复型变量COMPLEX g 3 4 声明KIND值为4 缺省 的1个复型变量 且赋初值为 3 4 注意 符号 在声明中可有可无 若有 则可赋初值 否则

9、不可赋初值 如声明语句 COMPLEXg 3 4 是非法语句 3 复型变量 下面为合法声明字符型变量语句 CHARACTERa 声明长度为1 缺省 的1个字符型变量CHARACTER 8 b c 声明长度为8的2个字符型变量CHARACTER LEN 4 e f g 声明长度为4的3个字符型变量CHARACTER 6h 声明长度为6的1个字符型变量CHARACTER a A a的初值为 A CHARACTER 7 b FORTRAN c b的初值为 FORTRAN c初值为7空格 而声名语句CHARACTER 7h student 则为非法语句 4 字符型变量 下面为合法声明逻辑型变量语句 L

10、OGICAL KIND 4 a 声明KIND值为4的1个逻辑型变量LOGICAL 4 a 声明KIND值为4的1个逻辑型变量LOGICALa 声明KIND值为4 缺省 的1个逻辑型变量LOGICAL a True 声明KIND值为4 缺省 的1个复型变量 且赋初值为真 5 逻辑型变量 6 变量的声明在程序中 变量类型需要通过类型声明语句来定义 变量声明有两种形式 显式声明和隐式声明 隐含约定 显式声明INTEGERaREALbCOMPLEXc 隐式声明 隐含约定 I N规则规定 在程序中 凡是变量名用以下字母开头的变量被默认为整型变量 I J K L M N i j k l m n以其他字母开

11、头的变量被默认为实型变量 如 id为整型变量 而total则为实型变量 FORTRAN90 95中一般不提倡使用 通过在程序变量说明之前加入 IMPLICITNONE语句来取消I N规则 IMPLICIT语句 功能 禁止I N规则或重新定义I N规则 例如 IMPLICITNONE 关闭默认类型功能 所有变量都要事先声明IMPLICITINTEGER a b c a b c开头的变量都认为是整型IMPLICITREAL m p m到p开头的变量都认为是实型 注意 以上三种方法中 以类型显式声明语句最优先 IMPLICIT语句次之 I N规则 的隐含约定级别最低 类型说明语句和IMPLICIT语

12、句都是非执行语句 类型说明只在本程序单位内有效 IMPLICIT命令要置于PROGRAM命令的下一行 不能把它放在其他位置 7 变量的初始化直接把数值写在声明的变量后面 使用这个方法来设置初值时 不能省略定义语句中间的冒号 如 在FORTRAN77中则使用DATA命令来设置初始值 如 1 运算符号 2 5运算符与表达式 2 算术运算符及其表达式 正号或加号 负号或减号 乘号 除号 乘方 不同的运算符有优先级次序 例如 a b c 2 sin x y 请注意 1 由于用 号作为除号 因此在写除法运算式子时应加上必要的括号 2 乘号不能省略 如asinx 必须写成a sin x 3 FORTRAN

13、中无大 中 小括号之分 一律用小括号 4 乘方按 先右后左 原则处理 5 对单项运算符 正号或负号 相当于在它前面有一个运算量 0 如 a 2相当于0 a 2 而不是 a 2 算术表达式的求值运算的规则 1 同类型的操作数之间运算的结果仍保持原类型 特别要注意 两个整数相除的商也是整数 例如 5 2的值是2而不等于2 5 4 1 等于0 应写为5 1 3 而不是5 1 3 2 如果参加运算的两个操作数为不同类型 则编译系统会自动将它们转换成同一类型后进行运算 转换的规律是 将低级类型转换成高级类型 类型的转换时从左向右进行的 在遇到不同类型的操作数时才进行转换 例如 1 2 1 0等于0 而1

14、 2 1等于0 5 算术操作数类型和级别 3 关系运算符及其表达式 格式为 表达式1关系运算符表达式2有以下几点说明 1 如果表达式1 表达式2都为算术表达式 则进行关系运算前将其转换成同一类型 转换方法同算术表达式 2 如果表达式1 表达式2都为字符表达式 则进行关系运算前将其转换成等长字符串 不足末尾补足空格 3 复数的关系运算只有两种 等于和不等于 4 对算术表达式进行关系运算 根据它们值的大小决定运算结果 5 对字符表达式进行关系运算 依次比较两字符串相应位置字符的ASCII码值大小决定运算结果 例如 12 34 结果为 FALSE 4 5 2 LE 10 结果为 FALSE 4 2

15、7 3 NE 7 3 4 2 结果为 TRUE MOD 4 2 EQ 0 4除以2的余数是否等于0 结果为 TURE banana apple 结果为 FALSE Thisisapen Thisisapencil 字符 的ASCII为46 而 c 的ASCII为99 结果为 FALSE ASCII表详见P580 582 4 逻辑运算符及其表达式 逻辑运算的含义 逻辑表达式的一般形式为 逻辑值1逻辑运算符逻辑值2 1 赋值语句三种赋值语句 算术赋值语句 逻辑赋值语句 字符赋值语句赋值语句的语法描述为 变量名 表达式 2 6语句 1 算术赋值语句在一个赋值表达式中 如果变量名与表达式均为数值类型

16、即整型 实型或复型 则称为算术赋值语句 注意 如果右边表达式类型与左边变量类型不一致时 将表达式计算后的结果类型强制转换为左边变量类型 并将转换后的值赋予左边变量 例如 已知k的类型是INTEGER 赋值语句 k 4 5 3 5 右边表达式的计算结果为15 75 但由于赋值号左边的变量k为整型 因此 先将15 75转换成整数15 然后再赋给变量k 最后变量k的值为15 2 逻辑赋值语句赋值号左边变量和右边表达式类型均为逻辑型 例如 下面语句是合法语句 LOGICALflag1 flag2flag1 TRUE flag2 flag1 AND i 100例如 下面语句是非法语句 LOGICALflag1 flag2flag1 1 5 类型不一致flag2 china 类型不一致 3 字符赋值语句赋值号左边变量和右边表达式类型均为字符型 例如 下面语句是合法语句 CHARACTER 7strstr student str Heisa student 例如 下面语句是非法语句 CHARACTER 7strstr student 125 125是整数不能与字符串进行加法运算str 125 3 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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