fortran第3章2Fortran语言程序设计初步_第1页
fortran第3章2Fortran语言程序设计初步_第2页
fortran第3章2Fortran语言程序设计初步_第3页
fortran第3章2Fortran语言程序设计初步_第4页
fortran第3章2Fortran语言程序设计初步_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Fortran语言程序设计初步第三章·从语言历史到编程实践的系统入门Contents本章学习路线从语言概况到开发实践,系统掌握Fortran编程核心基础。01Fortran语言发展概况与学习意义02Fortran程序的基本组成与源码格式03数据类型、数学运算与赋值语句04开发环境配置与编程实践CHAPTER01Fortran语言发展概况从科学计算的先驱到现代高性能计算的基石LANGUAGEHISTORYFortran语言发展简史Fortran自1957年诞生以来,历经六十余年持续演进,从最初为IBM大型机设计的公式翻译工具,发展为现代高性能计算领域不可替代的编程语言,每一次版本迭代都深刻回应了科学计算与工程仿真的核心需求。早期阶段(1957–1966)1957年IBM推出FortranI,首次实现数学公式到机器码的自动翻译,编译效率接近手写汇编,开创了高级语言时代FortranII(1958)引入独立编译的子程序与COMMON块,支持模块化开发;FortranIV(1962)实现跨硬件平台兼容,成为学术与工业界通用标准经典与现代化(1977至今)Fortran77引入块IF结构与CHARACTER类型,奠定结构化编程基础,至今仍有大量遗留科学代码基于此版本运行Fortran90/95引入自由格式、数组操作、模块与动态内存分配,语法现代化程度大幅提升,对标同时代C/C++的工程能力Fortran2003/2008/2018依次加入面向对象、并行数组(Coarray)与团队集合等特性,巩固其在超算与气候模拟等领域的核心地位SCIENTIFICCOMPUTING为什么要学习Fortran?Fortran在科学计算与高性能计算领域具有不可替代的地位——全球超算平台上超60%的科学代码使用Fortran,气象、物理、化学等核心仿真软件底层均依赖Fortran,其编译器对数值数组运算的优化能力至今领先于多数现代语言。气象预报超级计算机·WRF模型运行环境LinguaFranca科学计算通用语言:全球TOP500超算平台上超60%的科学计算代码使用Fortran编写,涵盖气象预报、核物理模拟、航空航天等关键领域LegacyCode遗留代码不可替代:WRF气象模型、Gaussian量子化学软件、NASA航天仿真系统等核心程序均为Fortran77/90编写,代码量达百万行级别Performance数值计算性能领先:Fortran编译器对多维数组操作的原生优化能力超过C/C++,在大规模矩阵运算与偏微分方程求解场景中性能领先10%-30%Academic理工科学术必备:研究生在课题组中常需阅读、修改或扩展Fortran代码,是进入计算物理、计算化学等方向的必备技能LANGUAGECOMPARISONFortran77与Fortran90核心差异对比Fortran77与Fortran90代表了两个时代的编程理念——前者以固定格式和过程式结构为特征,后者引入自由格式、模块化与数组操作等现代特性。掌握两者差异是阅读遗留代码和编写现代Fortran程序的前提。Fortran77vsFortran90关键特性对比特性维度Fortran77Fortran90源码格式固定格式(列对齐规则)自由格式+兼容固定格式数据类型整型/实型/双精度/复型/逻辑型/字符型新增派生类型、种别(KIND)机制数组能力固定大小数组,逐元素操作动态数组、数组整体运算、WHERE/FORALL控制结构GOTO、块IF、DO循环新增SELECTCASE、DOWHILE、EXIT/CYCLE模块化COMMON块共享数据,无模块概念MODULE模块、USE引用、接口检查内存管理静态分配为主ALLOCATE/DEALLOCATE动态分配Fortran90在语法灵活性、数据结构和编程范式上全面超越77版本,是现代Fortran开发的推荐起点CHAPTER02Fortran程序的基本组成字符集、源码格式与程序单位的结构解析FortranFundamentalsFortran字符集与命名规则Fortran字符集由字母、数字和特殊字符三类构成,编译器对大小写不敏感。变量命名需遵循以字母开头、长度限制和保留字回避等规则,这些基础约定是编写合法Fortran代码的第一步。字符集组成A–Z字母不区分大小写,建议统一小写提升可读性0–9构成数值常量与变量名中的数字部分+–*/=.特殊字符承担运算符、分隔符、字符串定界符等语法功能86字符标准字符集总数变量命名规则字母开头F77限6字符,F90放宽至31字符回避保留字PROGRAM、DO、IF等保留字禁用作变量名语义命名如temperature、velocity_x,避免无意义名称≤31F90+最大长度常见错误提醒中文标点中文逗号、括号会导致编译错误,确保输入法处于英文半角模式非法字符@、#、%等字符会被编译器拒绝,仅允许字母、数字和下划线下划线使用下划线可用于连接单词,但避免连续使用或置于开头结尾半角模式输入法关键设置SOURCEFORMAT源码格式:固定格式与自由格式Fortran保留了两套源码格式——源于打孔卡片时代的固定格式与现代化的自由格式。理解两者差异是阅读遗留代码和编写新程序的基本功。LEGACY固定格式(FixedForm)源自打孔卡片时代的列对齐规则标号与续行:第1-5列放置语句标号,供GOTO跳转引用;第6列填入非空非零字符表示续行正文与溢出区:第7-72列为语句正文区;第73列起编译器自动忽略注释与扩展名:第1列为C或*时整行为注释;扩展名.f/.forMODERN自由格式(FreeForm)现代化灵活排版,推荐新程序采用无列限制:代码可从任意位置开始,使用空格和缩进增强可读性,不受72列约束续行与注释:行末&为续行符;!为注释符,之后到行末均为注释扩展名:.f90/.f95,编译器自动按自由格式解析,推荐所有新程序采用FORTRANFUNDAMENTALSFortran程序简例:计算圆面积一个标准的Fortran程序由PROGRAM声明、变量声明区、执行语句区和ENDPROGRAM标记四部分组成。通过IMPLICITNONE强制显式声明变量是Fortran90推荐的最佳实践,能有效避免因隐式类型推断导致的隐蔽错误。01程序入口声明:PROGRAMcircle_area声明程序名称,作为整个程序单元的入口标识;IMPLICITNONE关闭隐式类型推断,要求所有变量必须显式声明后才可使用02变量声明区:使用REAL::radius,area定义实数变量,REAL(KIND=8)::pi定义双精度常量,类型声明必须在执行语句之前完成03执行区:包含赋值语句(radius=5.0)、算术运算(area=pi*radius**2)和输出语句(WRITE(*,*)),按从上到下顺序依次执行04程序结束标记:ENDPROGRAMcircle_area标记程序单元结束,Fortran编译器以此判断程序边界,缺失END语句将导致编译错误ProgramArchitectureFortran程序的整体构造Fortran程序由主程序和多个辅助程序单位组成,每个程序单位可独立编译,通过调用关系和USE语句建立联系,支持模块化开发与团队协作。程序单位类型01主程序:执行入口,有且仅有一个,负责整体流程控制和数据调度02子程序与函数:封装可复用计算逻辑,通过CALL语句或表达式调用03模块:Fortran90引入的封装单元,通过USE语句被其他单位引用PROGRAM·SUBROUTINE·MODULE程序体与语句顺序01语句严格遵循USE→IMPLICIT→类型声明→执行语句的顺序02可执行语句必须出现在所有声明语句之后,混排将导致编译器报错03标号可附加于语句前方,用于GOTO跳转或FORMAT引用,应尽量减少使用USE→IMPLICIT→DECL→EXECFORTRANDATASHARING程序单位间的数据传递机制Fortran程序单位之间通过参数传递、COMMON块和MODULE三种机制共享数据。其中参数传递默认按引用(地址)方式进行,子程序可直接修改调用方变量;MODULE是Fortran90推荐的数据共享方式,配合接口检查能有效避免数据传递错误。参数传递(哑元-实元对应)CALL语句中实元与SUBROUTINE定义中的哑元按位置一一匹配,Fortran默认按引用传递,子程序内修改哑元会直接影响调用方变量CALL引用传递COMMON块共享(Fortran77)多个程序单位通过声明同名COMMON块访问同一块内存区域,无需参数传递即可共享数据,但缺乏类型安全检查,大型项目中易引发隐蔽错误共享内存区MODULE模块共享(Fortran90)将共享变量和过程封装在MODULE中,其他程序单位通过USE语句引入,编译器自动验证接口一致性,是当前最安全、最可维护的数据共享方案USE接口验证DATA语句初始化用于在程序启动前为变量赋初值,常见于COMMON块的初始化(BLOCKDATA单元中),Fortran90中也可在声明语句中直接用等号赋初值BLOCKDATACHAPTER03数据类型与数学运算从常量变量到算术表达式的完整运算体系DATATYPESFortran六种基本数据类型Fortran提供整型、实型、双精度、复型、逻辑型和字符型六种基本数据类型,Fortran90引入的种别(KIND)机制允许开发者精确控制每种类型的存储字节数和数值范围,这种显式精度管理是Fortran在科学计算中保证数值可靠性的重要设计。Fortran基本数据类型速查表数据类型声明关键字默认字节数数值范围/精度典型用途整型INTEGER4-2^31~2^31-1循环计数、数组索引实型REAL/REAL(4)4约±10^38,精度7位一般精度计算双精度REAL(8)8约±10^308,精度15位科学计算主力类型复型COMPLEX/COMPLEX(8)8/16实部+虚部各为实型/双精度电磁场、量子力学逻辑型LOGICAL4.TRUE./.FALSE.条件判断、标志位字符型CHARACTER(len=n)nASCII字符序列文件名、标签文本科学计算中REAL(8)双精度实型使用最频繁,KIND机制是Fortran精确控制数值精度的核心工具FortranFundamentals·常量体系常量的表示方法与命名常量Fortran常量分为字面常量和命名常量两类。字面常量直接在代码中书写,实数常量支持小数和科学计数法两种形式(E表单精度、D表双精度);命名常量通过PARAMETER属性定义,编译后值不可更改,是科学计算中管理物理常数和数学常数的最佳实践。01数值常量整数常量直接书写(如42、-7),实数常量支持小数形式(3.14、-0.001)和科学计数法(1.5E3=1500),其中E表示单精度指数、D表示双精度指数。INTEGER·REAL·E/DNOTATION02复数与字符串复数常量用括号包裹实部与虚部,如(3.0,4.0)表示3+4i;字符串常量用单引号或双引号定界,如'input.dat'或"Hello,Fortran"。(REAL,REAL)·QUOTEDELIMITER03PARAMETER属性命名常量通过PARAMETER属性定义:REAL,PARAMETER::pi=3.141592653589793238,定义后值不可被修改,编译器会在编译期进行常量替换,兼顾可读性与性能。COMPILE-TIME·IMMUTABLE04KIND精度控制Fortran90的KIND机制支持指定常量的精度级别,如1.0_KIND(1.0D0)可确保常量以双精度存储,避免默认单精度导致的截断误差。SELECTED_REAL_KINDFortran基础语法变量的声明与隐式类型推断Fortran支持显式声明和隐式声明两种变量定义方式。隐式声明的I-N规则极易因拼写错误导致隐蔽bug。IMPLICITNONE是现代Fortran编程的必备语句。高校编程学习场景01显式声明使用类型关键字直接定义变量:INTEGER、REAL(8)、LOGICAL等,类型明确,编译器可检查,是推荐的声明方式。02I-N隐式规则:未显式声明时,首字母I–N推断为INTEGER,其余推断为REAL;如i自动为整型,x自动为实型。03IMPLICITNONE:写在程序单位开头,关闭隐式推断,未声明变量触发编译错误,能有效捕获拼写导致的隐蔽bug。04变量初始化可在声明时完成:REAL::x=0.0,Fortran90支持声明中直接赋初值,等价DATA语句但更简洁。FORTRAN·基础语法算术运算符与优先级规则Fortran使用五个算术运算符(**、*、/、+、-),优先级从幂运算到加减依次递减。幂运算遵循从右到左的结合规则,整数除法会自动截断小数部分——这是科学计算中最常见的隐蔽错误来源,需确保至少一个操作数为实数类型。Fortran算术运算符优先级速查REFERENCE优先级运算符名称示例结果1(最高)**幂运算2.0**38.0(右结合:2**3**2=512)2*乘法3.0*4.012.02/除法3/2vs3.0/21vs1.5(整数除法截断!)3+加法2.5+3.15.63-减法/负号-5+3-2(一元负号优先级高于二元减号)幂运算**优先级最高且右结合;整数除法截断是科学计算中最需警惕的隐蔽错误Fortran·TypeSystem算术表达式的类型规则与运算误差Fortran算术表达式遵循自动向高精度方向转换的类型规则(整型→实型→双精度→复型),但赋值时的最终类型由等号左侧变量决定。浮点运算固有的精度限制要求开发者在比较浮点数时采用容差判断法,而非直接等号比较。自动类型转换方向INTEGER→REAL→REAL(8)→COMPLEX,混合运算时低精度操作数自动提升为高精度后再计算,表达式结果取两者中较高精度。这种设计确保了计算过程中精度不会意外丢失,是Fortran数值计算的基础机制。INT→REAL→DBL→CMPX赋值语句的截断规则等号右侧表达式的结果会被强制转换为左侧变量的类型,如INTEGER::n=3.9结果为3(截断而非四舍五入)。这种隐式转换是常见bug来源,需特别注意赋值语句的类型匹配问题。3.9→3截断浮点运算误差IEEE754浮点表示法导致0.1+0.2≠0.3等精度问题,比较浮点数应使用ABS(a-b)<1.0E-6而非a==b。这是科学计算中必须遵守的黄金法则,直接相等比较几乎总是错误的。IEEE754溢出与下溢超出类型范围的运算会产生溢出(结果无意义),极小值可能下溢为0.0,科学计算中应选择REAL(8)双精度以扩大安全数值范围。合理选择数据类型是数值稳定性的关键保障。REAL(8)IntrinsicFunctionsFortran内置数学函数(内在函数)Fortran提供了丰富的内置数学函数库,涵盖三角函数、指数对数、取整运算、极值运算等常用数学操作。这些内在函数由编译器直接优化,无需引入外部库即可获得接近硬件极限的计算性能。常用数学函数三角函数—SIN(x)、COS(x)、TAN(x),参数为弧度制;反三角函数ASIN、ACOS、ATAN,ATAN2(y,x)可确定象限指数与对数—EXP(x)计算eˣ,LOG(x)为自然对数,LOG10(x)为常用对数,SQRT(x)计算平方根绝对值与取模—ABS(x)取绝对值(支持整型/实型/复型),MOD(a,b)计算a除以b的余数取整与极值函数取整运算—INT(x)截断取整,NINT(x)四舍五入,FLOOR(x)向下取整,CEILING(x)向上取整极值函数—MAX(a,b,…)返回最大值,MIN(a,b,…)返回最小值,支持整型和实型参数数组函数—SUM求和、PRODUCT求积、MAXVAL/MINVAL极值、DOT_PRODUCT点积、MATMUL矩阵乘法FORTRAN·FUNDAMENTALS赋值语句的格式与执行规则赋值语句(变量=表达式)是Fortran最基本的执行语句,类型转换方向由左侧变量类型决定,整数除法在赋值前已完成计算。◆基本格式变量名=算术表达式,等号表示赋值而非数学等式。编译器先完整计算右侧表达式的值,再将结果按左侧变量类型进行转换,最终存入目标变量。variable=expression⟲类型转换规则右侧表达式的计算结果会自动转换为左侧变量的类型后再存入。例如声明INTEGER::n后执行n=3.9,实际存储结果为3(小数部分直接截断)。AUTOTYPECASTING⚠常见陷阱表达式x=7/2得到3.0而非3.5,因为整数除法在赋值前已完成计算。正确写法应为x=7.0/2或x=REAL(7)/2,确保至少一个操作数为实型。7/2→3,NOT3.5▣语法限制Fortran不支持连续赋值,a=b=c的写法不合法,每次赋值语句只能指定一个目标变量。同一变量可被多次赋值,新值将覆盖变量中原有的旧值。NOCHAINEDASSIGNCHAPTER04开发环境与编程实践从编译器安装到第一个Fortran程序的完整实操指南DEVELOPMENTENVIRONMENT常用Fortran开发环境概览Fortran开发环境主要包括IntelFortran(ifort/ifx,工业级性能标杆)、gfortran(开源免费跨平台首选)和经典的CompaqVisualFortran(国内高校广泛使用但已停更)。选择合适的编译器是顺利学习和开发Fortran程序的第一步。主流编译器01IntelFortranIntel官方编译器,对IntelCPU指令集优化最深,支持OpenMP/MPI并行,可与VisualStudio深度集成,学术版免费02gfortranGNU编译器集合的Fortran前端,完全开源免费,支持Linux/macOS/Windows三大平台,对Fortran2003/2008标准支持良好03NVIDIAHPCSDK原PGI编译器,面向GPU加速计算,支持CUDAFortran和OpenACC指令,适合大规模并行加速的高性能计算场景经典IDE01CompaqVisualFortran6.6集成开发环境,提供图形化项目管理、代码编辑和调试功能,国内高校教材配套使用较多,仅支持Windows且已停止维护02VS+IntelFortran插件当前Windows平台推荐的开发方案,兼具VS的强大编辑调试能力和ifort的编译优化能力03VSCode+ModernFortran轻量级跨平台方案,配合gfortran后端,适合macOS和Linux用户,配置灵活但需手动设置编译任务科研计算集群部署环境实拍COMPILATIONWORKFLOWgfortran编译运行流程详解Fortran程序的开发遵循'编辑源码→编译链接→运行调试'的标准工作流。gfortran作为开源编译器的代表,通过简单的命令行操作即可完成编译,掌握其常用编译参数和错误信息解读是高效开发的基础技能。STEP01编写源码使用文本编辑器编写Fortran代码,自由格式保存为.f90扩展名,固定格式保存为.f或.for,文件名建议与PROGRAM名称一致。.f90·.f·.forSTEP02编译命令gfortran-o输出文件名源文件名.f90。常用选项:-Wall显示所有警告,-O2二级优化,-g生成调试信息。-Wall·-O2·-gSTEP03运行程序Linux/macOS下执行./可执行文件名,Windows下输入文件名.exe;输出结果显示在终端窗口中。./PROGRAM.EXESTEP04错误处理编译错误显示行号与类型,定位修正后重新编译;运行时错误如数组越界,需-g编译后用gdb排查。GDBDEBUGGERChapter01·HelloWorld第一个Fortran程序:HelloWorldHelloWorld程序虽然简单,但已完整展示了Fortran程序的四大基本结构要素——PROGRAM声明、IMPLICITNONE安全声明、执行语句和ENDPROGRAM结束标记。01PROGRAMhello声明程序名称为hello,作为程序单元的入口标识,名称可自定义但应与文件名保持一致便于管理02IMPLICITNONE关闭隐式类型推断,虽然本例中未使用任何变量,但养成在每个程序单位开头写此语句的习惯至关重要03WRITE(*,*)将字符串输出到屏幕,第一个*表示标准输出设备,第二个*表示列表定向格式(自动添加空格分隔)04ENDPROGRAMhello标记程序结束,编译器以此判断程序单元的边界;编译命令为gfortran-ohellohello.f90FortranProgramming编程实践:求解二次方程二次方程求解程序综合运用了变量声明、键盘输入、算术运算、条件判断和格式化输出等Fortran核心编程要素。使用REAL(8)双精度和判别式分支处理,展示了科学计算程序从输入到输出的完整数据流与控制流设计。程序设计要点变量声明使用REAL(8)声明a,b,c,x1,x2,delta六个双精度变量,确保判别式和求根公式的计算精度满足工程要求。双精度浮点数有效数字约15位,远优于单精度的7位精度。REAL(8)程序设计要点交互输入READ(*,*)从键盘读取三个系数,WRITE(*,*)输出提示信息引导用户输入,构成交互式计算程序的基本框架。星号*表示使用默认格式,简化输入输出操作。READ/WRITE程序设计要点判别式计算delta=b²−4ac计算判别式,根据delta大于零、等于零、小于零三种情况分别用IF-ELSEIF-ELSE分支处理。分支结构是控制流设计的核心,决定程序执行路径。IF-ELSE关键计算逻辑不等实根x1=(−b+√delta)/(2a),x2=(−b−√delta)/(2a),使用内置SQRT函数计算平方根。两个互异实根对应抛物线与x轴有两个交点,是最常见的实数解情况。Δ>0关键计算逻辑重根x=−b/(2a),判别式恰好为零时方程只有一个解,输出时需特别标注"重根"提示。此时抛物线顶点恰好落在x轴上,是实根情况的临界状态。Δ=0关键计算逻辑复数根实部−b/(2a),虚部√(−delta)/(2a),以a±bi格式输出,需处理delta为负数时SQRT参数取反。复数根对应抛物线与x轴无交点,在工程振动分析中常见。Δ<0I/OSTATEMENTS基本输入输出语句Fortran通过READ、WRITE和PRINT三类语句实现数据输入输出,列表定向格式(*号)提供便捷的默认交互方式。格式化输出通过FORMAT描述符精确控制数据呈现形式,是科学计算结果展示的重要工具,完整格式规则将在后续章节深入展开。READ(*,*)从标准输入读取数据—多个变量间用空格或逗号分隔,用户按回车后数据依次赋给各变量STDINWRITE(*,*)向标准输出打印数据—各输出项间自动添加空格分隔,支持输出常量、变量和表达式的值STDOUTPRINT*WRITE(*,*)的等价简写形式—功能完全相同,在简单程序中更为常用ALIASWRITE(*,'(A,F8.3)')格式化输出—A表示字符串输出、F8.3表示8位宽3位小数的浮点数,后续章节将系统讲解FORMAT描述符FMTAlgorithm&Flowchart算法设计与流程图基础算法是解决问题的明确步骤序列,流程图是其标准化可视化工具。掌握算法设计思维比记忆语法更重要——编程的本质是将算法翻译为代码。流程图的四种基本图形符号可表达任意复杂的程序逻辑结构。流程图符号体系01椭圆(起止框):标记算法的开始与结束矩形(处理框):表示计算、赋值等操作菱形(判断框):表示条件分支,一个入口两个出口02平行四边形(输入输出框):表示数据的读入或打印箭头线(流程线):指示执行方向连接点(小圆圈):连接跨页或复杂的流程跳转三种基本结构顺序结构:语句按从上到下的顺序依次执行,每条语句执行一次且仅一次,是最基础的程序组织方式选择结构:根据条件判断的结果选择执行不同分支,Fortran中用IF-THEN-ELSE和SELECTCASE实现循环结构:在满足条件时重复执行某段代码,Fortran中用DO循环和DOWHILE实现,是处理批量数据的核心工具Fortran·顺序结构顺序程序设计:从问题到代码顺序结构程序按从上到下的顺序依次执行所有语句,是Fortran编程中最基础的控制流模式。掌握标准化编程流程,是后续学习选择和循环结构的必要前提。温度转换READ华氏温度F,计算C=5.0/9.0*(F−32.0),WRITE输出摄氏度C。注意使用浮点除法避免整数截断。5.0/9.0≠5/9三角形面积海伦公式:s=(a+b+c)/2.0,area=SQRT(s·(s−a)·(s−b)·(s−c))。利用内置函数提高计算精度。HeronFormula两点间距离d=SQRT((x₂−x₁)²+(y₂−y₁)²),利用内置SQRT函数避免手写幂运算,确保数值稳定性。SQRT()Built-in编程习惯建议先写公式再编码在纸笔上写出数学公式和计算步骤,明确所有中间变量后再开始编码。这种自上而下的设计方法能有效避免边想边写导致的逻辑混乱,提高代码正确性和可维护性。有意义的命名与注释使用有意义的变量名称(如temperature而非t1),关键计算步骤旁添加注释说明公式来源。良好的命名和注释习惯是团队协作和代码复用的基础。ChapterSummary本章知识框架回顾本章系统构建了Fortran编程的基础知识体系——从语言历史与版本差异,到字符集与源码格式规范,再到数据类型、算术运算与赋值语句的核心规则,最后落实到开发环境的实操使用。这四个维度相互支撑,共同构成后续深入学习选择结构、循环结构和数组操作的必要基石。语言基础Fortran发展六十年,Fortran77(固定格式、过程式)与Fortran90(自由格式、模块化)是两个里程碑版本科学计算领域不可替代:超算平台60%+代码使用Fortran,气象、物理、化学等核心仿真软件底层均依赖Fortran60年演进程序结构字符集由字母、数字、特殊字符组成,大小写不敏感;固定格式受列限制,自由格式灵活排版程序由主程序+辅助单位构成,IMPLICITNONE是必备安全声明ImplicitNone运算与实践六种基本类型,KIND机制精确控制精度;整数除法截断和浮点比较是最常见的隐蔽错误来源gfortran编译运行流程:编辑.f90→编译→终端运行→调试修正gfort

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论