1、=+-*/(),.!”%&;?$_(空格)变量命名规则1. 英文字母、下划线或数字,前缀英文字母2. 不区分大小写3. 长度1314. 不要和执行命令同名,不能和主程序或已声明过的变量同名注释:Fortran默认I、J、K、L、M、N开头的变量为整型,其他为实型,故在PROGRAM命令下一行加入IMPLICIT NONE命令,关闭默认类型功能。1. 英文字母、下划线或数字,前缀英文字母或下划线2. 严格区分大小写4. 不要同名三、数据结构数据类型1. 整型 INTEGER a1) 长整型,4字节(默认)2) 短整型,2字节3) 更短整型,1字节声明方法:1) INTEGER(kind=4) a
2、2) INTEGER*4 a3) INTEGER(4) a2. 实型 REAL a1) 单精度,4字节(默认)2) 双精度,8精度声明类似整型3. 复数 COMPLEX a4. 字符和字符串 CHARACTER aCharater(len=10) aCharacter(10) aCharacter*10 a在”之间输入”需要”5. 逻辑变量 LOGICAL aa=.true. a=.false.1. 整型 int a1) signed/unsigned long int ,4字节2) signed/unsigned int ,4字节3) signed/unsigned short int,2字
3、节4) signed/unsigned char,1字节默认:signed2. 实型1) float2) double3) long double3. 字符型 char a1) char2) unsigned char表示方法:1) 引号之内的图形符号2) 引号以内以开头的ASCII码或特定符号aatnvr”?dddxhhddd:13位8进制数对应ASCII码xhh:12位16进制数对应ASCII码转换次序从低到高:字符-短整型-整型-单精度-双精度(低自动向高转,不会出错)static_cast被转换的表达式复合类型1. 自定义数据类型type :personcharacter(len=20
4、):nameinteger:agelengthend type persontype(person):aa%name=”xiaoming”1. 数据结构体structstruct nameint name1;char name2;sruct name a;赋初值(1) a=23,w(2) a.name1=23;a.name2=w;四、常量和变量常量1. 数值常量同c+2. 字符常量同c+3. 符号常量1) real piparameter(pi=3.14159)2) real parameter:pi=3.141591. 数值常量(整型常量、实型常量)2. 字符常量(字符常量、字符串常量)转义
5、字符:abfnrtv?”0dddxhh字符常量:单引号,单个字符,占一个字节字符串常量:双引号,单个多个字符,占一个以上字节(结束符0)#define pi 3.14159或 cons tint pi=3.14159变量五、输入和输出语句输入输出输出:write(unit,fmt) A,B,Cprint fmt, A,B,C输入:read(unit,fmt) A,B,C1. 默认输出位置和不限定输入输出格式write(*,*) A,B,C2. 格式化输入输出1) 指定代码行对应格式输入输出write (*,100) A100 formt(I4)2) 输入输出格式直接写在命令中write (*,
6、”(I5)”) A3) 利用字符串存储输入输出格式character(len=10) fmtstringfmtstring=”(I2)”write (*,fmtstring) 3运用输入输出流头文件#include屏幕标准输出:cout”abc”34num输入输出格式主要输入输出格式:2. Aw 以w个字符宽输出字符串1) 右对齐,不足左端补空格2) 从左向右读入,超出部分截去3. Ew.dEe 以w个字符宽输出指数类型浮点数,小数部分占d个字符宽,指数部分占e个字符宽1) 超过w字符宽,输出w个*2) 小数或指数部分不足宽度补03) 小数部分超出四舍五入截去4. Fw.d 以w个字符宽输出浮
7、点数,小数部分占d个字符宽1) 超过w字符宽,输出w个2) 小数部分不足补0,超出截去5. Iw.m 以w个字符串输出整数,最少输出m个数字2) 右对齐,不足m位左端补06. 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
8、值为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(s100) write(*,*) “slow”b) 块IF结构IF(逻辑表达式)THENEN
9、D IF2) 双支IF结构ELSE3) 多支IF结构a) ELSE IF语句IF(条件1)THENELSE IF(条件2)THENb) 嵌套IF语句IF(条件2)THENIF(条件3)THEN2. SELECT CASE语句select case(变量)case(数值1)case(数值2)case defaultend selectcase冒号前后两个数值代表范围内所有数值,用逗号放入一个或多个数值数值只能是整型或字符型case中数值必须为常量,不能使用变量1. If语句1) 单支if语句if语句2) 双支if-else语句if(表达式)else3) 嵌套if语句2. 多支switch语句sw
10、itch(表达式)case 常量表达式1;case 常量表达式n;default(1) 与break语句结合跳出循环(2) 两个或以上常量都对应一个语句,则case 表达式1case 表达式2;八、循环结构循环结构1. do语句do counter=起始值,终止值,计数器增值end do2. do while语句do while (逻辑表达式)1. while语句while(逻辑表达式)2. for语句for(表达式1;表达式2;表达式3)3. do while语句dowhile(表达式);流程控制语句1. GOTO语句GOTO 100100 跳跃至指定行,不建议使用2. PAUSE语句当遇到
11、该语句暂停执行,直到用户按下ENTER继续执行3. CONTINUE语句继续向下执行语句4. STOP语句结束程序执行1. goto语句label;if(逻辑表达式)goto label;选择或循环控制语句1. CYCLE语句略去该语句之后的循环模块,继续下一次循环2. EXIT语句跳出当前的循环3. 署名的循环例如:loop: do i=1,4,1与EXIT、CYCLE语句结合1. break语句只能用在switch和循环语句中用在循环中跳出当前的循环,同fortran的exit2. Continue语句略去该语句之后的循环模块,继续下一次循环,同fortran的cycle九、数组一维数组声明方法1. integer a(10)2. integer,dimension(10):注释方法:下标从1开始
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1