fortran和c++对比Word文档格式.docx
《fortran和c++对比Word文档格式.docx》由会员分享,可在线阅读,更多相关《fortran和c++对比Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
![fortran和c++对比Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/29/fea3ab95-b187-4f81-b1b0-b8bac4358775/fea3ab95-b187-4f81-b1b0-b8bac43587751.gif)
=+-*/(),.’!
”%&
;
<
>
?
$_(空格)
变量命名规则
1.英文字母、下划线或数字,前缀英文字母
2.不区分大小写
3.长度1~31
4.不要和执行命令同名,不能和主程序或已声明过的变量同名
注释:
Fortran默认I、J、K、L、M、N开头的变量为整型,其他为实型,故在PROGRAM命令下一行加入IMPLICITNONE命令,关闭默认类型功能。
1.英文字母、下划线或数字,前缀英文字母或下划线
2.严格区分大小写
4.不要同名
三、数据结构
数据类型
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
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’;
四、常量和变量
常量
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)
#definepi3.14159
或constintpi=3.14159
变量
五、输入和输出语句
输入输出
输出:
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<
iostream>
屏幕标准输出:
cout<
”abc”<
34<
num;
键盘标准输入:
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个数字
2)右对齐,不足m位左端补0
6.nX插入n个空格
六、表达式
算术表达式
1.**乘方
2.*乘、/除
3.+加、-减
1.*乘、/除、%取模
2.+加、-减
3.++自加、--自减
前置先计算再赋值
后置先赋值再计算
关系表达式
1.<
、<
=、>
、>
=
2.==、/=
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.算术、位移、关系、位、逻辑运算依次降低
七、选择结构
选择结构
1.IF语句
1)单分支IF结构
a)IF(逻辑表达式)……
if(s>
100)write(*,*)“slow”
b)块IF结构
IF(逻辑表达式)THEN
……
ENDIF
2)双支IF结构
ELSE
3)多支IF结构
a)ELSEIF语句
IF(条件1)THEN
ELSEIF(条件2)THEN
b)嵌套IF语句
IF(条件2)THEN
IF(条件3)THEN
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
……;
八、循环结构
循环结构
1.do语句
docounter=起始值,终止值,计数器增值
enddo
2.dowhile语句
dowhile(逻辑表达式)
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
九、数组
一维数组
声明方法
1.integera(10)
2.integer,dimension(10):
注释方法:
下标从1开始