FORTRAN程序设计复习题及答案.docx

上传人:b****7 文档编号:9506383 上传时间:2023-02-05 格式:DOCX 页数:24 大小:29.96KB
下载 相关 举报
FORTRAN程序设计复习题及答案.docx_第1页
第1页 / 共24页
FORTRAN程序设计复习题及答案.docx_第2页
第2页 / 共24页
FORTRAN程序设计复习题及答案.docx_第3页
第3页 / 共24页
FORTRAN程序设计复习题及答案.docx_第4页
第4页 / 共24页
FORTRAN程序设计复习题及答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

FORTRAN程序设计复习题及答案.docx

《FORTRAN程序设计复习题及答案.docx》由会员分享,可在线阅读,更多相关《FORTRAN程序设计复习题及答案.docx(24页珍藏版)》请在冰豆网上搜索。

FORTRAN程序设计复习题及答案.docx

FORTRAN程序设计复习题及答案

FORTRAN程序设计复习题

一、选择题

B

(1)下列各FORTRAN表达式中合法得就是

A)S+T*2P 〉=0、0   B)、NOT、(A*B+C)

C)A2+B2/(C+D)<=0、0 D)(A+B)、NOT.A*B。

GT.0、0(、NOT、只跟一个表达式)

C

(2)数学式(3/5)ex+y得FORTRAN表达式就是

A)3*EXP(X+Y)/5   ﻩﻩﻩB)3*E* *(X+Y)/5、0 

C)(3/5)*EXP(X+Y)ﻩﻩﻩD) (3、0/5、0)EXP(X+Y)

D (3)下列FORTRAN77表达式中不合法得就是

A)A。

GT.B.EQV.C.GT。

D ﻩﻩB)A.AND.B.AND。

C。

AND.D

C)、NOT。

(X。

LE。

0、0)   ﻩﻩ D)A.LT。

B。

LT.C.LT.D

D(4)下列叙述中不正确得就是 

A)FORTRAN子程序可以单独编译ﻫB)对一个FORTRAN源程序进行编译与连接无误后可生成可执行文件

C)即使编译与连接都正确无误,FORTRAN程序运行时仍可能出错ﻫD)FORTRAN连接得主要任务就是把函数库中得函数翻译成机器指令 (正确描述:

主要任务为连接目标文件)

B(5)在下列FORTRAN77运算符中,优先级最高得就是ﻫA)、AND、B)、NOT、  C) 、OR、 D)、EQ、

B(6)FORTRAN表达式"6/5+9/2**3/2"得值为ﻫA) 33B)1C)5 D) 3

A (7)下列FORTRAN77 表达式中,合法得就是:

ﻫA)0、0、LE、X、AND、、NOT、X、GE、10、0 B) 0、0、GE、X、LT、10。

0 

C) 0、0、LE、X、GE、10、         D)10、0、LE、X、OR、、AND、X、GT、0、0

提示:

A)相当于0、0、LE、X、AND、(、NOT、(X、GE、10、0))

D (8)关于编译一个FORTRAN源程序文件,下列说法中错误得就是

A)允许编译只有一个主程序而没有子程序得源文件ﻫB)允许编译有多个子程序得源文件ﻫC)允许编译只有一个子程序而没有主程序得源文件 ﻫD)允许编译有多个主程序得源文件

C(9)在FORTRAN77源程序中,续行标志符必须放在 

A)第1列B)第1-6列C)第6列D)第5列

D (10)下列关于"SUBROUTINEMAP(X,Y)”语句行得叙述中,不正确得就是ﻫA)这就是子程序得第一个语句 B)字符串"MAP”就是子程序名ﻫC)变量X就是子程序得形参D) 子程序执行后,MAP将返回整型数据

提示:

子程序无返回值, 自定义函数才有)

A(11)FORTRAN表达式"2/4+0、5"得值就是

A)0、5 B)1 C)1、0D)0

提示:

2/4默认等于整型,0、5=》0、0

D(12)FORTRAN表达式"MOD(4、9,1、3)"得值就是

A)1、3 B)0.0  C)4、9D)1、0 

A(13下列FORTRAN运算符中,优先级最低得就是

A)逻辑运算符、AND、 B)算术运算符*

C)关系运算符>=  D)算术运算符+

A(14下列语句函数得定义中正确得就是ﻫA)F(X,Y)=(X+Y)/(X*Y)+7、0B)FUNCTIONFUN(I,J,K)=3*I+2*J+0、5*K

C)H(A,B,C(I))=SIN(A)+SIN(B)+C(I) D)S(A,B,C)=A*B+S(A*A,B,C)

