FORTRAN程序設(shè)計(jì)復(fù)習(xí)題及答案_第1頁
FORTRAN程序設(shè)計(jì)復(fù)習(xí)題及答案_第2頁
FORTRAN程序設(shè)計(jì)復(fù)習(xí)題及答案_第3頁
FORTRAN程序設(shè)計(jì)復(fù)習(xí)題及答案_第4頁
FORTRAN程序設(shè)計(jì)復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

FORTRAN程序設(shè)計(jì)復(fù)習(xí)題

一、選擇題

B(1)下列各FORTRAN表達(dá)式中合法的是

A)S+T*2P>=0.0B).NOT.(A*B+C)

C)A2+B2/(C+D)<=0.0D)(A+B).NOT.A*B.GT.0.0(.NOT.

只跟一個(gè)表達(dá)式)

C⑵數(shù)學(xué)式(3/5)ex+y的FORTRAN表達(dá)式是

A)3*EXP(X+Y)/5B)3*E**(X+Y)/5.0

C)(3/5)*EXP(X+Y)D)(3.0/5.0)EXP(X+Y)

D(3)下列FORTRAN77表達(dá)式中不合法的是

A)A.GT.B.EQV.C.GT.DB)

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子程序可以單獨(dú)編譯

B)對一個(gè)FORTRAN源程序進(jìn)行編譯和連接無誤后可生成可執(zhí)行

文件

C)即使編譯和連接都正確無誤,F(xiàn)ORTRAN程序運(yùn)行時(shí)仍可能出錯(cuò)

D)FORTRAN連接的主要任務(wù)是把函數(shù)庫中的函數(shù)翻譯成機(jī)器指令

(正確描述:主要任務(wù)為連接目標(biāo)文件)

B⑸在下列FORTRAN77運(yùn)算符中,優(yōu)先級最高的是

A).AND.B).NOT.C).OR.D).EQ.

B(6)FORTRAN表達(dá)式"6/5+9/2**3/2"的值為

A)33B)1C)5D)3

A⑺下列FORTRAN77表達(dá)式中,合法的是:

A)O.O.LE.X.AND..NOT.X.GE.10.0B)

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)相當(dāng)于O.O.LE.X.AND.(.NOT.(X.GE.10.0))

D⑻關(guān)于編譯一個(gè)FORTRAN源程序文件,下列說法中錯(cuò)誤的是

A)允許編譯只有一個(gè)主程序而沒有子程序的源文件

B)允許編譯有多個(gè)子程序的源文件

C)允許編譯只有一個(gè)子程序而沒有主程序的源文件

D)允許編譯有多個(gè)主程序的源文件

C(9)在FORTRAN77源程序中,續(xù)行標(biāo)記符必需放在

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

D(10)下列關(guān)于"SUBROUTINEMAP(X,Y)"語句行的敘述中,不正確的

A)這是子程序的第一個(gè)語句B)字符串"MAP"是子程序名

C)變量X是子程序的形參D)子程序執(zhí)行后,MAP將返回整型數(shù)

據(jù)

提示:子程序無返回值,自定義函數(shù)才有)

A(ll)FORTRAN表達(dá)式"2/4+0.5"的值是

A)0.5B)1C)1.0D)0

提示:2/4默認(rèn)等于整型,0.5=》0.0

D(1[FORTRAN表達(dá)式"MOD(4.9,1.3)"的值是

A)1.3B)0.0C)4.9D)1.0

A(13下列FORTRAN運(yùn)算符中,優(yōu)先級最低的是

A)邏輯運(yùn)算符.AND.B)算術(shù)運(yùn)算符*

C)關(guān)系運(yùn)算符>=D)算術(shù)運(yùn)算符+

A(14下列語句函數(shù)的定義中正確的是

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下列標(biāo)識符中,不屬于FORTRAN常量的是

A).TRUE.B)FALSEC)'ROOT=/D),

123.0,

B(16)"整型變量M能被整型變量K整除,的FORTRAN77表達(dá)式是

A)MOD(M,K)=0(MOD(M,K)==0)B)M-M/K*K.EQ.

0

C)MOD(K,M)=0D)MOD(M,K)=0

==.TRUE.

C(17)設(shè)有下列數(shù)組說明語句:

REAL::A(l:10,-1:10)

該數(shù)組說明語句定義了數(shù)組A中的元素個(gè)數(shù)為

A)100B)110C)120D)121

A(18)按隱含規(guī)則(默認(rèn)為整型),語句

IP=3.1415926

執(zhí)行之后,IP的值是

A)3B)3.1416C)3.141592

D)3.141593

D(19)下列數(shù)據(jù)中,不符合FORTRAN常量表示法的是

A)-25.6B)2.758D3C)4FOOT*-D)

TRUE

C(20)設(shè)C是復(fù)型變量,A與B為有定義的實(shí)型變量,下列賦值語句中合

法的是

A)C=A+BB)C=(3.5,1.5**2)

C)C=(2.0,3D-2)D)C=(A4-B,A-B)

B(21)有矩陣(數(shù)組)

ri11r

B=

_2222_

下列DATA語句中正確的是

A)DATAB/4*1.0,4*2.0/B)DATA((B(I,J),J=l,4),

I=l,2)/4*1.0,4*2.0/

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

J=l,4)/4*1.0,4*2.0/

C(21)在運(yùn)用DO循環(huán)與循環(huán)嵌套時(shí),下列敘述中正確的是

A)不僅可以從循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外,也可以從循環(huán)體外轉(zhuǎn)到循環(huán)

體內(nèi)

B)外循環(huán)與內(nèi)循環(huán)的DO循環(huán)限制變量可以不同.也可以相同

C)可以從循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外,但不能從循環(huán)體外轉(zhuǎn)到循環(huán)體內(nèi)

D)DO循環(huán)限制變量在循環(huán)體內(nèi)可以再賦值,也可以被引用

B(22)在FORTRAN表達(dá)式中,各種運(yùn)算的依次是

A)邏輯運(yùn)算,關(guān)系運(yùn)算,算術(shù)運(yùn)算B)算術(shù)運(yùn)算,關(guān)系運(yùn)

算,邏輯運(yùn)算

C)關(guān)系運(yùn)算,邏輯運(yùn)算,算術(shù)運(yùn)算D)關(guān)系運(yùn)算,算術(shù)運(yùn)

算,邏輯運(yùn)算

D(23)賦值語句

X=4**(6/12)=4**0=1.0

執(zhí)行后,實(shí)型變量X的值是

A)2B)2.0C)1

D)1.0

D(24)為了保證正確出數(shù)據(jù),格式編輯符Ew.d中w與d的關(guān)系應(yīng)當(dāng)是

A)w>dB)w>d+2C)w>d+4

D)w>d+6

C(25)設(shè)下列各語句中用到的數(shù)組都已定義,則下列語句中正確的是

A)READ(*,*)(I,A(I),I=1,1O)

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

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

A(26)下列DO語句中,不正的確現(xiàn)循環(huán)的是(I-N規(guī)則:I-N會(huì)被視為整

型)

A)DO10S=-1.6,-5.3,-0.4B)DO10

K=-1.6,-5.3,-0.4

C)DO10S=-5.3,-1.6,-0.4D)DO10

K=1.6,5.3,-1.4

D(27)下列說法中正確的是

A)塊IF結(jié)構(gòu)中的THEN塊或ELSE塊不能是空塊

B)塊IF結(jié)構(gòu)中至少有一個(gè)ELSEIF語句或ELSE語句

C)每個(gè)ELSEIF語句要有一個(gè)對應(yīng)的ENDIF語句

D)一個(gè)塊IF結(jié)構(gòu)中只能有一個(gè)ENDIF語句

A(28)下列數(shù)組說明語句中正確的是

A)INTEGERA(-1:5,0:6)B)REAL

M(10:5)

C)DOUBLEY(1:N+1)D)DOUBLE

Z(14)

B(29)設(shè)有一個(gè)FORTRAN77子程序如下:

SUBROUTINESS(X,Y,S,T)

S=X+Y(S,T為傳出,即須要輸出的(相當(dāng)于求圓的面

積中的area),只能T=X*Y為確定的

數(shù);X,Y為傳入(相當(dāng)于radius),可為表達(dá)式)

END

調(diào)用上述子程序的正確語句是

A)CALLSS(2.4,W*W,5,5.9,Z)(多了一個(gè))

B)CALLSS(0.0,4.2,P,Q,R)(多了一個(gè))

C)CALLSS(F,G,7.2,5.1)

D)CALLSS(4.4*I,5.8*J,C,D)(I,J可先賦值)

A(30)在下列語句函數(shù)的定義中正確的是

A)F(X,Y)=(X+Y)/(X*Y)+7.0B)

FUNCTIONS,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)COMMON語句的功能是

A)給同一程序模塊中的若干變量支配同一存儲(chǔ)單元

