FORTRAN程序设计复习题及答案_第1页
FORTRAN程序设计复习题及答案_第2页
FORTRAN程序设计复习题及答案_第3页
FORTRAN程序设计复习题及答案_第4页
FORTRAN程序设计复习题及答案_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FoRTRA程序设计复习题、选择题B (1)下列各FORTRA表达式中合法的是16GT (. NOT只跟一个表达式)A) S+T* 2P >=C) A2+B2(C+D)<=C (2)数学式(35)ex+yB) .NOT. (A*B+C)D) (A+B) .NOT. A*B. 的FORTRA表达式是B) 3*E* *(X+Y)/A) 3*EXP(X+Y)5C) (35)*EXP(X+Y)D) EXP(X+Y)D (3)下列FORTRAN7表达式中不合法的是A) A . GT B. EQV C . GT DB) A . AND B . AND C. AND DC) .NOT . (X

2、. LE .D) A . LT . B . LT . C. LT . DD下列叙述中不正确的是A) FORTRAN子程序可以单独编译B) 对一个FORTRA源程序进行编译和连接无误后可生成可执行文件C) 即使编译和连接都正确无误,FORTRA程序运行时仍可能出错D) FORTRAN连接的主要任务是把函数库中的函数翻译成机器指令(正确描述:主要任务为连接目标文件)B在下列FORTRAN7运算符中,优先级最高的是A) .AND. B) .NOT. C) .OR. D) .EQ.B (6)FORTRAN 表达式"65+92*32"的值为A) 33 B) 1 C) 5 D) 3A

3、(7)下列FORTRAN77表达式中,合法的是:A) .AND.B) 10.0C)D)提示:A)相当于.AND. ( .NOT.()D (8)关于编译一个FORTRAI源程序文件,下列说法中 错误的是A) 允许编译只有一个主程序而没有子程序的源文件B) 允许编译有多个子程序的源文件C) 允许编译只有一个子程序而没有主程序的源文件D) 允许编译有多个主程序的源文件C (9)在FORTRAN7源程序中,续行标志符必须放在A)第1列B)第1-6列C)第6列D)第5列D (10)下列关于"SUBROUTINE MAP(X Y)"语句行的叙述中,不正确的是A) 这是子程序的第一个语句

4、B)字符串"MAP"是子程序名C)变量X是子程序的形参 D)子程序执行后,MAP将返回整型数据 提示:子程序无返回值,自定义函数才有)A (11)FORTRAN表达式"24+"的值是A) B) 1 C) D) 0提示:24默认等于整型,=D (12)FORTRAN表达式"MOD "的值是A) B)0.0 C)D)A (13下列FORTRANi算符中,优先级最低 的是A)逻辑运算符.AND.B )算术运算符*C)关系运算符= D)算术运算符+A (14下列语句函数的定义中正确的是A) F(X, Y) = (X + Y)(X*Y) + B

5、 ) FUNCTIoNFUN(I , J , K) = 3*1 + 2*J + *KC) 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下列标识符中,不属于FORTRA常量的是A) .TRUE. B) FALSE C )x ROO= / D )xxB (16)"整型变量 M能被整型变量 K整除"的FORTRAN7表达式是A)MOD(MK) =0(MOD(IM K)= =0) B)M- M/K*K .EQ. 0C)MOD(KM)=0D)MOD(M K) = 0 = .TRUE

6、.C (17)设有下列数组说明语句:REAL: A(1:10, - 1:10)该数组说明语句定义了数组A中的元素个数为A) 100 B ) 110C) 120 D ) 121A (18)按隐含规则(默认为整型),语句IP=执行之后,IP的值是A) 3B) 3.1416C)D)D (19)下列数据中,不符合 FORTRAN常量表示法的是A) B)C) 'FOOT ' ='D) TRUEC (20)设C是复型变量,A与B为有定义的实型变量,下列赋值语句中合法的是A) C= A+BB) C=, *2 )C) C=,3D-2)D) C=( A+ B A-B)B (21)有矩阵(