B(15下列标识符中,不属于FORTRAN常量得就是

A)、TRUE、B)FALSE   C)ˊROOT=ˊ   D)ˊ123、0ˊ

B(16)”整型变量M能被整型变量K整除"得FORTRAN77表达式就是

A)MOD(M,K)=0(MOD(M,K)= =0)B)M-M/K*K、EQ、 0ﻫC)MOD(K,M)=0        D)MOD(M,K)=0 ==、TRUE、

C(17)设有下列数组说明语句:

REAL:

:

 A(1:

10,-1:

10)ﻫ该数组说明语句定义了数组A中得元素个数为ﻫA)100B)110   C)120D)121

A(18)按隐含规则(默认为整型),语句

IP=3、1415926

执行之后,IP得值就是

A)3     B)3.1416C)3、141592  D)3、141593

D(19)下列数据中,不符合FORTRAN常量表示法得就是

A) —25、6 B)2、758D3ﻩC)‘FOOT'‘=’  D)TRUE

C(20)设C就是复型变量,A与B为有定义得实型变量,下列赋值语句中合法得就是

A)C=A+BﻩﻩﻩﻩB)C=(3、5,1、5**2)

C) C=(2、0,3D—2)ﻩﻩﻩﻩD)C=(A+B,A—B)

B (21)有矩阵(数组)

 

下列DATA语句中正确得就是

A)DATA B/4*1、0,4*2、0/   B) DATA((B(I,J), J=1,4),I=1,2)/4*1、0,4*2、0/

C)DATAB/4*(1、0,2、0)/  D)DATA((B(I,J),I=1,2),J=1,4)/4*1、0, 4*2、0/

C(21)在使用DO循环及循环嵌套时,下列叙述中正确得就是

A) 不仅可以从循环体内转到循环体外,也可以从循环体外转到循环体内

B)外循环与内循环得DO循环控制变量可以不同.也可以相同

C)可以从循环体内转到循环体外,但不能从循环体外转到循环体内

D)DO循环控制变量在循环体内可以再赋值,也可以被引用

B(22)在FORTRAN表达式中,各种运算得顺序就是

A)逻辑运算,关系运算,算术运算ﻩﻩB) 算术运算,关系运算,逻辑运算

C)关系运算,逻辑运算,算术运算ﻩD)关系运算,算术运算,逻辑运算

D(23)赋值语句

        X=4**(6/12)=4**0=1、0

 执行后,实型变量X得值就是

A)2  B) 2。

0     C)1 D)1、0

D (24)为了保证正确出数据,格式编辑符Ew、d中w与d得关系应该就是

A)w>d    ﻩﻩB)w〉d+2    ﻩC)w>d+4  D)w>d+6

C(25)设下列各语句中用到得数组都已定义,则下列语句中正确得就是

A) READ(*,*)(I,A(I),I=1,10)ﻩﻩB)READ(*,*)(B,(I,J),I=1,10,J=1,10)

C)READ(*,*)N,(A(I),I=1,N) D)READ(*,*)(I=1,10,A(I))

A(26)下列DO语句中,不正确实现循环得就是(I-N规则:

I-N会被视为整型)

A)DO10S=—1、6,-5、3,-0、4  ﻩﻩB)DO10K=—1、6,-5、3,-0、4

C)DO10S=-5、3,-1、6,—0、4  D)DO10K=1、6,5、3,-1、4

D(27)下列说法中正确得就是

A)块IF结构中得THEN块或ELSE块不能就是空块

B)块IF结构中至少有一个ELSEIF语句或ELSE语句

C) 每个ELSEIF语句要有一个对应得ENDIF语句

D) 一个块 IF结构中只能有一个END IF语句

A (28)下列数组说明语句中正确得就是

A)INTEGERA(—1:

5,0:

6)ﻩB)REAL M(10:

5)

C)DOUBLEY(1:

N+1) ﻩﻩD)DOUBLE Z(14)

B(29)设有一个FORTRAN77子程序如下:

    SUBROUTINESS(X,Y,S,T)

    S=X+Y(S,T为传出,即需要输出得(相当于求圆得面积中得area),只能 T=X*Y为确定得数;X,Y为传入(相当于radius),可为表达式)

      END

调用上述子程序得正确语句就是

A)CALLSS(2、4,W*W,5,5、9,Z)(多了一个) 

B) CALL SS(0、0,4、2,P,Q,R) (多了一个)

C)CALLSS(F,G,7、2,5、1)   

D)CALLSS(4、4*I,5、8*J,C,D)(I,J可先赋值)

A(30)在下列语句函数得定义中正确得就是

A)F(X,Y)=(X+Y)/(X*Y)+7、0ﻩﻩB)FUNCTION(I,J,K)=3*I+2*J+0、5*K

