ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:518.48KB ,
资源ID:9719938      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9719938.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FORTRAN程序设计复习题及答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、FORTRAN程序设计复习题及答案FORTRAN程序设计复习题及答案FORTRAN程序设计复习题一、选择题B (1)下列各FORTRAN表达式中合法的是A) S+T*2P = B) .NOT. (A*B+C) C) A2+B2/(C+D) = D)算术运算符 A (14下列语句函数的定义中正确的是A)F(X,Y)(XY)/(X*Y) B)FUNCTION FUN(I,J,K)3*I2*J*KC)H(A,B,C(I)SIN(A)SIN(B)C(I) D)S(A,B,C)A*BS(A*A,B,C) B(15下列标识符中,不属于FORTRAN常量的是A).TRUE. B)FALSE C)ROOT D

2、) B(16)整型变量M能被整型变量K整除的FORTRAN77表达式是A)MOD(M,K)0 (MOD(M,K)= =0) B)MM/K*K .EQ. 0C)MOD(K,M)0 D)MOD(M,K)0 = .TRUE. C(17)设有下列数组说明语句:REAL: A(1:10,1:10)该数组说明语句定义了数组A中的元素个数为A)100 B)110 C)120 D)121A (18)按隐含规则(默认为整型),语句IP=执行之后,IP的值是A) 3 B) 3.1416 C) D)D (19)下列数据中,不符合 FORTRAN常量表示法的是A) B) C)FOOT= D) TRUEC (20)设C

3、是复型变量,A与B为有定义的实型变量,下列赋值语句中合法的是A) C=A+B B) C=,*2)C) C=,3D-2) D) C=(AB,A-B)B (21)有矩阵(数组) 下列DATA语句中正确的是A) DATA B/4*,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) 可以从

4、循环体内转到循环体外,但不能从循环体外转到循环体内D) DO循环控制变量在循环体内可以再赋值,也可以被引用B (22)在FORTRAN表达式中,各种运算的顺序是A) 逻辑运算,关系运算,算术运算 B) 算术运算,关系运算,逻辑运算C) 关系运算,逻辑运算,算术运算 D) 关系运算,算术运算,逻辑运算D (23)赋值语句 X=4*(6/12)=4*0= 执行后,实型变量X的值是A) 2 B) 2.0 C) 1 D) D (24)为了保证正确出数据,格式编辑符中w与d的关系应该是A) wd B) wd+2 C) wd+4 D) wd+6C (25)设下列各语句中用到的数组都已定义,则下列语句中正确

5、的是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) 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 语句要有一个对应的E

6、ND IF语句D) 一个块 IF 结构中只能有一个END IF语句A (28)下列数组说明语句中正确的是A) INTEGER A(-1:5,0:6) B) REAL M(10:5)C) DOUBLE Y(1:N+1) D) DOUBLE Z(14)B (29)设有一个FORTRAN77子程序如下: 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 S

7、S,P,Q,R) (多了一个)C) CALL SS(F,G, D) CALL SS*I,*J,C,D)(I,J可先赋值)A (30)在下列语句函数的定义中正确的是A) F(X,Y)=(X+Y)/(X*Y)+ B) FUNCTION(I,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)COMMON语句的功能是A) 给同一程序模块中的若干变量分配同一存储单元B) 给不同程序模块中的变量分配相同的存储单元C) 给程序中任意两个变量分配相同的存储单元D) 给同一程序模块中的不同变量分配相同的

8、存储单元B (32)下列表达式中值为整数4的是A) SQRT B)27/6 C) 16* D) 4*C (34)语句K=2+*2/2执行后,整型变量 K的值是A) B) 5 C) 6 D) 7C (36)适用于字符型 I/O的 FORTRAN77格式编辑将是A) B) C) A D) 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)

9、D) CALL SUB(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) DATA A,B,C/2* C (39)对于下列给定的FORTRAN说明和赋初值语句: INTEGER A(2,2) DATA A/3,4,5,6/ 数组元数A(2,1)的初值为 A) 3 B) 5 C) 4 D) 6 C (40)下列对公用区的说明语句中错误的是 A) COMMON A(5), B B) COM

10、MON/AB/ A(5), B C) COMMON AB/A(5), B/ D) COMMONND. IF=X= =500 .or. windspeed =10 ) then write(*,*) 停止上班上课 else write(*,*) 照常上班上课 end ifstopend运行上述程序时,如果从键盘输入 Rain:505Wind: 8则最后输出的结果为: 停止上班上课 4、阅读下列FORTRAN程序:program exampleimplicit none real a,b,ans character operator read(*,*) a read(*,(A1) operator

11、 read(*,*) b select 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 stop end select write(*,A1,=,) a,operator,b,ans stopend运行上述程序时,如果从键盘输入 100200则最后输出的结果为: Unknown operator 5、阅读下列FORTRAN程序:program exampleimpl

12、icit none integer i integer strlen integer, parameter : key = 2 character(len=20) : string write(*,*) Encoded string: read(*,*) string strlen = len_trim(string) do i = 1, strlen string(i:i) = char( ichar(string(i:i) + key ) end do write(*,(String:,A20) string stopendBCDIJK则最后输出的结果为: DEFKLM 6、阅读下列FOR

13、TRAN程序: program exampleimplicit none integer i,j do i=1, 2 do j=2, 3, 2 write(*, (I2,I2) i,j end do write(*,*) another circle end do stopend程序运行的结果是: 1 2 another circle 2 2 another circle (按输出格式,1、2前均有一空格。若题目无特殊说明,不需表达出;若有说明,则空格用“”表示)7、阅读下列FORTRAN程序:program exampleimplicit none integer : dest = 6 in

14、teger floor do floor=1, dest if ( floor=2 .or. floor=4 ) cycle write(*,*) floor end do stopend程序运行的结果是: 1 3 5 6 8、阅读下列FORTRAN77程序:program exampleimplicit none integer, parameter : limit=10 integer counter integer : ans = 0 counter = 1 do while( counter = limit ) ans = ans + counter counter = counter

15、 + 2 end do write(*,*) ans stopend程序运行的结果是: 25 9、阅读下列FORTRAN程序:program exampleimplicit none integer, parameter : students = 5 integer : student(students) = (/ 80, 90, 85, 75, 95 /) integer i do while( .true. ) write(*,*) Query: read(*,*) i if ( istudents ) exit write(*,*) student(i) end do stopend运行

16、上述程序时,如果从键盘输入 3则最后输出的结果为: 85 10、阅读下列FORTRAN程序:program exampleimplicit none 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 do i=1,L do j=1,N C(i,j) = do k=1,M C(i,j) = C(i,j)+A(i,k)*B(k,j) end do end do end do do i=1,

17、L write(*,*) C(i,:) end do stopend程序运行的结果是: 22 49 28 64 11、阅读下列FORTRAN程序:program exampleimplicit none integer : i,j loop1: do i=1,3 loop2: do j=1,3 if ( i=3 ) exit loop1 if ( j=2 ) cycle loop2 write(*, (,i2,i2,) ) i, j end do loop2 end do loop1 stopend程序运行的结果是: (1,1) (1,3) (2,1) (2,3) 12、阅读下列FORTRAN

18、程序:program exampleimplicit none real : a= call ShowInteger(a) call ShowReal(a) stopendsubroutine ShowInteger(num)implicit none integer : num write(*,*) num returnendsubroutine ShowReal(num)implicit none real : num write(*,*) num returnend程序运行的结果是: 随机数 13、阅读下列FORTRAN程序:program exampleimplicit none in

19、teger, 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) stopend程序运行的结果是: 1 3 2 4 14、阅读下列FORTRAN程序:program ex0805implicit none integer : a = 1 integer : b = 2 write(*,*)

20、 a,b call add(a) call add(b) write(*,*) a,b stopendsubroutine add(num)implicit none integer : num num = num+1 return end程序运行的结果是: 1 2 2 3 15、阅读下列FORTRAN程序:program exampleimplicit none 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

21、 do j=i+1, size if ( a(i) a(j) ) then t=a(i) a(i)=a(j) a(j)=t end if end do end do write(*,(10I4) a stopend程序运行的结果是: 1 2 3 4 5 6 7 8 9 10 16、阅读下列FORTRAN程序:program exampleimplicit none real : a=1 real : b=2 real, external : add write(*,*) add(a,b) stopendfunction add(a,b)implicit none real : a,b real

22、 : add add = a+b returnend程序运行的结果是: (类似的题目,写亦可,但不可写3)17、阅读下列FORTRAN程序:program exampleimplicit none integer : a,b common a,b a=1 b=2 call ShowCommon() write(*,*) a, b endsubroutine ShowCommon()implicit none integer : num1, num2 common num1, num2 write(*,*) num1, num2 returnend程序运行的结果是: 1 2 1 2 18、阅读下

23、列FORTRAN程序:module global implicit none real a,b common a,bend moduleprogram example use global implicit none a= b= call sub()end programsubroutine sub() use global implicit none write(*,*) a,b returnend subroutine程序运行的结果是: 19、阅读下列FORTRAN程序: INTEGER A(3,3) DO K=1,3 DO L=1,3 A(K,L)=K*10+L END DO END DOWRITE(*,(1X,3I3) A END 程序运行的结果是: 11 21 31 12 22 32 13 23 33 20、阅读下列FORTRAN程序: INTEGER F F(X,Y)=X+Y A= B= B=+F(A,B) WRITE(*,20) B 20 FORMAT(1X, END 程序运行的结果是: 21、阅读下列FORTRAN程序: X=0 D

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

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