7、数组)1111 B2 2 2 2F列DATA语句中正确的是A) DATA B4*,4*B) DATA(B(I,J), J=1,4), I=1,2)/4*, 4*C) DATA B/4*,/ D) DATA(B(I,J),I=1,2), J=1,4)/4*, 4*C (21)在使用DO循环及循环嵌套时,下列叙述中正确的是A) 不仅可以从循环体内转到循环体外,也可以从循环体外转到循环体内B) 外循环与内循环的 DO循环控制变量可以不同也可以相同C) 可以从循环体内转到循环体外,但不能从循环体外转到循环体内D) DO循环控制变量在循环体内可以再赋值,也可以被引用B (22)在FORTRA表达式中,各

8、种运算的顺序是A)逻辑运算,关系运算,算术运算C)关系运算,逻辑运算,算术运算B) 算术运算,关系运算,逻辑运算D)关系运算,算术运算,逻辑运算D (23)赋值语句X=4*(612)=4*0=执行后,实型变量X的值是A) 2B) 2.0C) 1D)D (24)为了保证正确出数据,格式编辑符中W与d的关系应该是A) w>dB) w>d+2C) w>d+4D) w>d+6C (25)设下列各语句中用到的数组都已定义,则下列语句中正确的是A) READ(*,*)(I,A(I),I=1,1O)C) READ(*,*)N,(A(I),I=1,N)B) READ(*,*)(B,(I

9、,J),I=1,1O,J=1,1O)D) READ(*,*)(I=1,10,A(I)A (26)下列Do语句中,不正确实现循环的是(I-N 规则:I-N会被视为整型)A) DO 10 S=,B) DO 10 K=,C) DO 10 S=,D) DO 10 K=,D (27)下列说法中正确的是A)块IF结构中的THEN块或ELSE块不能是空块B) 块IF结构中至少有一个 ELSE IF 语句或 ELSE语句C) 每个ELSE IF 语句要有一个对应的 END IF语句D) 一个块IF结构中只能有一个 END IF语句A (28)下列数组说明语句中正确的是B) REAL M(10:5)D) DOU

10、BLE Z(14)A) INTEGER A(-1:5,0:6)C) DOUBLE Y(1:N+1)B (29)设有一个FORTRAN7子程序如下:SUBROUTINE SS(X,Y,S,T)S=X+Y( S,T为传出,即需要输出的(相当于求圆的面积中的area ),只能T=X*Y为确定的数;X,Y为传入(相当于radius),可为表达式)END调用上述子程序的正确语句是A) CALL SS,W*W,5,Z)B) CALL SS,P,Q,R)C) CALL SS(F,G,D) CALL SS*I,*J,C,D)(多了一个)(多了一个)(I,J可先赋值)A (30)在下列语句函数的定义中正确的是A

11、) F(X,Y)=(X+Y)(X*Y)+B) FUNCTION,J,K)=3*I+2*J+*KC) 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) COMMO语句的功能是A) 给同一程序模块中的若干变量分配同一存储单元B) 给不同程序模块中的变量分配相同的存储单元C) 给程序中任意两个变量分配相同的存储单元D) 给同一程序模块中的不同变量分配相同的存储单元B (32)下列表达式中值为整数4的是A) SQRT B)27/6C) 16*D) 4*C (34)语句K=2+*22执行后,整型变量 K的值是A)B)