C)H(A,B,C(I))=SIN(A)+SIN(B)+C(I)ﻩD)S(A,B,C)=A*B+S(A*A,B,C)

B (31)MON语句得功能就是

A)给同一程序模块中得若干变量分配同一存储单元

B)给不同程序模块中得变量分配相同得存储单元

C)给程序中任意两个变量分配相同得存储单元

D)给同一程序模块中得不同变量分配相同得存储单元

B(32)下列表达式中值为整数4得就是

A)SQRT(16、0)ﻩB)27/6ﻩC) 16**0、5ﻩﻩD)4*1、0

C(34)语句K=2+3、0**2/2执行后,整型变量K得值就是

A)6、5ﻩﻩﻩB)5ﻩﻩﻩC)6ﻩﻩD)7

C (36)适用于字符型 I/O得FORTRAN77格式编辑将就是

A)Fw、dﻩﻩB)Iw、dﻩﻩC)AﻩﻩD) Gw、d

D(37)给定子例行程序如下

SUBROUTINESUB(K,A)

B=K+2(K为整型,B)错误;A不就是整型,A)错误;K为传入,可为表达式,

A=A+BA为传出,不能为表达式)

END

下列调用语句中正确得就是

A)CALL SUB(N,N)B)CALL SUB(X,X)ﻩ

C)CALLSUB(N+2,X)ﻩD)CALLSUB(N,X+3)

C(38)下列FORTRAN语句中,正确得就是ﻫ  A)READ(*,*)(N,A(K),K=1,N) B)WRITE(*,*) (M(K,J),K=1,10,J=1,10)ﻫ  C)WRITE(*,*)(10,A(K),K=1,10) D)DATAA,B,C/2*0、0/

C (39)对于下列给定得FORTRAN说明与赋初值语句:

ﻫ  INTEGERA(2,2)

  DATAA/3,4,5,6/

  数组元数A(2,1)得初值为

   A)3 B)5  C)4   D)6ﻫC (40)下列对公用区得说明语句中错误得就是

A) MONA(5),B   B)MON/AB/ A(5),B ﻫ  C)MON AB/A(5),B/  D)MON//A(5),B

D (41)下列各逻辑IF语句中正确得就是

A) IF(X〈0、0) THEN10

B) IF(X〉=0、0)、AND、(X、LT、1、0)Y=2*X+1、0

C) IF(0、0>=X〈=1、0)Y=2*X+1、0

D) IF(X >=0、0、AND、X <=1、0)Y=2*X+1、0

二、阅读题

1、阅读下列FORTRAN程序:

program example

 real a,b,c

a=1、0

b=2、0

