FORTRAN90练习题 下载本文

一. 选择题

1.语句OPEN(3,FILE=‘ABC’)打开的是 文件。

A.有格式顺序存取 C.有格式直接存取 A.变量名 A.-25.6

B.无格式顺序存取 D.无格式直接存取

C.过程名

D.* D.TRUE

2.调用子程序时,假设实参可以是常数、内在函数及表达式,其相应形参是 。

B.数组名

3.下列数据中,不符合FORTRAN90常量表示的是 。

B.3.2344D0

C.’BOOT’’=’

4.圆心在原点的两个同心圆,半径分别为2和4。描述点(X,Y)在小圆外,大圆内(包括在两圆周上)的表

达式是 。

A.ABS(X)<=4.0 .AND. ABS(Y)>=2.0 C.X*X+Y*Y<=16.0 .AND. X*X+Y*Y>=4.0

B.2.0>=SQRT(X*X+Y*Y)<=4.0

D.(X.OR.Y)>=2.0 .AND. (X .OR.Y)<=4.0

5.下列字符串中可用作FORTRAN90变量名的是 。 A.ABC B. A-BCD C. 2ABC D. AB.C 6.下列数据中不符合FORTRAN90常数表示的为 。 A. 21.50 B. +0.0D0 C. .TRUE. D. $1000

7.表达式:-B+SQRT(B*B-4.0*A*C).LE.3E-5值的类型是 。 A. 逻辑型 B. 整型 C. 实型 D. 字符型

8.按隐含约定,设X=2.5,Y=1.0,Z=3.0, 执行赋值语句I=X+Y/Z后I的值为 。 A. 2.0 B. 2 C. 3 D. 3.0 9.下列语句中那个语句是错误的是 。

A. READ(*,*)X B. READ*,X C. PRINT(*,*)X D. PRINT *,X 10.说明语句REAL A(1:2,-1:10)说明数组A的元素个数为 。 A. 11 B. 12 C. 22 D. 24 11.M能被N整除的FORTRAN表达式为 。

A. (M/M)=0 B. (M MOD N).EQ.0 C. (M/N).EQ.0 D. MOD(M,N).EQ.0 12.以下关于FORTRAN90中有关虚参、实参的说法中,不正确的是 。

A.实参和虚参个数一定要相等 C.虚参可以用数组

B.实参和虚参个数可以不相等 D.实参可以用数组

13. 下列关于FORTRAN 90源程序编辑规则的叙述之中,正确的是 。 A. 任何以符号“!”开头的内容均是注释行。

B. 主程序第一行必须是PROGRAM语句。

C. 要实现有格式输入输出,必须有FORMAT语句。

D. 每个子程序中必须有一个RETURN语句。 14. 阅读下列程序 F=1.0 DO J=3,7,2 DO K=J-1,J F =F*K ENDDO ENDDO

WRITE(*,'(I3,F8.1)') J,F

END

程序运行结果是 。

A. 3 6.0 B. 5 120.0 C. 9 5040.0 D. 9362880.0 15. 阅读下列程序 A=3.5

CALL suba(A,A,A) WRITE(*,'(F4.1)') A CONTAINS

SUBROUTINE suba(X,Y,Z) Y=Y-2.0; Z=Z+X END SUBROUTINE END

程序运行的结果是 。

A. 7.0 B. 5.0 C. 3.0 D. 1.5

16. 阅读下列程序

CHARACTER A*4,B*5,C*4

DATA A,B,C/'BIG’,'MIDDLE','SMALL'/ WRITE(*,20) A,B,C 20 FORMAT(1X,A2,A3,A4) END

程序运行结果是 。

A. BIGMIDDLE B. ********* C. BIGMIDSMA D. BIMIDSMAL

17. 阅读下列程序

FUN(c,d)=a*c+b/d DATA a,b/1.0,-1.0/

WRITE(*,'(F4.1)')FUN(a,b)-FUN(b,a) END

程序运行结果是 。

A. 0.0 B. 4.0 C. 2.O D. 3.O 18. 阅读下列程序

READ(*,500)R,W WRITE(*,500)R,W 500 FORMAT(F5.2,F5.3) END

程序运行时输入初始值01234567899,结果显示的是 。

A. 12.34***** B. 12.3456.789 C. ********** D. 123.4567.899 19. 阅读下列程序

DIMENSION M(3,3)

DATA M/1,2,3,4,5,6,7,8,9/ WRITE(*,100) (M(3,J),J=1,3) 100 FORMAT(3I2) END

程序运行结果是 。

A. 2 5 8 B. 3 6 9 C. 4 5 6 D. 7 8 9

20. 阅读下列程序

DIMENSION S(3) DATA S/1.0,2.0,3.0/ WRITE(*,*) LA(3,S) CONTAINS

FUNCTION LA(N,X) DIMENSION X(N) LA=0 L=2 DO I=1,N LA=LA+X(I)/L ENDDO

END FUNCTION END

程序运行结果是 。

A. 1.0000000 B. 2.0000000 C. 1 D. 2 21. 阅读下列程序

DIMENSION N(2) DO I=1,2 N(I)=0 ENDDO K=2 DO I=1,K DO J=1,K N(J)=N(I)+1 ENDDO ENDDO

WRITE(*,100),N 100 FORMAT(I3,I3) END

程序运行结果是 。

A. 2 3 B. 3 3 C. 2 2 D. 3 2 22. 阅读下列程序

INTEGER A(3,3)

DATA A/9,8,7,6,5,4,3,2,1/