B)給不同程序模塊中的變量支配相同的存儲(chǔ)單元

C)給程序中隨意兩個(gè)變量支配相同的存儲(chǔ)單元

D)給同一程序模塊中的不同變量支配相同的存儲(chǔ)單元

B(32)下列表達(dá)式中值為整數(shù)4的是

A)SQRT(16.0)B)27/6C)16**0.5

D)4*1.0

C(34)語句K=2+3.0**2/2執(zhí)行后,整型變量K的值是

A)6.5B)5C)6D)7

C(36)適用于字符型I/O的FORTRAN77格式編輯將是

A)Fw.dB)Iw.dC)AD)

Gw.d

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

SUBROUTINESUB(K,A)

B=K+2(K為整型,B)錯(cuò)誤;A不是整型,A)錯(cuò)誤;K為

傳入,可為表達(dá)式,

A=A+BA為傳出,不能為表達(dá)式)

END

下列調(diào)用語句中正確的是

A)CALLSUB(N,N)B)CALLSUB(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=l,10,J=l,10)

C)WRITE(*,*)(10,A(K),K=l,10)D)DATAA,B,C/2*0.0/

C(39)對于下列給定的FORTRAN說明和賦初值語句:

INTEGERA(2,2)

DATAA/3,4,5,6/

數(shù)組元數(shù)A(2,1)的初值為

A)3B)5C)4D)6

C(40)下列對公用區(qū)的說明語句中錯(cuò)誤的是

A)COMMONA(5),BB)COMMON/AB/A(5),B

C)COMMONAB/A(5),B/D)COMMON//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程序:

programexample

reala,b,c

a=1.0

b=2.0

c=3.0

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

end

程序運(yùn)行的結(jié)果是:LOO2.003.00

2、閱讀下列FORTRAN程序:

programexample

integer::a=l

integer::b=2

real::c

c=a/b

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

end

程序運(yùn)行結(jié)果是:0.00

3、閱讀下列FORTRAN程序:

programexample

implicitnone

integerrain,windspeed

write(*,*)"Rain:"

read(*,*)rain

write(*,*)"Wind:"

read(*,*)windspeed

If(rain>=500.or.windspeed>=10)then

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

else

write(*,*)"照常上班上課"

endif

stop

end

運(yùn)行上述程序時(shí),假如從鍵盤輸入

Rain:

505〈回車>

Wind:

8〈回車>

則最終輸出的結(jié)果為:停止上班上課

4、閱讀下列FORTRAN程序:

programexample

implicitnone

reala,b,ans

characteroperator

read(*,*)a

read(*,"(Al)")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,Al,F6.2,'=',F6.2)")a,operator,b,ans

stop

end

運(yùn)行上述程序時(shí),假如從鍵盤輸入

100v回車〉

?v回車〉

200V回車〉

則最終輸出的結(jié)果為: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

BCDIJKv回車〉

則最終輸出的結(jié)果為:DEFKLM

6、閱讀下列FORTRAN程序:

programexample

implicitnone

integeri,j

doi=l,2

doj=2,3,2

write(*,"(12,12)")i,j

enddo

write(*,*)"anothercircle"

enddo

stop

end

程序運(yùn)行的結(jié)果是:12

anothercircle

22

anothercircle

(按輸出格式,1、2前均有一空格。若題目無特殊說明,不需表達(dá)出;

若有說明,則空格用“口”表示)

7、閱讀下列FORTRAN程序:

programexample

implicitnone

integer::dest=6

integerfloor

dofloor=l,dest

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

write(*,*)floor

enddo

stop

end

程序運(yùn)行的結(jié)果是:1

3

5

6

8、閱讀下列FORTRAN77程序:

programexample

implicitnone

integer,parameter::limit=10

integercounter

integer::ans=0

counter=1

dowhile(counter<=limit)

ans=ans+counter

counter=counter+2

enddo

write(*,*)ans

stop

end

程序運(yùn)行的結(jié)果是:25

9、閱讀下列FORTRAN程序:

programexample

implicitnone

integer,parameter::students=5

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

integeri

dowhile(.true.)

write(*,*)"Query:"

read(*,*)i

if(i<=0.or.i>students)exit

write(*,*)student(i)

enddo

stop

end

運(yùn)行上述程序時(shí),假如從鍵盤輸入

3c回車,

則最終輸出的結(jié)果為: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=l,L

doj=l,N

C(i,j)=0.0

dok=1,M

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

enddo

enddo

enddo

doi=l,L

