fortran和c++对比(2)

2019-04-13 23:41

七、选择结构

选择结构 fortran C++ 1. IF语句 1. If语句 1) 单分支IF结构 1) 单支if语句 a) IF(逻辑表达式)?? if语句 if(s>100) write(*,*) “slow” ??; b) 块IF结构 2) 双支if-else语句 IF(逻辑表达式)THEN if(表达式) ?? ??; END IF else 2) 双支IF结构 ??; IF(逻辑表达式)THEN 3) 嵌套if语句 ?? 2. 多支switch语句 ELSE switch(表达式) ?? case 常量表达式1; END IF ??; 3) 多支IF结构 case 常量表达式n; a) ELSE IF语句 ??; default IF(条件1)THEN ?? ??; ELSE IF(条件2)THEN 注释: ?? (1) 与break语句结合跳出循环 ELSE (2) 两个或以上常量都对应一?? 个语句,则 END IF case 表达式1 b) 嵌套IF语句 case 表达式2 IF(条件1)THEN ??; IF(条件2)THEN IF(条件3)THEN ?? ELSE ?? END IF END IF END IF 2. SELECT CASE语句 select case(变量) case(数值1) ?? case(数值2) …… case default ?? end select 注释: case冒号前后两个数值代表范围内所有数值,用逗号放入一个或多个数值 数值只能是整型或字符型 case中数值必须为常量,不能使用变量

八、循环结构

循环结构 fortran 1. do语句 do counter=起始值,终止值,计数器增值 ?? ?? end do 2. do while语句 do while (逻辑表达式) ?? ?? end do C++ 1. while语句 while(逻辑表达式) { ??; } 2. for语句 for(表达式1;表达式2;表达式3) { ??; } 3. do while语句 do { ??; } while(表达式); 1. goto语句 label; ?? ?? if(逻辑表达式) goto label; 流程控制语句 1. GOTO语句 GOTO 100 ?? 100 ?? 跳跃至指定行,不建议使用 2. PAUSE语句 当遇到该语句暂停执行,直到用户按下ENTER继续执行 3. CONTINUE语句 继续向下执行语句 4. STOP语句 结束程序执行 1. CYCLE语句 略去该语句之后的循环模块,继续下一次循环 2. EXIT语句 跳出当前的循环 3. 署名的循环 例如:loop: do i=1,4,1 与EXIT、CYCLE语句结合 选择或循环控制语句 1. break语句 只能用在switch和循环语句中 用在循环中跳出当前的循环,同fortran的exit 2. Continue语句 略去该语句之后的循环模块,继续下一次循环,同fortran的cycle 九、数组

一维数组 fortran 声明方法 1. integer a(10) 2. integer,dimension(10)::a 注释方法:下标从1开始 声明方法 1. integer a(10,10) 2. integer,dimension(10,10)::a 声明方法 1. integer a(10,10,10) 2. integer,dimension(10,10,10)::a 注释: 另类声明:integer a(m:n) m~n为坐标范围 C++ 声明方法: int a[5] 包含a[0],a[1]??a[4] 注释:下标从0开始 声明方法: int a[3][4] 相当于int a[0][4],a[1][4],a[2][4] 声明方法: int a[2][3][4] 注释:三维以上很少使用 二维数组 多维数组 赋初值 1. 使用DATA设置初值 1. 在定义数组时给全部全速赋值 int a[5]={1,2,3,4,5}; (1) integer a(5) data a /1,2,3,4,5/ 2. 部分数组赋值 int a[5]={1,2,3} 或 data a/5*3/ (2) 利用隐式循环(Fortran独有!) 只能赋值前x个元素,不可以跳integer a(5) 过某一元素给下一元素赋值 integer i 3. 初始化数组时初值全给出可不data(a(i),i=2,4)/2,3,4/ 指定数组长度 int a[]={1,2,3,4,5} 注释:可以局部赋值 2. 省略DATA的声明 (1) integer ::a(5)=(/1,2,3,4,5/) (2) 利用隐式循环 integer ::i integer ::a(i)=(/(i,i=1,5)/) 注释: 只可全部赋值,不可局部赋值 (Fortran独有!) 1. a=5 对数组每个元素赋值5 2. a=b 将a同位置元素值设置成和b一样 3. a=b+c 将b和c同位置值相加赋给a,同理-、*、/ 4. a=sin(b) 1. a(m:n,e)=?? 对m~n之间步长为e部分数组元素赋值等号左边须是大小维数和右边相等数组 2. 隐式循环赋值 使用多个隐式循环,较低维循环可当作内无 整个数组操作 部分数组操作 无 层循环 数组函数 1. where 例如: where (a<3) b=a else where b=-a end where 相当于数组中的if函数,可嵌套,可取名 1. 二维数组按列存放 2. 多维数组,自高维向低纬存放 integer,allocatable :: a(:) allocate(a(students)) !分配内存空间 deallocate(a)释放a 无 存数顺序 可变大小数组 与Fortran相反! 1. 二维数组按行存放 2. 自低维向高维存放 无


fortran和c++对比(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二年级语文微型课题申报表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: