您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > Fortran复习题
FORTRAN程序设计复习题选择题B(1)下列各FORTRAN表达式中合法的是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.只跟一个表达式)C(2)数学式(3/5)ex+y的FORTRAN表达式是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)下列FORTRAN77表达式中不合法的是A)A.GT.B.EQV.C.GT.DB)A.AND.B.AND.C.AND.DC).NOT.(X.LE.0.0)D)A.LT.B.LT.C.LT.DD(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)5D)3A(7)下列FORTRAN77表达式中,合法的是:A)相当于0.0.LE.X.AND.(.NOT.(X.GE.10.0))A)0.0.LE.X.AND..NOT.X.GE.10.0B)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)关于编译一个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.5B)1C)1.0D)0D(12)FORTRAN表达式MOD(4.9,1.3)的值是A)1.3B)0.0C)4.9D)1.0A(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*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下列标识符中,不属于FORTRAN常量的是A).TRUE.B)FALSEC)ˊROOT=ˊD)ˊ123.0ˊB(16)整型变量M能被整型变量K整除的FORTRAN77表达式是A)MOD(M,K)=0(MOD(M,K)==0)B)M-M/K*K.EQ.0C)MOD(K,M)=0D)MOD(M,K)=0==.TRUE.C(17)设有下列数组说明语句:REAL::A(1:10,-1:10)该数组说明语句定义了数组A中的元素个数为A)100B)110C)120D)121A(18)按隐含规则(默认为整型),语句IP=3.1415926执行之后,IP的值是A)3B)3.1416C)3.141592D)3.141593D(19)下列数据中,不符合FORTRAN常量表示法的是A)-25.6B)2.758D3C)‘FOOT’‘=’D)TRUEC(20)设C是复型变量,A与B为有定义的实型变量,下列赋值语句中合法的是A)C=A+BB)C=(3.5,1.5**2)C)C=(2.0,3D-2)D)C=(A+B,A-B)B(21)有矩阵(数组)22221111B下列DATA语句中正确的是A)DATAB/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)2B)2.0C)1D)1.0D(24)为了保证正确出数据,格式编辑符Ew.d中w与d的关系应该是A)wdB)wd+2C)wd+4D)wd+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规则:I-N会被视为整型)A)DO10S=-1.6,-5.3,-0.4B)DO10K=-1.6,-5.3,-0.4C)DO10S=-5.3,-1.6,-0.4D)DO10K=1.6,5.3,-1.4D(27)下列说法中正确的是A)块IF结构中的THEN块或ELSE块不能是空块B)块IF结构中至少有一个ELSEIF语句或ELSE语句C)每个ELSEIF语句要有一个对应的ENDIF语句D)一个块IF结构中只能有一个ENDIF语句A(28)下列数组说明语句中正确的是A)INTEGERA(-1:5,0:6)B)REALM(10:5)C)DOUBLEY(1:N+1)D)DOUBLEZ(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)CALLSS(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.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)COMMON语句的功能是A)给同一程序模块中的若干变量分配同一存储单元B)给不同程序模块中的变量分配相同的存储单元C)给程序中任意两个变量分配相同的存储单元D)给同一程序模块中的不同变量分配相同的存储单元B(32)下列表达式中值为整数4的是A)SQRT(16.0)B)27/6C)16**0.5D)4*1.0C(34)语句K=2+3.0**2/2执行后,整型变量K的值是A)6.5B)5C)6D)7C(36)适用于字符型I/O的FORTRAN77格式编辑将是A)Fw.dB)Iw.dC)AD)Gw.dC(37)给定子例行程序如下SUBROUTINESUB(K,A)B=K+2(K为整型,B)错误;A不是整型,A)错误;K为传入,可为表达式,A=A+BA为传出,不能为表达式)END下列调用语句中正确的是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=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)3B)5C)4D)6C(40)下列对公用区的说明语句中错误的是A)COMMONA(5),BB)COMMON/AB/A(5),BC)COMMONAB/A(5),B/D)COMMON//A(5),BD(41)下列各逻辑IF语句中正确的是A)IF(X0.0)THEN10B)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、阅读下列FORTRAN程序:programexamplereala,b,ca=1.0b=2.0c=3.0write(*,(3(F5.2)))a,b,cend程序运行的结果是:1.002.003.002、阅读下列FORTRAN程序:programexampleinteger::a=1integer::b=2real::cc=a/bwrite(*,(F5.2))cend程序运行结果是:0.003、阅读下列FORTRAN程序:programexampleimplicitnoneintegerrain,windspeedwrite(*,*)Rain:read(*,*)rainwrite(*,*)Wind:read(*,*)windspeedIf(rain=500.or.windspeed=10)thenwrite(*,*)停止上班上课elsewrite(*,*)照常上班上课endifstopend运行上述程序时,如果从键盘输入Rain:505回车Wind:8回车则最后输出的结果为:停止上班上课4、阅读下列FORTRAN程序:programexampleimplicitnonereala,b,anscharacteroperatorread(*,*)aread(*,(A1))operatorread(*,*)bselectcase(operator)case('+')ans=a+bcase('-')ans=a-bcase('*')ans=a*bcase('/')ans=a/bcasedefaultwrite(*,('Unknownoperator',A1))operatorstopendselectwrite(*,(F6.2,A1,F6.2,'=',F6.2))a,operator,b,ansstopend运行上述程序时,如果从键盘输入100回车?回车200回车则最后输出的结果为:Unknownoperator?5、阅读下列FORTRAN程序:programexampleimplicitnoneintegeriintegerstrleninteger,parameter::key=2character(len=20)::stringwrite(*,*)Encodedstring:read(*,*)stringstrlen=len_trim(string)doi=1,strlenstring(i:i)=char(ichar(string(i:i))+key)enddowrite(*,('Stri
本文标题:Fortran复习题
链接地址:https://www.777doc.com/doc-5744497 .html