FORTRAN90程序设计2

合集下载

FORTRAN90第6章2

FORTRAN90第6章2

关键字变元调用举例
例如:Subroutine HF(A,B,M,N) Call HF(5,25,10,1) 使用关键字变元调用可写成: Call HF(B=25,M=10,A=5, N=1) Call HF(5,25, N=1,M=10)
Call HF(5,25, M=10,1) ?

主程序中必须有接口块 interface subroutine HF(A,B,M,N) integer:: A,B,M,N end subroutine end interface
6.6 模块

模块也是一种独立编写的程序单元
模块包含程序说明语句及在模块内定义的过程,但
不能直接运行
假设有几个子程序或函数中都用到了同一些变量,
只需把它们放在一个模块中,从而实现共享数据。
6.6.2模块的引用
USE语句位置:各单位用USE语句共享模块
中的信息,通常在程序单元说明部分的最前 面,即单位定义语句之后,IMPLICIT NONE 语句之前
说明cos和sin是内部 函数,不是一般变量。
外部函数作为实过程(例6-10)
设有一个过程PROC,在调用它的时候,每 次实现不同的功能。输入A和B两个数,第一
次调用时求出A、B之和,第二次调用时求出
A、B之差。程序如下:
PROGRAM ACTUAL_PROCEDURE INTEGER,EXTERNAL::SUM,MINU IMPLICIT NONE 等价 INTERFACE FUNCTION SUM(X,Y) RESULT(SUM_RESULT) INTEGER,INTENT(IN)::X,Y INTEGER::SUM_RSULT END FUNCTION SUM FUNCTION MINU(X,Y) RESULT(MINU_RESULT) INTEGER,INTENT(IN)::X,Y INTEGER::MINU_RESULT END FUNCTION MINU 使用接口块说明 END INTERFACE SUM和MINU是 INTEGER::A,B 外部函数,不是 READ*,A,B 一般变量。 CALL PROC(A,B,SUM) CALL PROC(A,B,MINU) END PROGRAM ACTUAL_PROCEDURE

FORTRAN90第2章

FORTRAN90第2章
字母大小写等价 变量名中字符与字符之间不能有空格 取名时尽量“见名知意”,不使用关键字
2.3 变量
3.变量的类型 变量类型说明一般形式: 变量说明符[ [,属性] … :: ] 变量列表 类型说明符可以是固有的或派生的,基本类型变 量说明符: INTEGER REAL、DOUBLE PRECISION COMPLEX LOGICAL CHARACTER 通常要求::不省略
2.2 常量
主要了解: • 常量的概念 • 固有数据类型及其常量表示
2.2.1 固有数据类型
• 固有数据类型有五种:
– – – – – 整型( INTEGER) 实型(REAL) 复型(COMPLEX) 字符型(CHARACTER) 逻辑型(LOGICAL)
1、整型数据
• – – – – 整型表示: INTEGER INTEGER INTEGER INTEGER
2、实型数据
• 实型表示: – REAL或REAL ( 4 ) 表示单精度实数 – REAL ( 8 ) 或 DOUBLE PRECISION 表示双精度实数
2、实型数据
• 每种实型数据所占的字节和范围:
数据类型 REAL (4 ) REAL (8 ) 或
DOUBLE
字 节
精 度
范 围
负数: -3.40282347E+38~-1.17549435E-38 正数: +1.17549435E-38~+3.40282347E+38 负数: -1.7976931348623158D+308 ~ -2.2250738585072013D-308 正数: +2.2250738585072013D-308 ~+1.7976931348623158D+308

fortran90第二章

fortran90第二章

