最新Fortran复习题讲解资料_第1页
最新Fortran复习题讲解资料_第2页
最新Fortran复习题讲解资料_第3页
最新Fortran复习题讲解资料_第4页
最新Fortran复习题讲解资料_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、精品文档FORTRA程序设计复习题选择题B (1)下列各FORTRA表达式中合法的是A) S+T*2P >= 0.0 B) .NOT. (A*B+C)C) A2+B2/(C+D) <= 0.0D) (A+B).NOTA*BGT0.0(.NOT. 只跟一个表达式 )C (2)数学式(3/5)ex+y 的FORTRA表达式是A) 3*EXP(X+Y)/5B) 3*E* *(X+Y)/5.0C) (3/5)*EXP(X+Y)D) (3.0/5.0)EXP(X+Y)D (3)下列FORTRAN7表达式中不合法的是A) A GTBEQVCGTDB) A ANDBANDCANDDC) .NOT

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

3、AN77表达式中,合法的是:A)相当于 0.0丄E.X .AND( .NOT.(X.GE.10.0 )A) 0.0.LE.X .AND.NOT.X.GE.10.0 B) 0.0.GE.X.LT.10.0C) 0.0.LE.X.GE.10.D) 10.0.LE.X.OR.AND.X.GT.0.0D (8)关于编译一个FORTRA源程序文件,下列说法中错误的是A) 允许编译只有一个主程序而没有子程序的源文件B) 允许编译有多个子程序的源文件C) 允许编译只有一个子程序而没有主程序的源文件D) 允许编译有多个主程序的源文件C (9)在FORTRAN7源程序中,续行标志符必须放在A) 第1列 B) 第

4、1-6 列 C) 第6列 D) 第5列D (10) 下列关于 "SUBROUTINE MAP(,X Y)" 语句行的叙述中,不正确的是A)这是子程序的第一个语句B)字符串"MAP"是子程序名C)变量X是子程序的形参 D)子程序执行后,MAP将返回整型数据(子程序无返回值,自定义函数才有)A (11)FORTRAN表达式"2/4+0.5" 的值是A) 0.5 B) 1 C) 1.0 D) 0D (12)FORTRAN表达式"MOD(4.9,1.3)"的值是A)1.3B)0.0C)4.9D)1.0A (13下列FORT

5、RA运算符中,优先级最低的是A)逻辑运算符.AND. B )算术运算符*C)关系运算符>= D)算术运算符+A (14 下列语句函数的定义中正确的是A) F(X , Y) = (X + Y)/(X*Y) + 7.0 B ) FUNCTION FUN(I, J, K) = 3*I + 2*J + 0.5*K精品文档C) H(A, B, C(l) = SIN(A) + SIN(B) + C(l) D)S(A , B, C) = A*B+ S(A*A, B, C)B (15下列标识符中,不属于FORTRAN量的是A) .TRUE. B ) FALSE C )' ROOT=XD )

6、9; 123.0 /B (16)"整型变量 M能被整型变量 K整除”的FORTRAN7表达式是A)MOD(MK) = 0(MOD(M K)= =0 )B )M- M/K*K .EQ. 0C)MOD(KM)= 0D)MOD(M K) = 0 = .TRUE.C (17)设有下列数组说明语句:REAL: A(1:10 , - 1:10)该数组说明语句定义了数组A中的元素个数为A) 100 B ) 110 C ) 120 D ) 121A (18)按隐含规则(默认为整型),语句IP=3.1415926执行之后,IP的值是A) 3B) 3.1416C) 3.141592D (19)下列数据中

7、,不符合 FORTRAN常量表示法的是D)3.141593A) -25.6 B) 2.758D3C (20)设C是复型变量,A) C=A+BC) C=(2.0,3D-2)B (21)有矩阵(数组)C) 'FOOT ' ='D) TRUEA与B为有定义的实型变量,下列赋值语句中合法的是B) C=(3.5,1.5*2)D) C=(A + B,A-B)B11112 2 2 2F列DATA语句中正确的是A) DATA B/4*1.0,4*2.0/ B) DATA(B(I,J), J=1,4), l=1,2)/4*1.0, 4*2.0/C) DATA B/4*(1.0,2.0)/

8、 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)在FORTRA表达式中,各种运算的顺序是A)逻辑运算,关系运算,算术运算C)关系运算,逻辑运算,算术运算D (23)B)D)算术运算,关系运算,逻辑运算 关系运算,算术运算,逻辑运算A) 2D (

9、24)A) w>d赋值语句X=4*(6/12)=4*0=1.0执行后,实型变量X的值是B) 2.0为了保证正确出数据,格式编辑符B) w>d+2C) 1Ew.d中w与d的关系应该是C) w>d+4D) 1.0D) w>d+6C (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规则:

10、I-N会被视为整型)A) DO 10 S=-1.6,-5.3,-0.4B) DO 10 K=-1.6,-5.3,-0.4C) DO 10 S=-5.3,-1.6,-0.4D) DO 10 K=1.6,5.3,-1.4D (27) 下列说法中正确的是A) 块IF结构中的THEN块或ELSE块不能是空块B) 块IF结构中至少有一个 ELSE IF 语句或 ELSE语句C) 每个 ELSE IF 语句要有一个对应的 END IF 语句D) 一个块IF结构中只能有一个 END IF语句A (28) 下列数组说明语句中正确的是A) INTEGER A(-1:5,0:6)B) REAL M(10:5)C)

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

