fortran和c++对比.docx

上传人:b****2 文档编号:2362658 上传时间:2022-10-29 格式:DOCX 页数:20 大小:21.91KB
下载 相关 举报
fortran和c++对比.docx_第1页
第1页 / 共20页
fortran和c++对比.docx_第2页
第2页 / 共20页
fortran和c++对比.docx_第3页
第3页 / 共20页
fortran和c++对比.docx_第4页
第4页 / 共20页
fortran和c++对比.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

fortran和c++对比.docx

《fortran和c++对比.docx》由会员分享,可在线阅读,更多相关《fortran和c++对比.docx(20页珍藏版)》请在冰豆网上搜索。

fortran和c++对比.docx

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开始

声明方法:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1