2.1.2 符号常量
£ 符号常量,是用一个标识符来代表一个常量。符号常量常用 PARAMETER语句来定义。例如: PARAMETER (PI=3.1416,M=10)
£ 该语句定义了两个符号常量PI和M,在该程序单位内,PI代表3.1 416,M代表10
£ PARAMETER为特有的常量定义标识,要定义的项必须放在() 内,如果有多项,项之间要用逗号隔开。
FORTKAINND值中字变节量二的进位类型精度的定义取有值三范种围(方绝对式值:)
1.
类型说4 明语4句
8
8
32 64
7位 15位
0,[10-38,10+38] 0,[10-308,10+308]
£格式为:类型说明符 变量名1,变量名2…
说明:大于最大值,产生上溢错,小于最小值,按0处理。
£其中类型说明字为:
£ 符号常量与变量有着本质的区别,PARAMETER语句是非执行语 句,变量对应于一个存储单元,程序执行时,可将表达式的值存 放到变量所对应的存储单元中(即给变量赋值)或从变量所对应 的存储单元中取出相应的值。 符号常量不能当变量使用
例1 输入圆柱体的半径和高,求圆柱体的表面积和体积
PROGRAM fex REAL R, H, S, V PARAMETER (PI=3.141593) PRINT *, “请输入半径和高:” READ *, R, H S=PI*R*2*H V=PI*R**2*H PRINT *, “表面积为:”, S PRINT *, “体积为:”, V END
SIN(x)
实型 求正弦
sinx
SQRT(x)
实型 求平方根 √x
TAN(x)
实型 求正切

F90第2章_FORTRAN90开发环境解析

F90第2章_FORTRAN90开发环境解析
第二章
2.2 FORTRAN90主要特征/关联
FORTRAN90开发环境
2.2 FORTRAN90主要特征

组织结构 书写形式


结构化
过程 作用域 FORTRAN 90提供五种预定义的内部数据类型(INTEGER、 REAL 、 COMPLEX 、 CHARACTER 、 LOGICAL), 并引入了派生数据 类 型 特 征 , 提 供 了 派 生 类 型 声 明 语 句 TYPE…ENDTYPE, 使 FORTRAN 90能说明和定义复杂的数据结构。 FORTRAN 90 同时对五种预定义的数据类型进行了扩充 , 为其指定了一个类型参数值 (KIND 值), 用于指定数据类型在 内存中的存储方式和取值范围。
66,美国标准,后被ISO采用。
77,兼容性好,结构化特征。 90,现代化语言。
1995年,微软公司在Developer
Studio集成开发平台 上推出FORTRAN PowerStation 4.0,实现可视化编程。
2.1 FORTRAN语言发展概述/发展历程
1997年,微软和数据设备公司合作推出Digital
著名编程语言Fortran 创始人巴库斯
2.1 FORTRAN语言发展概述
第二章
FORTRAN90开发环境
2.1 FORTRAN语言发展概述

语言地位 发展历程
1951年,美国IBM公司着手研究开发FORTRAN语言,并
于1954年对外发布,称FORTRANⅠ。
1966年,推出FORTRAN 1978年,推出FORTRAN 1991年,推出FORTRAN
FORTRAN90开发环境
2.2 FORTRAN90主要特征

FORTRAN90用法总结

FORTRAN90用法总结

FORTRAN90用法总结
Fortran90是Fortran的最新标准程序设计语言,它是在Fortran77
基础上的新增功能,支持面向对象的功能,同时也支持可变参数,数据语
句和开发语句,使其具有更高的强大功能。

它也支持宏的使用,以帮助程
序编写者更好的实现一些高级程序功能,以提高程序性能,提高程序易用性。

下面将重点介绍Fortran90的五大用法。

第一,利用Fortran90进行函数的编写。

Fortran90的函数可实现参
数的多次组合,通过对用户函数的调用,就可达到想要的结果,而不用写
复杂的循环程序,这有助于提高程序的可管理性,降低程序的出错率。

第二,通过宏的使用来完成Fortran90的程序编写。

宏语言有助于程
序的复杂编写和优化,通过它可以大大提高程序的性能,节约程序的开发
时间,从而提高程序的可用性。

第三,Fortran90的数组操作功能。

Fortran90支持数组的多维操作,能够进行大数组操作,从而编写出简洁的程序,节约存储空间,提高程序
的执行效率。

第四,Fortran90的指针操作功能。

它可以完成复杂数据的指针操作,以实现数据的重排、排序、和传输,可以让程序编写者有效地运用指针操作,提高程序性能和稳定性。

最后,Fortran90的结构化编程功能。

fortran90总结第二章(部分) 林晓彤主编

fortran90总结第二章(部分) 林晓彤主编

