Fortran的点点滴滴——控制语句
一个完整的程序,流程的控制必不可少,Fortran语言中控制语句大致有两类:分支语句和循环语句。
分支语句:
分支语句主要包括IF、SELECT CASE等语句,下面是两个个简单的用法说明:
IF(逻辑表达式1) THEN 块1 ELSE IF(逻辑表达式2) THEN 块2 ELSE 块3 END IF
SELECT CASE(CASE_EXPR) CASE(情况1) 块1 CASE(情况2) 块2 CASE DEFAULT 块n END SELECT
小贴士:IF语句判断易出现由于四舍五入导致两个本来相等的变量却不相等的情况,在程序设计时,应给予关注;
小贴士:CASE结构中应该包含有DEFAULT CASE子句,用来捕捉程序中可能发发生的任何逻辑错误或者非法输入。
循环语句:
循环语句主要为DO语句的各个类型,包括
DO …… IF(逻辑控制语句) EXIT …… END DO
DO I=1,N 循环体 END DO
DO WHILE(逻辑控制语句) 循环体 END DO
小贴士:循环语句中,可以用IF语句结合CYCLE、EXIT增加额外的控制;另外在多重循环中用CYCLE和EXIT时,最好给循环指定一个名称,并在CYCLE或EXIT后指定作用的循环的名称,这样有助于程序员更方便理清程序。
对于数组的操作,Fortran95格式还提供了FORALL和WHERE,这两条控制语句在数组操作中不仅仅简便,而且在高性能计算中具有一定特性,比如FORALL结构中可以更具处理机选择的任意顺序来处理同一数组的元素,这种只有意味这使用大型并行计算机可以优化程序,通过给每台独立的处理机分配元素来最大地提高运行速度。然而,这些语句的用法也有一定的限制,大家可以查看相关资料。