12、5C) 6D) 7C (36)适用于字符型I/O的FoRTRAN77格式编辑将是A)B)C) AD)D (37)给定子例行程序如下SUBROUTINE SUB(K,A)B=K+2( K为整型,B)错误;A不是整型,A)错误;K为传入,可为表达式, A=A+B A为传出,不能为表达式)END下列调用语句中正确的是A) CALL SUB(N,N) B) CALL SUB(X,X)C) CALL SUB(N+2,X)D) CALL SUB(N,X+3)C (38) 下列FORTRA语句中,正确的是J=1,10)A) READ(*,*) (N,A(K),K=1,N) B)WRITE(*,*) (M(K

13、,J),K=1,10,C) WRITE(*,*) (10,A(K),K=1,10)D) DATA A,B,C/ 2*C (39)对于下列给定的 FORTRA说明和赋初值语句:INTEGER A(2,2)DATA A/3,4,5,6/数组元数A(2, 1)的初值为A) 3 B) 5C) 4 D) 6C (40)下列对公用区的说明语句中错误的是A) COMMON A(5), BB) COMMON/AB/ A(5), BC) COMMON AB/A(5), B/ D) COMMONND. IF>=X<= Y=2*X+D) IF(X >= <= Y=2*X+二、阅读题1、阅读下

14、列FORTRA程序:Program examplereal a,b,ca=b=C=write(*,"(3)") a,b,cend程序运行的结果是:2、阅读下列FORTRAI程序:PrOgram examplein teger : a=1in teger : b=2real : Cc=abwrite(*,"") Cend程序运行结果是: 3、阅读下列FoRTRA程序:Program exampleimplicit nonein teger rain, win dspeedWrite(*,*) "Rai n:"read(*,*) rain

15、Write(*,*) "Win d:"read(*,*) Win dspeedIf ( rain>=500 .or. Win dspeed >=10 ) the nWrite(*,*)"停止上班上课"elseWrite(*,*)"照常上班上课"end ifstopend运行上述程序时,如果从键盘输入Rain :505<回车>Win d:8< 回车>则最后输出的结果为:停止上班上课4、阅读下列FORTRA程序:PrOgram example implicit none real a,b,a ns Ch

16、araCter OPeratOr read(*,*) a read(*,"(A1)") OPeratOr read(*,*) bSeIeCt CaSe(OPeratOr) case('+') ans = a+bcase('-') ans = a-bcase('*')ans = a*bcase(7')ans = a/bCaSe defaultwrite(*,"(' UnknoWn OPerator',A1)") OPerator StoPend SeIeCtwrite(*,"

17、,A1,'=',") a,operator,b,a nsstopend运行上述程序时,如果从键盘输入100回车回车200回车则最后输出的结果为:_Unknown OPerator5、阅读下列FoRTRA程序:PrOgram exampleimplicit nonein teger iin teger strle nin teger, Parameter : key = 2CharaCter(Ie n=20) : Stri ngWrite(*,*) "En coded Stri ng:" read(*,*) Stri ng strle n = Ien

18、 _trim(stri ng)do i = 1, strle nStri ng(i:i) = char( ichar(stri ng(i:i) + key )end dowrite(*,"('Stri ng:',A20)") Stri ngstopendBCDIJK回车 则最后输出的结果为:DEFKLM6、阅读下列FORTRA程序:PrOgram example implicit nonein teger i,jdo i=1,2do j=2, 3, 2write(*, "(I2,I2)") i,jend doWrite(*,*) &quo

19、t;ano ther circle"end dostopend程序运行的结果是ano ther CirGIe2 2 ano ther GirGIe(按输出格式,1、2前均有一空格。若题目无特殊说明,不需表达出;若有说明,贝U 空格用“”表示)7、阅读下列FoRTRA程序:PrOgram exampleimplicit nonein teger : dest = 6in teger floordo floor=1, destif ( floor=2 .or. floor=4 ) cycleWrite(*,*) floorend dostopend程序运行的结果是:_J35 68阅读下列

20、FORTRAN7程序:PrOgram exampleimplicit nonein teger, Parameter : Iimit=10in teger CoUn terin teger : ans = 0CoUn ter = 1do while( CoUn ter <= limit )ans = ans + CoUn terCoUn ter = CoUn ter + 2end doWrite(*,*) ansstopend程序运行的结果是:J59、阅读下列FORTRA程序:PrOgram example implicit nonein teger, Parameter : StUde

21、 nts = 5in teger : StUde nt(stude nts) = (/ 80, 90, 85, 75, 95 /)in teger ido while( .true.)Write(*,*) "Query:"read(*,*) iif ( i<=0 .or. i>stude nts) exitWrite(*,*) StUde nt(i)end dostopend运行上述程序时,如果从键盘输入3<回车>则最后输出的结果为:.8510、阅读下列 FoRTRA程序:Program exampleimplicit nonein teger, P

22、arameter : L=2, M=3, N=2real : A(L,M) = (/ 1,2,3,4,5,6/)real : B(M,N) = (/ 1,2,3,4,5,6/)real : C(L,N)in teger : i,j,kdo i=1,Ldoj=1,NC(i,j)=do k=1,MC(i,j) = C(i,j)+A(i,k)*B(k,j)end doend doend dodo i=1,LWrite(*,*) C(i,:)end dostopend程序运行的结果是:22 4928 64 11、阅读下列 FORTRANl序:PrOgram exampleimplicit nonein

23、 teger : i,jloop1: do i=1,3loop2: do j=1,3if ( i=3 ) exit Iooplif ( j=2 ) cycle Ioop2write(*, "('(',i2,',',i2,')')" ) i, jend do Ioop2end do Ioop1stopend程序运行的结果是:(1,1)(1.3) (2,1)(2.3) 12、阅读下列 FoRTRA程序:Program example implicit nonereal : a=call ShoW In teger(a)call S

24、hOWReal(a)stopendSUbroUt ine Show In teger( num) implicit nonein teger : numWrite(*,*) numreturnendSUbrOUt ine ShOWReal( num) implicit nonereal : numWrite(*,*) numreturnend程序运行的结果是:随机数13、阅读下列 FORTRA程序:PrOgram exampleimplicit nonein teger, Parameter : row = 2in teger, Parameter : col = 2in teger : m(

25、roW, col)in teger rin teger Cdata (m(r,c), r=1,2), c=1,2) /1,2,3,4/ write(*,"(l3,l3,l3,l3)") ( m(r,c), c=1,2 ), r=1,2)StoPend程序运行的结果是:1 32 414、阅读下列 FoRTRA程序:PrOgram ex0805implicit nonein teger : a = 1in teger : b = 2Write(*,*) a,bcall add(a)call add(b)Write(*,*) a,bstopendSUbrOUti ne add(

26、num)implicit nonein teger : numnum = nu m+1returnend程序运行的结果是:122 315、阅读下列 FORTRA程序:PrOgram exampleimplicit nonein teger, Parameter : SiZe=10in teger : a(size) = (/ 5,3,6,4,8,7,1,9,2,10 /)in teger : i,jin teger : tdo i=1, SiZe-Ido j=i+1, SiZeif ( a(i) > a(j) ) the nt=a(i)a(i)=a(j)a(j)=tend ifend d

27、oend dowrite(*,"(1OI4)") aStoPend程序运行的结果是:1 2 3 4 5 6 7 8 9 1016、阅读下列 FoRTRA程序:Program exampleimplicit nonereal : a=1real : b=2real , external : addWrite(*,*) add(a,b)stopendfun Cti On add(a,b)implicit nonereal : a,breal : addadd = a+breturnend程序运行的结果是:(类似的题目,写亦可,但不可写3)17、阅读下列 FORTRA程序:PrO

28、gram exampleimplicit nonein teger : a,bcom mon a,ba=1b=2call ShowCom mon()Write(*,*) a, bendSUbrOUt ine ShowCom mon()implicit nonein teger : nu m1, num2com mon nu m1, num2Write(*,*) num1, num2returnend程序运行的结果是:1 21 2 18、阅读下列 FoRTRA程序:module globalimplicit nonereal a,bcom mon a,bend modulePrOgram exa

29、mpleUSe globalimplicit nonea=b=call sub()end PrOgramSUbrOUti ne sub()USe globalimplicit noneWrite(*,*) a,breturnend SUbrOUt ine程序运行的结果是:19、阅读下列FORTRA程序:INTEGER A(3,3)DO K=1,3DO L=1,3A(K, L)=K*10+LEND DOEND DOWRITE(*,'(1X,3I3)') AEND程序运行的结果是:11 21 3112 22 32 13 23 33 20、阅读下列FORTRA程序:INTEGER F

30、F(X,Y)=X+YA=B=B=+F(A,B)WRITE(*,20) B20 FoRMAT(1X,END程序运行的结果是21、阅读下列FORTRA程序:X=ODO L=10, 5, 15X=X+END DOEND程序运行时执行循环体的次数是:_0_22、阅读下列FORTRAN7程序:DlMENSION M(4,4)DATA M1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6DO I=1,4WRITE (*,100)(M(I,J),J=1,I)END DO100 FORMAT(1X,4I2)END程序运行的结果是:J2 6 3 7 14 8 2 623、阅读下列FORTRAI程序:CHARACTER(LEN=10) ACHARACTER(LEN=6) BDO I=1,10A(I:I)=''END DOA(1:5)='ABCDE'B='FGHIJK'A(4:9)=BWRITE(*,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论