第一章:类型说明(种别说明),属性说明1,属性说明2……Integer(kind=2),dimension(1:14),…….2.1程序program height_of_yaoimplicit noneinteger::height ,height_feet !声明整形变量real::h_inch,height_inches !声明实型变量integer,parameter::foot_inch=12 !整型符号常量real,parameter::inch_cm=2.54 !实型符号常量height=226 !身高厘米数h_inch=height/inch_cm !折合英尺print*,'The height is',h_inch,'inches.'height_feet=int(h_inch/foot_inch) !身高英尺数height_inches=h_inch-height_feet*foot_inch !身高英寸数print*,'The height is',height_feet,'feet',&height_inches,'inches.'end program height_of_yao!在不同处理器中,表示同样精度和范围的树枝,所采取的种别参数是不一样的。

2.2.1整形数据program testimplicit noneinteger::forty_two,sixty_three,max_byteforty_two=B'101010' !二进制赋值sixty_three=O"77" !十进制赋值max_byte=Z'ff' !十六进制赋值print*,'forty_two=',forty_two,'sixty_three=',sixty_three,'max_byte=',max_byteend program test'kind'的妙用:kind的数值依赖于处理器。

FORTRAN90复习资料(2)

FORTRAN90 程序设计复习资料(2)一、选择题1.FORTRAN 90规定,变量类型声明的优先顺序是。

A.隐含约定(I-N规则)、IMPLICIT声明、类型声明B.类型声明、隐含约定(I-N规则)、IMPLICIT声明C.类型声明、IMPLICIT声明、隐含约定(I-N规则)D.IMPLICIT声明、类型声明、隐含约定(I-N规则)2.表达式15/4/2.0的值是。

A.整数2 B.实数1.5 C.实数2.25 D.实数1. 33.数组声明语句为:INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::num ,数组共有个元素。

A.175 B.150 C.120 D.174.下列语句函数声明中,正确的是。

A.F1(I,I)=5*I-10*I**2 B. F2(MAT(5),A)=5*A+MAT(5)C. F3(X,Y,5.0)=X**2+Y**2+5.0**2D.F4(X,Y)=SQRT(X**2+Y**2+5.0**2)5.下列关于子程序的有关说法中,不正确的是。

A.对于无参子例行程序,调用时子例行程序名后的括号可取消B.对于无参函数子程序,调用时函数名后括号可取消C.对于有参子程序,形式参数可以是子程序名对于有参子程序,形式参数可以是星号“*”6.以下不是算法的特征。

(A) 灵活性(B)确定性(C)可行性(D)有穷性7.以下是FORTRAN 90源程序的扩展名。

(A)MDP (B)MAK (C)OBJ (D)F908.下列是正确的变量名。

(A)3SI (B)SI—3 (C)SI 3 (D)SI#39.若S为整型变量,且有S=1.25+11/4,则S的值为。

(A)3(B)3.25 (C)4 (D)4..2510.表达式MOD(5,6)+9/2**3/2的值为。

(A)37 (B)1 (C)5 (D)3211.已知a=3.0,b=9.0,c=5.0,d=7.0,逻辑表达式a+b/=c. and .a>=d的值为。

Fortran90编程


字。以关键词end type结束。
派生类型的声明和使用
n 声明: n 赋值: n 引用结构成员:
例一:派生数据类型
模块(Module)
n 是一种不能直接执行的程序单元,但可以包含
数据声明和过程
n
使不同的过程实现过程和数据的共享 n 可以实现对自定义数据类型的封装
n 相对于program,function,subroutine,是一种特
例三:数据类型的范围
定义符号常量
n 符号常量在程序中不可以改变其值 n 定义符号常量可以增强程序的可读性和可维护
性 n 定义方法:加上parameter属性
real (8) ,parameter :: pi=3.1415926535_8
例四:定义符号常量
三、控制结构
n if语句:if then elseif else endif
n
在Compaq Visual Fortran中调用 CXML
n 第一种方法:在工程中加入cxml.lib
n 第二种方法:使用include
PROGRAM example INCLUDE 'CXML_INCLUDE.F90’
在Compaq Visual Fortran中调用 Intel MKL
n 添加库函数路径 n 在工程中加入mkl_s.lib
总结:Fortran90的新特性
n n n n n n n n
高级的表达能力:数组运算 (例如, X(1:N)=R(1:N)*COS(A(1:N))) 动态存储分配 (ALLOCATE, DEALLOCATE, ...) 导出类型(derived types)与操作符重载(operator overloading) 更好的变量声明方式(parameterized types),提高移植性 模块 更多的现代控制结构 (SELECT CASE,END SELECT,DO, END DO,EXIT...) 更多的内部函数 (date, precision, arrays, ...) 新的源程序书写格式-自由格式(free format) 指针