12、 在下列语句函数的定义中正确的是A) F(X,Y)=(X+Y)/(X*Y)+7.0B) FUNCTION(I,J,K)=3*I+2*J+0.5*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)COMM OF语句的功能是A) 给同一程序模块中的若干变量分配同一存储单元B) 给不同程序模块中的变量分配相同的存储单元C) 给程序中任意两个变量分配相同的存储单元D) 给同一程序模块中的不同变量分配相同的存储单元B (32) 下列表达式中值为整数 4的是A) SQRT(16.0)B)27/6C) 16*0.5D) 4*1.

13、0C (34) 语句 K=2+3.0*2/2 执行后,整型变量K 的值是A) 6.5B) 5C) 6D) 7C (36) 适用于字符型I/O的FORTRAN7格式编辑将是A) Fw.dB) Iw.dC) AD) Gw.dC (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) 下列FOR

14、TRA语句中,正确的是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) DATA A,B,C/2*0.0/C (39) 对于下列给定的FORTRA说明和赋初值语句INTEGER A(22)DATA A/3, 4,5, 6/数组元数A(2,1) 的初值为A) 3 B) 5C) 4D) 6C (40) 下列对公用区的说明语句中错误的是A) COMMON A(5), B B) COMMON/AB/ A(5), BC) COMMON AB/A(5), B/

15、 D) COMMON/A(5), B D (41) 下列各逻辑 IF 语句中正确的是A) IF(X<0.0) THEN 10B) IF(X>=0.0).AND.(X.LT.1.0)Y=2*X+1.0C) IF(0.0>=X<=1.0) Y=2*X+1.0D) IF(X >= 0.0.AND.X <=1.0) Y=2*X+1.0 二、阅读题1阅读下列FORTRA程序:program examplereal a,b,ca=1.0b=2.0c=3.0 write(*,"(3(F5.2)") a,b,cend 程序运行的结果是 : 1.00 2.

16、00 3.002、阅读下列FORTRA程序: program exampleinteger : a=1integer : b=2real : cc=a/b write(*,"(F5.2)") c end 程序运行结果是 :0.003、阅读下列FORTRA程序:program example implicit none integer rain, windspeed write(*,*) "Rain:" read(*,*) rain write(*,*) "Wind:"read(*,*) windspeedIf ( rain>=5

17、00 .or. windspeed >=10 ) then write(*,*) " 停止上班上课 " elsewrite(*,*) " 照常上班上课 "end ifstopend 运行上述程序时,如果从键盘输入 Rain : 505<回车 >Wind:8<回车 >则最后输出的结果为 : 停止上班上课4、阅读下列FORTRA程序:program example implicit none real a,b,ans character operator read(*,*) a read(*,"(A1)")

18、operator read(*,*) bselect case(operator) case('+') ans = a+b case('-') ans = a-b case('*') ans = a*b case('/') ans = a/b case default write(*,"('Unknown operator ',A1)") operator stopend selectwrite(*,"(F6.2,A1,F6.2,'=',F6.2)") a,o

19、perator,b,ans stopend 运行上述程序时,如果从键盘输入 100<回车 > ?<回车 > 200<回车 >则最后输出的结果为 : Unknown operator ?5、阅读下列FORTRA程序:program exampleimplicit noneinteger iinteger strleninteger, parameter : key = 2 character(len=20) : string write(*,*) "Encoded string:" read(*,*) string strlen = len