c=3、0

   write(*,”(3(F5、2))")a,b,c

end

程序运行得结果就是:

1、00 2、00 3、00  

2、阅读下列FORTRAN程序:

program example

 integer:

:

a=1

   integer:

:

b=2

real:

c

c=a/b

write(*,"(F5、2)")c

end

程序运行结果就是:

0、00  

3、阅读下列FORTRAN程序:

programexample

implicit none

 integerrain, windspeed

 write(*,*) "Rain:

 read(*,*)rain

write(*,*)"Wind:

"

 read(*,*)windspeed

 If (rain〉=500、or、windspeed 〉=10 ) then

  write(*,*)"停止上班上课"

 else

  write(*,*)"照常上班上课”

endif

stop

end

运行上述程序时,如果从键盘输入 

Rain:

505<回车>

Wind:

8<回车>

则最后输出得结果为:

停止上班上课

4、阅读下列FORTRAN程序:

programexample

implicit none

  reala,b,ans

 character operator

    read(*,*)a

 read(*,”(A1)")operator

  read(*,*)b

selectcase(operator)

  case(’+')

    ans=a+b

 case('—')

   ans=a-b

case('*')

 ans= a*b

  case(’/’)

  ans= a/b

 casedefault

 write(*,”(’Unknownoperator',A1)”)operator

ﻩstop

 endselect

write(*,"(F6、2,A1,F6、2,’=’,F6、2)") a,operator,b,ans

stop

end

运行上述程序时,如果从键盘输入 

100<回车>

<回车>

200<回车>

则最后输出得结果为:

 Unknownoperator ?

 

5、阅读下列FORTRAN程序:

programexample

implicitnone

 integeri

 integerstrlen

  integer, parameter:

:

 key =2

 character(len=20):

:

string

write(*,*) ”Encodedstring:

 read(*,*)string

  strlen=len_trim(string)

 doi=1, strlen

  string(i:

i)=char(ichar(string(i:

i)) +key )

enddo

 write(*,"('String:

',A20)”)string

 stop

end

BCDIJK<回车>

则最后输出得结果为:

 DEFKLM   

6、阅读下列FORTRAN程序:

programexample

implicit none

 integeri,j

doi=1,2

 do j=2,3, 2

write(*, "(I2,I2)”)i,j

enddo

ﻩwrite(*,*)"anothercircle"

enddo

 stop

end

程序运行得结果就是:

1 2      

  anothercircle          

    22

        anothercircle

(按输出格式,1、2前均有一空格。

若题目无特殊说明,不需表达出;若有说明,则空格用“□”表示)

7、阅读下列FORTRAN程序:

programexample

implicit none

integer:

dest=6

 integerfloor

dofloor=1, dest

  if (floor==2、or、floor==4)cycle

write(*,*)floor

 enddo

stop

end

程序运行得结果就是:

1 

   3   

   5   

    6     

8、阅读下列FORTRAN77程序:

program example

implicitnone

integer,parameter:

limit=10

  integer counter

integer :

ans=0

counter= 1

 dowhile(counter〈=limit )

ans=ans +counter

 counter =counter+2

enddo

write(*,*)ans

stop

end

程序运行得结果就是:

  25

9、阅读下列FORTRAN程序:

programexample

implicitnone

 integer, parameter :

:

 students= 5

  integer :

 student(students)=(/80,90,85, 75,95/)

integeri

 do while(、true、)

 write(*,*)”Query:

read(*,*)i

   if(i〈=0、or、i〉students)exit

write(*,*) student(i)

enddo

stop

end

运行上述程序时,如果从键盘输入

3〈回车〉

则最后输出得结果为:

85 

10、阅读下列FORTRAN程序:

programexample

implicitnone

 integer,parameter:

L=2,M=3,N=2

real:

:

A(L,M) =(/1,2,3,4,5,6/)

 real :

B(M,N)=(/1,2,3,4,5,6/)

real:

:

 C(L,N)

 integer:

i,j,k

doi=1,L

 doj=1,N

C(i,j)= 0、0

  dok=1,M

ﻩC(i,j)= C(i,j)+A(i,k)*B(k,j)

  enddo

enddo

 enddo

  do i=1,L

write(*,*)C(i,:

 enddo

stop

end

程序运行得结果就是:

  2249 

     28 64        

11、阅读下列FORTRAN程序:

programexample

implicit none

integer :

:

 i,j

loop1:

 doi=1,3

loop2:

 doj=1,3

   if(i==3) exitloop1

  if(j==2)cycleloop2

 write(*, "(’(',i2,’,’,i2,’)’)" )i, j

enddoloop2

  enddoloop1

 stop

end

程序运行得结果就是:

(1,1)  

      (1,3) 

 (2,1)           

      (2,3)   

12、阅读下列FORTRAN程序:

program example

implicitnone

real :

:

a=1、0

 call ShowInteger(a)

 callShowReal(a)

 stop

end

subroutineShowInteger(num)

implicit none

 integer :

num

write(*,*)num

return

end

subroutine ShowReal(num)

implicit none

 real:

:

 num

 write(*,*)num

return

end

程序运行得结果就是:

 随机数 

 1、000000    

13、阅读下列FORTRAN程序:

programexample

implicitnone

 integer,parameter:

row =2

  integer,parameter:

 col = 2

integer:

m(row,col)

 integer r

integer c 

 data((m(r,c), r=1,2), c=1,2)/1,2,3,4/

write(*,"(I3,I3,/,I3,I3)")(( m(r,c),c=1,2),r=1,2)

stop

end

程序运行得结果就是:

  1 3 

     24

14、阅读下列FORTRAN程序:

programex0805

implicitnone

integer :

a=1

 integer:

:

b=2

write(*,*)a,b

 calladd(a)

calladd(b)

 write(*,*) a,b

 stop

end

subroutineadd(num)

implicitnone

integer:

num

num=num+1

return 。

end

程序运行得结果就是:

 1 2 

23  

15、阅读下列FORTRAN程序:

programexample

implicitnone

 integer,parameter:

 size=10

 integer:

a(size)=(/5,3,6,4,8,7,1,9,2,10/)

 integer:

:

i,j

 integer:

:

 t

 do i=1,size-1

 doj=i+1,size

 if( a(i)>a(j))then

ﻩ  t=a(i)

 a(i)=a(j)

a(j)=t

ﻩendif

ﻩend do

enddo

 write(*,"(10I4)") a

 stop

end

程序运行得结果就是:

12 3 45 6 7 8 9 10     

16、阅读下列FORTRAN程序:

programexample

impl

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

当前位置:首页 > 医药卫生 > 中医中药

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

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