WRITE(*,10)((A(M,N),N=1,M),M=1,3) 10 FORMAT(I2/,2I2/,3I2) END

程序运行结果是 。

A.9 6 3 B.9 8 7 C.9 D.9

5 2 5 4 8 5 6 5 1 1 7 4 1 3 2 1 23.CHARACTER*4 A,B,C*5

DATA A,B,C/'YOUR','BOYS','GIRLS'/ WRITE(*,'(1X,A4,A5,A6,A1)')A,B,C,'!' END

程序运行结果是 。

A. YOURBOYSGIRLS! B. YOUR凵BOYS凵GIRLS! C. YOUR凵BOYSGIRLS! D. YOURBOYS凵GIRLS! 24.FORTRAN 90规定程序中名称的长度不能超过 个字符。

A.8

B.15

C.31

D.63

25.关于FORTRAN 90程序单元,以下四种说法中正确的是 。

A. 一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个主程序单元 B. 一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个模块单元 C. 一个FORTRAN 90程序允许有多个程序单元,但每类程序单元只能有一个

D. 一个FORTRAN 90程序允许有多个程序单元,但主程序单元和模块单元只能有一个 26. 下列表达式中,正确的______________。

A. ∣A*x+B*y+C*z∣ B.‘A’<= ch <= ‘Z’ C.X>100 = = .TRUE.

D.‘HAPPY ’+‘NEW ’+‘YEAR.’

27. FORTRAN 90规定,变量类型声明的优先顺序是 。

A. 隐含约定(I-N规则)、IMPLICIT声明、类型声明 B. 类型声明、隐含约定(I-N规则)、IMPLICIT声明 C. 类型声明、IMPLICIT声明、隐含约定(I-N规则) D. IMPLICIT声明、类型声明、隐含约定(I-N规则)

28. FORTRAN90源程序书写语句时采用英文字母大小写的最正确说法是 。 A.必须全部用大写 B.必须全部用小写

C.关键字必须大写,其余必须用小写 D.关键字最好用大写,其余可用大写可用小写

29.以下FORTRAN90的独立程序单位中,不可包含有可执行语句的是 。 A.主程序单位 B.函数子程序单位 C.子例行子程序单位 D.数据块子程序单位 30.若数组说明浯句为:REAL,DIMENSION(-3:3,-2:2,-1:1):: a

则数组元素s(2,1,0)是第 个元素。

A. 60 B. 61 C. 62 D. 63 31.若说明语句为: COMPLEX(KIND=8)::c=(3.23l,2.445)

REAL(KIND=8),PARAMETER::e=2.818281828459045 则下述说法中不正确的是 。 A. c和e的类别参数相同

D. c为双精度复型,e为双精度实型 C. c和e在程序内都可重新赋值

D. c为普通变量,可重新赋值。e具参数属性,程序内不可重新赋值

32.数组声明语句为:INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::num,数组元素num(-2,1,13)是存储结构中第 个元素。

A.70

B.85

C.90

D.94

33.指出下列符号中,合法的FORTRAN90变量名是 。

①shanghai ②gh3.5 ③sum 1 ④#3r ⑤abc3d ⑥32 ⑦A m ⑧a-1 A. ①②③④ B.⑤⑥⑦⑧ C. ①③⑤⑦ D.②④⑥⑧ 34.表达式10/4/2.0的值是 。

A,整数1 B.实数1.0 C.实数1.25 D.实数L 3 35. 设有程序片段: CHARACTER(len=10) ::a=’abcdefghij’ CHARACTER(1en=5) ::c

C=a(:5); a(:5)=a(3:7); a(3:7)=c PRINT *,a 执行后,输出结果是 。

A.cdabcdehij B.jfghiabcde C.fghiiabcde D.abcdefghij 36. 下列程序片段执行后,输出的结果是 。 n=0

DO k=5,1,-1 m=0 DO j=k,5

n=k+j; m=m+k*j+n ENDDO ENDDO PRINT *,m

A. 33 B. 34 C.35 D.36 37.FORTRAN90源程序书写风格的正确说法是 。

A. 自由格式,程序从任一列开始书写,但一行只能写一个语句

B. 自由格式,程序从任一列开始书写,一行可写多个语句,语句间用分号隔开 C. 必须是固定格式,程序从第7列开始写,但一行只能写一个语句

D. 必须是固定格式,程序从第7列开始写,一行可写多个语句,语句间用分号隔开 38.数组说明语句为:REAL,DIMENSION(-1:1,-2:2,-3:3)::a 数组元素以a(1,1,1)是第 个元素。 A. 71

B. 72

C. 73

D. 74

39.说明语句为:CHARACTER(len=5)::khar

CHARACTER(len=10),PARAMETER::line='Vive Chine' 下述语句中不正确的是 。

A. khar=line(6:10) B. khar=‘Chine’ C. khar=line D. khar=line//'!' 40.下列关于子程序的有关说法中,不正确的是 。

A. 对于无参函数子程序,调用时函数名后括号可取消

B. 对于无参子例行程序,调用时子例行程序名后的括号可取消 C. 对于有参子程序,形式参数可以是子程序名 D. 对于有参子程序,形式参数可以是星号“*” 41.下列语句函数声明中,正确的是 。

A.FUN1(I,I)=5*I-10*I**2

B. FUN2(MAT(5),A)=5*A+MAT(5) D. FUN4(X,Y)=SQRT(X**2+Y**2+5.0**2)

C. FUN3(X,Y,5.0)=X**2+Y**2+5.0**2

42. 一个完整的FORTRAN 90源程序的组成不应该 。