FORTRAN90程序设计1、2、3


[例2-1]
PROGRAM H_TO_C !Given the F temprature,to calculate the Centigrade REAL::TC,TH READ *,TH TC=5*(TH-32)/9 PRINT *,TH,TC END PROGRAM H_TO_C
[例2-2] PROGRAM CAL_M_SUM IMPLICIT NONE INTEGER::N,M REAL::T,A N=0;T=0 PRINT *,'Input number of data:' READ *,M DO READ *,A T=T+A ;N=N+1 IF(N>=M)EXIT END DO PRINT *,T END PROGRAM CAL_M_SUM
输出结果S
[例1-1]N-S图
FORTRAN 语言的发展 源程序及其构成
语言元素
程序单元概念
FORTRAN 是 FORmula TRANslation 的缩写 1954年 1978年 第一个FORTRAN文本的提出 推出FORTRAN77
1991年
FORTRAN90问世
几个简单的FORTRAN90程序 FORTRAN90程序的构成
PROGRAM CAL_FACTOR IMPLICIT NONE INTEGER::FACTOR,S=0,I DO I=4,8 S=S+FACTOR(I) END DO PRINT *,'S=',S END PROGRAM CAL_FACTOR
FORTRAN90程序的构成
1.FORTRAN90是分块形式的程序,一个程序含有 多个程序单元,每个程序有且仅有一个主程序单元。 2.各程序单元由若干行构成。程序行主要有: 说明语句行 可执行语句行 注释行(用!开始)

Visual Fortran90程序设计基础第1、2章

0 +456 -123
34_2
34_SHORT
12345678998765432_4
下划线后面的量就是种别参数,没有下划线的数都具 有缺省种别。
为了保证计算机内数的范围够用,就要通过给定种别 参数来约定。种别参数是由内在询问函数KIND送回的。提 供的最小范围是由内在函数Selected_int_kind送回的。表 示十进制幂的范围是由内在函数range送回的。
在记号内部,也不许随意地使用空格。例SIN(X)与S I N(X)不同。 记号与记号之间的空格可以随意地使用。

多个空格在语法上与一个空格的作用相同。
一个记号与相邻关键字、名字、常数或标号之间,应当用一个或多个空格 分开,以避免错误,同时也使结构清晰。
Fortran的数据类型(1)
什么是数据类型?
§1.2程序设计语言 填补了人与计算机交流的鸿沟
程序设计语言 有问题需要计 算机解决的人 交流的鸿沟 计算机硬件仅仅 知道0和1 有问题需要计 算机解决的人 计算机硬件仅仅 知道0和1
程序设计语言的分类
1.机器语言:二进制代码形式,可以被计算机直接执 行,不可移植 2.汇编语言:用助记符来代替机器指令,容易记忆, 不可移植 3.高级语言:接近自然语言(英语)的程序设计语言, 又称算法语言,易学、易用、易维护,可移植性好 例:FORTRAN、BASIC、PASCAL、C、LISP、 PROLOG等
• 例:selected_int_kind(6)可以返回范围在-106~+106
(不包括两端点值)的所有整数的种别值。
•为使程序具有可移植性,可将K6说明成符号常数, 作为种别常数来使用。
INTEGER, parameter::k6=selected_int_kind(6)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

块IF结构
PROGRAM EXFD IMPLICIT NONE REAL :: IX,IY READ( *,* ) IX IF( IX > = 0.0 ) THEN IY = 4.0
(x2 42) 求分段函数 y 4
( x 0) ( x 0)
,X由键盘输入。
ELSE
• IF (SCORE > = 90) THEN GRADE = ’A’ ELSE IF (SCORE > = 80) THEN GRADE = ’B’ ELSE IF (SCORE > = 70) THEN GRADE = ’C’ ELSE IF (SCORE > = 60) THEN GRADE = ’D’ ELSE GRADE = ’E’ END IF 包含ELSE IF语句的块IF结构的格式为: IF( E_1 )THEN BLOCK_1 ELSE IF( E_2 )THEN BLOCK_2 …… ELSE IF( E_N -1 )THEN BLOCK_N -1 ELSE BLOCK_N ENDIF
Fortran90语言程序设计
计算机中心 2006.12
第2部分 选择结构程序设计



