fortran和c++对比.docx
- 文档编号:2362658
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:20
- 大小:21.91KB
fortran和c++对比.docx
《fortran和c++对比.docx》由会员分享,可在线阅读,更多相关《fortran和c++对比.docx(20页珍藏版)》请在冰豆网上搜索。
fortran和c++对比
Fortran90与C++的比较
一、程序结构、语句和注释
fortran
C++
程序结构
Programmain(自定义程序名)
主程序代码
Stop(程序结束,可省)
End(主程序代码结束)
预处理命令以“#”开头,包括宏定义命令、文件包含命令和条件编译命令
函数,有一个主函数和若干个函数组成,主函数为main函数。
函数体由一对花括号“{}”括起来
语句
每行一般为一句语句,语句末不加“;”
1.每行可写132个字符
2.代码开头或结尾的“&”,连接下一行或下一行代码
书写格式自由灵活,语句末加“;”
1.每一行可写一条或多条语句,一条语句可分写在一行或多行内
注释
感叹号“!
”后的文本为注释
单行注释:
“//”后的文本为注释
多行注释:
以“/*”开头,以“*/”结束,之间的内容都是注释
二、字符集和变量命名规则
fortran
C++
字符集
1.A~Z及a~z
2.0~9
3.其他字符
:
=+-*/(),.’!
”%&;<>?
$_(空格)
变量命名规则
1.英文字母、下划线或数字,前缀英文字母
2.不区分大小写
3.长度1~31
4.不要和执行命令同名,不能和主程序或已声明过的变量同名
注释:
Fortran默认I、J、K、L、M、N开头的变量为整型,其他为实型,故在PROGRAM命令下一行加入IMPLICITNONE命令,关闭默认类型功能。
1.英文字母、下划线或数字,前缀英文字母或下划线
2.严格区分大小写
3.长度1~31
4.不要同名
三、数据结构
fortran
C++
数据类型
1.整型INTEGERa
1)长整型,4字节(默认)
2)短整型,2字节
3)更短整型,1字节
声明方法:
1)INTEGER(kind=4)a
2)INTEGER*4a
3)INTEGER(4)a
2.实型REALa
1)单精度,4字节(默认)
2)双精度,8精度
声明类似整型
3.复数COMPLEXa
4.字符和字符串CHARACTERa
声明方法:
Charater(len=10)a
Character(10)a
Character*10a
注释:
在””之间输入”需要””
5.逻辑变量LOGICALa
a=.true.a=.false.
1.整型inta
1)signed/unsignedlongint,4字节
2)signed/unsignedint,4字节
3)signed/unsignedshortint,2字节
4)signed/unsignedchar,1字节
默认:
signed
2.实型
1)float
2)double
3)longdouble
3.字符型chara
1)char
2)unsignedchar
表示方法:
1)引号之内的图形符号
2)引号以内以\开头的ASCII码或
特定符号
注释:
\a\a\t\n\v\r\”\’\?
\\\ddd\xhh
\ddd:
1~3位8进制数对应ASCII码
\xhh:
1~2位16进制数对应ASCII码
注释:
转换次序从低到高:
字符-短整型-整型-单精度-双精度(低自动向高转,不会出错)
static_cast<要转换的新数据类型>被转换的表达式
复合类型
1.自定义数据类型
type:
:
person
character(len=20):
:
name
integer:
:
age
integer:
:
length
endtypeperson
type(person):
:
a
a%name=”xiaoming”
1.数据结构体struct
structname
{
intname1;
charname2;
……;
}
sructnamea;
赋初值
(1)a={23,’w’}
(2)a.name1=23;
a.name2=’w’;
四、常量和变量
fortran
C++
常量
1.数值常量同c++
2.字符常量同c++
3.符号常量
声明方法:
1)realpi
parameter(pi=3.14159)
2)realparameter:
:
pi=3.14159
1.数值常量(整型常量、实型常量)
2.字符常量(字符常量、字符串常量)
转义字符:
\a\b\f\n\r\t\v\\\?
\’\”\0\ddd\xhh
字符常量:
单引号,单个字符,占一个字节
字符串常量:
双引号,单个多个字符,占一个以上字节(结束符\0)
3.符号常量
声明方法:
#definepi3.14159
或constintpi=3.14159
变量
五、输入和输出语句
fortran
C++
输入输出
输出:
write(unit,fmt)A,B,C
printfmt,A,B,C
输入:
read(unit,fmt)A,B,C
1.默认输出位置和不限定输入输出格式write(*,*)A,B,C
2.格式化输入输出
1)指定代码行对应格式输入输出
write(*,100)A
100formt(I4)
2)输入输出格式直接写在命令中
write(*,”(I5)”)A
3)利用字符串存储输入输出格式
character(len=10)fmtstring
fmtstring=”(I2)”
write(*,fmtstring)3
运用输入输出流头文件
#include
屏幕标准输出:
cout<<”abc”<<34< 键盘标准输入: cin>>num 输入输出格式 主要输入输出格式: 2.Aw以w个字符宽输出字符串 1)右对齐,不足左端补空格 2)从左向右读入,超出部分截去 3.Ew.d[Ee]以w个字符宽输出指数类型浮点数,小数部分占d个字符宽,指数部分占e个字符宽 1)超过w字符宽,输出w个* 2)小数或指数部分不足宽度补0 3)小数部分超出四舍五入截去 4.Fw.d以w个字符宽输出浮点数,小数部分占d个字符宽 1)超过w字符宽,输出w个 2)小数部分不足补0,超出截去 5.Iw[.m]以w个字符串输出整数,最少输出m个数字 1)超过w字符宽,输出w个* 2)右对齐,不足m位左端补0 6.nX插入n个空格 六、表达式 fortran C++ 算术表达式 1.**乘方 2.*乘、/除 3.+加、-减 1.*乘、/除、%取模 2.+加、-减 3.++自加、--自减 注释: 前置先计算再赋值 后置先赋值再计算 关系表达式 1.<、<=、>、>= 2.==、/= 1.<、<=、>、>= 2.==、! = 逻辑表达式 1..AND. 2..OR. 3..NOT. 4..EQV. 5..NEQV. 1.&& 2.|| 3.! 注释: 非0为真,0为假 条件表达式 无 1.? : A? B: C先计算A,如果A值为true(非0),返回B值作为整个条件表达式的值,如果A值为false(0),返回C值。 赋值表达式 1.= 2.= 3.+=、-=、*=、/=、%= 4.&=、^=、|= 5.&&=、||= 注释: x*=y即x=x*y,从右向左赋值 逗号表达式 无 1.,用于将几个表达式隔开,从左向右计算,优先级最低 优先级 1.单目、双目、三目、赋值,逗号,优先级依次降低 2.单目运算及赋值运算从左至右 3.算术、位移、关系、位、逻辑运算依次降低 七、选择结构 fortran C++ 选择结构 1.IF语句 1)单分支IF结构 a)IF(逻辑表达式)…… if(s>100)write(*,*)“slow” b)块IF结构 IF(逻辑表达式)THEN …… ENDIF 2)双支IF结构 IF(逻辑表达式)THEN …… ELSE …… ENDIF 3)多支IF结构 a)ELSEIF语句 IF(条件1)THEN …… ELSEIF(条件2)THEN …… ELSE …… ENDIF b)嵌套IF语句 IF(条件1)THEN IF(条件2)THEN IF(条件3)THEN …… ELSE …… ENDIF ENDIF ENDIF 2.SELECTCASE语句 selectcase(变量) case(数值1) …… case(数值2) …… casedefault …… endselect 注释: case冒号前后两个数值代表范围内所有数值,用逗号放入一个或多个数值 数值只能是整型或字符型 case中数值必须为常量,不能使用变量 1.If语句 1)单支if语句 if语句 ……; 2)双支if-else语句 if(表达式) ……; else ……; 3)嵌套if语句 2.多支switch语句 switch(表达式) case常量表达式1; ……; case常量表达式n; ……; default ……; 注释: (1)与break语句结合跳出循环 (2)两个或以上常量都对应一个语句,则 case表达式1 case表达式2 ……; 八、循环结构 fortran C++ 循环结构 1.do语句 docounter=起始值,终止值,计数器增值 …… …… enddo 2.dowhile语句 dowhile(逻辑表达式) …… …… enddo 1.while语句 while(逻辑表达式) { ……; } 2.for语句 for(表达式1;表达式2;表达式3) { ……; } 3.dowhile语句 do { ……; } while(表达式); 流程控制语句 1.GOTO语句 GOTO100 …… 100…… 跳跃至指定行,不建议使用 2.PAUSE语句 当遇到该语句暂停执行,直到用户按下ENTER继续执行 3.CONTINUE语句 继续向下执行语句 4.STOP语句 结束程序执行 1.goto语句 label; …… …… if(逻辑表达式) gotolabel; 选择或循环控制语句 1.CYCLE语句 略去该语句之后的循环模块,继续下一次循环 2.EXIT语句 跳出当前的循环 3.署名的循环 例如: loop: doi=1,4,1 与EXIT、CYCLE语句结合 1.break语句 只能用在switch和循环语句中 用在循环中跳出当前的循环,同fortran的exit 2.Continue语句 略去该语句之后的循环模块,继续下一次循环,同fortran的cycle 九、数组 fortran C++ 一维数组 声明方法 1.integera(10) 2.integer,dimension(10): : a 注释方法: 下标从1开始 声明方法:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fortran c+ 对比
![提示](https://static.bdocx.com/images/bang_tan.gif)