write(*,*)C(i,:)

enddo

stop

end

程序運(yùn)行的結(jié)果是:2249

2864

11、閱讀下列FORTRAN程序:

programexample

implicitnone

integer::i,j

loopl:doi=l,3

Ioop2:doj=l,3

if(i==3)exitloopl

if(j==2)cycleloop2

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

enddoloop2

enddoloopl

stop

end

程序運(yùn)行的結(jié)果是:(LI)

1,3■

2A

2,3:

12、閱讀下列FORTRAN程序:

programexample

implicitnone

real::a=1.0

callShowlnteger(a)

callShowReal(a)

stop

end

subroutineShowlnteger(num)

implicitnone

integer::num

write(*,*)num

return

end

subroutineShowReal(num)

implicitnone

real::num

write(*,*)num

return

end

程序運(yùn)行的結(jié)果是:隨機(jī)數(shù)

L000000

13、閱讀下列FORTRAN程序:

programexample

implicitnone

integer,parameter::row=2

integer,parameter::col=2

integer::m(row,col)

integerr

integerc

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

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

stop

end

程序運(yùn)行的結(jié)果是:13

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

程序運(yùn)行的結(jié)果是:12

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

doi=l,size-1

doj=i+l,size

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

t=a(i)

a(i)=a(j)

a(j)=t

endif

enddo

enddo

write(*,"(1014)”)a

stop

end

程序運(yùn)行的結(jié)果是:12345678910

16、閱讀下列FORTRAN程序:

programexample

implicitnone

real::a=l

real::b=2

real,external::add

write(*,*)add(a,b)

stop

end

functionadd(a,b)

implicitnone

real::a,b

real::add

add=a+b

return

end

程序運(yùn)行的結(jié)果是:3.000000(類似的題目,寫3.0亦可,但不行寫

31

17、閱讀下列FORTRAN程序:

programexample

implicitnone

integer::a,b

commona,b

a=l

b=2

callShowCommonO

write(*,*)a,b

end

subroutineShowCommonO

implicitnone

integer::numl,num2

commonnuml,num2

write(*,*)numl,num2

return

end

程序運(yùn)行的結(jié)果是:12

12

18、閱讀下列FORTRAN程序:

moduleglobal

implicitnone

reala,b

commona,b

endmodule

programexample

useglobal

implicitnone

a=1.0

b=2.0

callsub()

endprogram

subroutinesub()

useglobal

implicitnone

write(*,*)a,b

return

endsubroutine

程序運(yùn)行的結(jié)果是:1.0000002.000000

19、閱讀下列FORTRAN程序:

INTEGERA(3,3)

DOK=l,3

DOL=l,3

A(K,L)=K*10+L

ENDDO

ENDDO

WRIT頊*,'(IX,313)')A

END

程序運(yùn)行的結(jié)果是:112L31

122232

132333

20、閱讀下列FORTRAN程序:

INTEGERF

F(X,Y)=X+Y

A=-2.5

B=4.0

B=1.0+F(A,B)

WRITER,20)B

20FORMAT(IX,F4.1)

END

程序運(yùn)行的結(jié)果是:2.0

21、閱讀下列FORTRAN程序:

X=0

DOL=10,5,15

X=X+1.0

ENDDO

END

程序運(yùn)行時(shí)執(zhí)行循環(huán)體的次數(shù)是:」

22、閱讀下列FORTRAN77程序:

DIMENSIONM(4,4)

DATAM/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/

DO1=1,4

WRITE(*,100)(M(I,J),J=l,I)

ENDDO

100FORMAT(1X,4I2)

END

程序運(yùn)行的結(jié)果是:」

26

371

4826

23、閱讀下列FORTRAN程序:

CHARACTER(LEN=10)A

CHARACTER(LEN=6)B

DO1=1,10

A(I:I)=''

ENDDO

A(1:5)='ABCDE'

B='FGHIJK'

A(4:9)=B

WRITER,100)A

100FORMAT(1X,A)

END

程序運(yùn)行結(jié)果是:ABCFGHIJK

24、閱讀下列FORTRAN程序:

X=0.0

Y=2.0

CALLSUB(X,Y,Z,3,0)

WRITE(*;(1X,3F5.1),)X,Y,Z

END

SUBROUTINESUB(A,B,X,Z)

A=A+1

B=B+2.0

Y=1.0

X=X+Y

END

程序運(yùn)行結(jié)果是:L04.01.0

25、閱讀下列FORTRAN程序:

INTEGERN(20)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論