概述 关系表达式与逻辑表达式 逻辑IF语句 块IF结构 CASE结构 选择结构程序设计举例
概述

结构化程序的设计思想
只要三种控制结构就能表达用一个入口和一个出口框图所能表达的
任何程序逻辑,这三种控制结构分别为顺序结构、选择结构和循环 结构。
CASE结构

CASE结构的一般形式为:
SELECT CASE( CASE 表达式) CASE ( CASE 选择器1) BLOCK1 CASE ( CASE 选择器2) BLOCK2 …… [ CASE DEFAULT BLOCKD ] END SELECT
关于CASE结构的几点说明
(1) SELECT CASE语句是CASE结构的标志,是CASE结构的入口语句。 列出单值表示法,如CASE (3),CASE (3,5,9)等; (2) CASE表达式可以是整型、逻辑型、字符型表达式,但不能是实型或 起始终止值表示法:CASE ( 起始值:终止值),表示包括从起始值到终 止值之间的所有值(也包括起始值与终止值)。例如,CASE (3:5)即为 复型表达式。 CASE CASE选择器的类型应与CASE表达式的类型一致。 (3) (3,4,5); (4) 当CASE表达式是整型表达式时,CASE选择器的表示可以有以下几 省略终止值表示法,即CASE ( 起始值:),表示包括从起始值开始之后 的所有值 种形式: ( 也包括起始值 ); 省略起始值表示法,即CASE (:终止值),表示包括终止值之前的所有 值 ( 也包括终止值); 上述方法的混合表示,如,CASE (3:5,9)即为CASE (3,4,5,9)。


顺序结构(Sequence Structure),是按照语句在程序中的结 Block1 逻辑 逻辑条件 构顺序一条一条的执行。 条件 Block2 选择结构 (Selection Structure),是按照给定条件的值,来 真 假 判断执行哪个语句块。当条件满足时(值为.TRUE. ),执行 Block Block1 Block2 BLOCK1块;否则( 值为.FALSE. ),执行BLOCK2块。 循环结构 (Repetition Structure),是按照给定的条件来确 定是否重复执行给定的一段可执行语句组成的程序段(也称 循环体 ) 。 图2.1 三种控制结构
(A) (B) (C)
概述

三种控制结构具有如下的共同特点:
每一种控制结构有且仅有一个入口和一个出口;
在每一种结构中没有不合乎逻辑的语句或表达式; 在每一种结构中不包含死循环。

结构化程序设计要求按照三种控制结构,自顶向下、 模块化地设计程序,使程序逻辑结构明确,易于理 解,易于维护。
FORTRAN90语言中提供了六种关系运算,这六种关系运算符分别
为:
代数表示 FORTRAN90表示 < < ≤ <= > > ≥ >= = == ≠ /=

FORTRAN90以前的版本中使用的关系运算符:.LT.(小于)、.LE.
(小于等于)、.GT.(大于)、.GE.(大于等于)、.EQ.(等 于)、.NE.(不等于),现在已不提倡使用。
块IF结构的嵌套

[例2.5] 编写计算分段函数:
无定义 x t ( a x 0 ) / t1 0 y a a ( t 3 t ) /( t 3 t 2 ) 0 (t 0 ) ( 0 t t1 ) ( t1 t t 2 ) (t 2 t t3 ) (t t3 )

[例2.1] 一货物单价为10元,购买100个以上九五折, 输入购买个数,求货款。用逻辑IF语句实现的程序
PROGRAM EXAM41
IMPLICIT NONE INTEGER :: N REAL :: PRICE, SUM
PRICE = 10.0
READ *, N IF( N > = 100 ) PRICE = PRICE * 0.95 SUM = PRICE * N PRINT *,SUM END PROGRAM EXAM41
逻辑IF语句