20、_trim(string)do i = 1, strlenstring(i:i) = char( ichar(string(i:i) + key )end dowrite(*,"('String:',A20)") stringstopendBCDIJK<回车 >则最后输出的结果为 : DEFKLM6、阅读下列FORTRA程序:program example implicit noneinteger i,jdo i=1, 2do j=2, 3, 2 write(*, "(I2,I2)") i,jend dowrite(*,*)

21、"another circle"end dostopend 程序运行的结果是 : 1 2 another circle 2 2 another circle(按输出格式, 1、 2 前均有一空格。若题目无特殊说明,不需表达出;若有说明,则空格 用"”表示)7、阅读下列FORTRA程序:program example implicit noneinteger : dest = 6integer floordo floor=1, destif ( floor=2 .or. floor=4 ) cycle write(*,*) floor end do stop end

22、 程序运行的结果是 : 13 5 68、阅读下列F0RTRAN7程序:program exampleimplicit none integer, parameter : limit=10 integer counter integer : ans = 0 counter = 1 do while( counter <= limit ) ans = ans + counter counter = counter + 2 end do write(*,*) ans stop end 程序运行的结果是 : 259、阅读下列FORTRA程序: program exampleimplicit no

23、neinteger, parameter : students = 5integer : student(students) = (/ 80, 90, 85, 75, 95 /) integer i do while( .true. )write(*,*) "Query:" read(*,*) i if ( i<=0 .or. i>students ) exit write(*,*) student(i) end do stop end 运行上述程序时,如果从键盘输入 3<回车 > 则最后输出的结果为 : 8510、阅读下列FORTRA程序:prog

24、ram exampleimplicit noneinteger, 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,kdo i=1,Ldo j=1,NC(i,j) = 0.0do 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 6411、阅读下

25、列FORTRA程序:program example implicit noneinteger : i,jloop1: do i=1,3loop2: do j=1,3if ( i=3 ) exit loop1if ( j=2 ) cycle loop2write(*, "('(',i2,',',i2,')')" ) i, jend do loop2end do loop1stopend程序运行的结果是 :(1,1)(1,3)(2,1)(2,3)12、阅读下列FORTRA程序:program example implicit no

26、nereal : a=1.0call ShowInteger(a)call ShowReal(a)stopendsubroutine ShowInteger(num) implicit noneinteger : numwrite(*,*) numreturnend subroutine ShowReal(num)implicit nonereal : numwrite(*,*) numreturnend程序运行的结果是 : 随机数1.00000013、阅读下列FORTRA程序:program exampleimplicit noneinteger, parameter : row = 2in

27、teger, parameter : col = 2 integer : m(row, col) integer r integer cdata (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) stopend程序运行的结果是 :1 32 414、阅读下列FORTRA程序:program ex0805 implicit noneinteger : a = 1integer : b = 2write(*,*) a,b call add(a) call

28、add(b) write(*,*) a,b stop end subroutine add(num)implicit noneinteger : numnum = num+1 returnend程序运行的结果是 : 1 22 315、阅读下列FORTRA程序:program example implicit noneinteger, parameter : size=10 integer : a(size) = (/ 5,3,6,4,8,7,1,9,2,10 /) integer : i,jinteger : t do i=1, size-1do j=i+1, sizeif ( a(i) &g

29、t; a(j) ) then t=a(i)a(i)=a(j) a(j)=t end if end do end do write(*,"(10I4)") a stop end 程序运行的结果是 : 1 2 3 4 5 6 7 8 9 1016、阅读下列FORTRA程序:program example implicit nonereal : a=1 real : b=2 real, external : addwrite(*,*) add(a,b)stopendfunction add(a,b) implicit none real : a,b real : add add

30、= a+b returnend程序运行的结果是 : 3.000000 ( 类似的题目,写 3.0 亦可,但不可写 3)17、阅读下列FORTRA程序:program example implicit noneinteger : a,b common a,b a=1 b=2 call ShowCommon() write(*,*) a, b endsubroutine ShowCommon()implicit noneinteger : num1, num2common num1, num2write(*,*) num1, num2 returnend 程序运行的结果是 : 1 21 218、阅

31、读下列FORTRA程序:module globalimplicit nonereal a,b common a,bend moduleprogram example use global implicit none a=1.0b=2.0call sub() end programsubroutine sub() use global implicit none write(*,*) a,b return end subroutine 程序运行的结果是 : 1.000000 2.00000019、阅读下列FORTRA程序:INTEGER A(3,3) DO K=1,3DO L=1,3A(K,L)

32、=K*10+LEND DOEND DOWRITE(*,'(1X,3I3)') A END 程序运行的结果是 : 11 21 3112 22 3213 23 3320、阅读下列FORTRA程序:INTEGER FF(X,Y)=X+YA=-2.5B=4.0B=1.0+F(A,B)WRITE(*,20) B20 FORMAT(1X,F4.1)END 程序运行的结果是 : 2.021、阅读下列FORTRA程序:X=0DO L=10, 5, 15X=X+1.0END DOEND程序运行时执行循环体的次数是 : 022、阅读下列FORTRAN7程序:DIMENSION M(4,4)DATA

33、 M/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/DO I=1,4WRITE (*,100)(M(I,J),J=1,I)END DO100 FORMAT(1X,4I2)END程序运行的结果是 : 12 63 7 14 8 2 623、阅读下列FORTRA程序:CHARACTER(LEN=10) ACHARACTER(LEN=6) BDO I=1,10A(I:I)=' 'END DOA(1:5)='ABCDE'B='FGHIJK'A(4:9)=BWRITE(*,100) A100 FORMAT(1X,A)END程序运行结果是: ABCFGHIJK24、阅读下列FORTRA程序:

温馨提示

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

评论

0/150

提交评论