实现选择结构程序设计的常用方法有三种,即IF语 句、块IF结构和CASE结构。 逻辑IF语句是最简单的选择结构。它的一般形式为:
IF( E ) S

其中,IF是关键词,E为逻辑表达式;S是一条可执 行语句,称为IF语句的内嵌语句。
IF( X > = Y ) PRINT*,X,Y
逻辑IF语句
( A + B ) <= A* ( SQRT ( B * B - 4.0 * A * C ) ),表示数学式
A B B 4 AC
2
B / = ( C - D ) / LOG ( B ),表示数学式B≠(C-D)/lnB
关系表达式与逻辑表达式

逻辑表达式
逻辑型常量只有两个:.TRUE.表示“真”,.FALSE.表示“假”。
(1) ELSE 嵌套时,必须把整个块IF结构完整的嵌在THEN块或 BLOCK22 ELSE块中,不允许跨越; BLOCK2 ENDIF (2) ENDIF 最内层的IF语句和其最近的ENDIF匹配,从内到外; ENDIF (3) 为便于识别可采用上面的缩格写法;
块IF结构的嵌套

[例2.3] 求一元二次方程的根

.AND.
.OR.
逻辑与
逻辑或
A .AND. B
A .OR. B
当A、B皆为真时,A .AND. B为真
当A、B之一为真时,A .OR. B为真
.NOT.
.EQV. .NEQV. .XOR.
逻辑非
逻辑等 逻辑不等 同.NEQV.
.NOT. A
A .EQV. B A .NEQV. B
当A为真时,.NOT. A为假
关系表达式与逻辑表达式

关系表达式
A > B ,表示数学式:A > B;
X + Y <= C ,表示数学式:X + Y ≤ C; X – Y <= 1.0E-6 ,表示数学式:X – Y ≤ 10-6; X ** 2 + Y ** 2 + Z **2 /= R **2 ,表示数学式:X2 + Y2 + Z2 ≠ R2。
块IF结构

简单的块IF结构
块IF结构的一般格式为: IF( E ) THEN BLOCK1 ELSE BLOCK2 ENDIF

其中:E是逻辑表达式;IF、THEN、ELSE、ENDIF是关键 词。BLOCK1称为THEN块,它是一组FORTRAN语句; BLOCK2称为ELSE块,也是一组FORTRAN语句。ENDIF 是块IF结构的结束语句,它提供了块IF结构的出口。
逻辑型变量用来存放逻辑值,因此,逻辑变量的取值也只有两
个:.TRUE.或.FALSE.。 逻辑型变量在使用时必须首先用类型说明语句进行说明,说明逻辑 变量的类型说明语句为: LOGICAL [( KIND = N ) ][,属性说明表] :: 变量表
关系表达式与逻辑表达式

逻辑运算符
逻辑运算符 含 义 逻辑运算举例 例子的含义
下面列出了几个逻辑表达式: .TRUE. .OR. .FALSE. 逻辑常量的运算; A .AND. B .OR. C 逻辑变量的运算; A > = B .AND. C < A / 2 关系表达式的运算; ( .NOT. .FALSE. ) .EQV. ( A .AND. B .OR. C ) 逻辑表达式的运算。
ax
2
bx c 0


块IF结构的命名
如果有过多的嵌套时,会给程序的编写和阅读带来困难。
FORTRAN90允许给块IF结构命名,该结构名作为块IF结构的标识,
可以提高程序的可读性。
块IF结构的嵌套

多重条件的IF结构
例如,统计某个班学生的成绩时,大于等于90分的为A,
小于90大于等于80分的为B,小于80大于等于70分的为 C,小于70大于等于60分的为D,小于60分的为E。
关于CASE结构的几点说明
(5) (6) 当CASE表达式是逻辑型时,CASE选择器也应取逻辑值。逻辑值只
逻辑表达式的说明
(1) 逻辑运算符两侧的圆点“ .”不能省略; (4) 在逻辑表达式中,运算符.NOT.可以与其它运算符相邻, (2) 算术运算符的运算对象是数值量,运算结果是数值。关 这时,.NOT.应跟在其它运算符的后面。例如:A .OR..NOT.B 除了与.NOT.相邻之外,其它运算符不能相邻。例如下面的
相关文档
最新文档