计算机程序设计语言(FORTRAN语言)(总分:36.00,做题时间:90分钟)一、(总题数:36,分数:36.00)1.编译程序能将高级语言编写的源程序转换成( )。
A.解释程序 B.汇编程序 C.映象程序 D.目标程序(分数:1.00)A.B.C.D. √解析:2.一个完整的FORTRAN源程序( )。
A.至少包括一个主程序B.至少包括一个主程序和一个子程序C.由一个主程序与一个以上的子程序组成D.由一个主程序与一个子程序组成(分数:1.00)A. √B.C.D.解析:3.语句函数定义语句在程序内合法的位置是( )。
A.在程序块开头语句之后,END语句之前B.在程序块开头语句之后,可执行语句之前C.在说明语句之后,END语句之前D.在说明语句之后,可执行语句之前(分数:1.00)A.B.C.D. √解析:4.下列关于函数子程序虚实参数的错误说法是( )。
A.可以没有形参数 B.虚实结合的数组长度可以不同C.实参表与虚参表类型可以不同 D.函数名可以作为虚参(分数:1.00)A.B.C. √D.解析:5.下列叙述中正确的是( )。
A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句(分数:1.00)A.B.C. √D.解析:6.运行下面的程序时得不到所需的结果,其主要原因是( )。
INTEGER X(11)DATA X/9,8,7,6,5,4,3,2,1,0,-1/DO 10 1=1,X(1) ,-1WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2)10 CONTINUEENDA.没有给X(11) 赋初值 B.发生除以零的情况C.发生负数开平方的情况 D.循环参数设置错误(分数:1.00)A.B.C.D. √解析:7.下列数据中,不符合FORTRAN常量表示法的是( )。
A.-25.6 B.2.758D3C.'FOOT"=' D.TRUE(分数:1.00)A.B.C.D. √解析:8.有一段说明语句如下:DIMENSION A(5) ,B(5)EQUIVALENCE(A(3) ,B(4) )说明语句EQUIVALENCE(A(3) ,B(4) )在程序中的作用是( ) A.用于在数组A和B之间传递数据B.说明数组A和B是同一个数组C.说明数组A和B共用相同的存储单元D.说明数组A和B的部分元素共用相同的存储单元(分数:1.00)A.B. √C.D.解析:9.在数据块子程序中( )。
A.只能给无名公用区中的成员赋初值B.只能给有名公用区中的成员赋初值C.不分有名或无名,凡是公用区成员皆可赋初值D.只能给公用区中的数组赋初值(分数:1.00)A.B.C.D. √解析:10.下列语句函数的定义中,正确的是( )。
A.FUNCTION(I,J,K)=I*J+J*J+K*KB.F(X,Y,Q(I))=SIN(X)+COS(Y)+Q(I)C.S(X,Y,Z)=(X+Y+Z)* * 2+S(X*X,Y,Z)D.F(X,Y)=(X+Y)/X/Y+P(分数:1.00)A.B. √C.D.解析:11.对任意输入的X,下列程序执行后K的值为( )。
READ(*,*) XK=SIN(X)WRITE(*,*) KENDA.在区间[-1,1]中的一个值 B.一定等于0C.在区间(-1,1) 中的一个值 D.K=0或K=1或K=-1(分数:1.00)A. √B.C.D.解析:12.设有格式输入语句如下:READ(*,*,10) X10 FORMAT(1X,F5.2)能使变量X的值为2.63的键盘输入为( )。
A.22.6300 B.002630 C.2.6300 D.263000(分数:1.00)A. √B.C.D.解析:13.当输入1,2,3,4下列程序执行后的输出结果为( )。
DIMENSION A(2,2)READ(*,*) ASUM=0DO 10 I=1,2DO 20 J=1,210 A(I,J)=A(I,J)+I+JWRITE(*,*) A(1,2)ENDA.6 B.5 C.7 D.4(分数:1.00)A.B. √C.D.解析:14.阅读下列FORTRAN程序:DO I=1,5SUM=SUM+IENDDOWRITE(*,*) SUMEND上述程序运行后,输出结果是( )。
A.15 B.15.0 C.不确定 D.0(分数:1.00)A.B.C.D. √解析:15.阅读下列FORTRAN程序:S(X)=2*X*X-Y+1.0DATA A,B,Y/3*2.0/P=S(A)*S(B-A)4-S(Y)-S(B)WRITE(*,*) PEND上述程序运行后,输出的P值为( )。
A.9.0 B.-9.0 C.7.0 D.-7.0(分数:1.00)A. √B.C.D.解析:16.下列程序执行后的输出结果为( )。
CHARACTER *6 SS='ABCDEFCALL SS(S)ENDSUBROUTINE SS(S1)CHARACTER S1*3WRITE(*,*) S1ENDA.ABC B.BC C.CDE D.DEF(分数:1.00)A.B.C. √D.解析:17.下列程序的执行结果K是( )。
K=0DO 10 I=1,2DO 10 J=I,210 K=K+I/JWRITE(*,*)KENDA.0 B.2 C.2.5 D.1(分数:1.00)A.B.C. √D.解析:18.下列关于子例行子程序虚实参数的正确说法是( )。
A.应至少有一个形参数 B.数组元素可以作为实参C.数组元素可以作为虚参 D.常数可以作为虚参(分数:1.00)A.B. √C.D.解析:19.当输入150时,下列程序执行后的输出结果为( )。
READ(*,*) XY=0.0IF(X.GT.O.0) THENY=1.0ELSE IF(X.GE.150) THENY=2.0ELSEY=3.0END IFWRITE(*,*) YENDA.0.0 B.1.0 C.2.0 D.3.0(分数:1.00)A.B. √C.D.解析:20.当输入1,2,3,4,5,6下列程序执行后的输出结果为DIMENSION A(2,3)READ(*,*) ACALL SS1(A)ENDSUBROUTINE SS1(B)DIMENSION B(3,2)WRITE(*,*) B(3,1)ENDA.2 B.3 C.4 D.5(分数:1.00)A.B.C.D. √解析:21.下列程序执行后的输出结果为( )。
F1(X)=2.0/(1.0+X)F2(Y)=F1(Y)*Y+1.0A=F1(1.0)+F2(1.0)WRITE(*,10) A10 FORMAT(IX,E8.2)ENDA.3.00 B.3.0 C.3.00E+00 D.0.30E+01(分数:1.00)A. √B.C.D.解析:22.阅读下列FORTRAN程序:S=1.0DO 100 K=3,1,-1DO 100 N=-1,-3100 S=2*SWRITE(*,*) SEND运行上述程序后,输出的S值为( )。
A.1.0 B.8.0 C.512.0 D.4.0(分数:1.00)A.B.C. √D.解析:23.阅读下列FORTRAN程序:INTEGER A(4,5)DATA A/5*1,5*2,5*3,5*4/M=0DO 10 K=1,410 M=M+A(K,K+1)WRITE(*,*) MEND执行上述程序后,输出的M值为( )。
A.8 B.9 C.10 D.11(分数:1.00)A.B.C. √D.解析:24.阅读下列FORTRAN程序:INTEGER M(3,3)DATA M/1,2,3,4,5,6,7,8,9/DO 10 1=1,3WRITE(*,100) (M(I,J),J=1,I)10 CONTINUE10 FORMAT (1X,312)END上述程序执行后,输出结果是( )。
A.1 4 72 5 83 6 9B.1 2 34 5 67 8 9C.12 53 6 9D.14 57 8 9(分数:1.00)A. √B.C.D.解析:25.定义一个长度为10的一维整型数组M,并且要求分别给数组元素赋值为M (K)=K+1,但M(10)=1。
下列各程序段中错误的是( )。
A.DIMENSION M(10)M(10)=1DO 10 K=1,1010 M(K)=K+1B.DIMENSION M(10)M(10)=1DO 10 K=1,9C.DIMENSION M(10)M(10)=1DO 10 K=2,1010 M(K-1) =K D.DIMENSION M(10)DO 10 K=1,1010 M(K)=K+1M(10)=1(分数:1.00)A.B.C. √D.解析:26.阅读下列FORTRAN程序:M=3DO K=1,MM=5WRITE(*,*) K,M ENDDOEND上述程序的运行结果是( )。
A.1 52 53 54 55 5B.1 52 53 5C.编译出错,不能运行D.1 32 33 3(分数:1.00)A.B.C. √D.解析:27.阅读下列FORTRAN程序:LOGICAL P,QREAD(*,100)P,Q100 FORMAT(2L4)Y=1.0ELSE IF(Q) THENY=2.0ELSE IF(.NOT.P.OR.Q)THENY=3.0ELSEY=0.0VENDIFWRITE(*,*) YEND在执行上述程序时,由键盘输入FABDTXYZ,最后输出的Y值为( )。
A.0.0 B.1.0 C.2.0 D.3.0(分数:1.00)A.B. √C.D.解析:28.阅读下列FORTRAN程序:PARAMETER(L=3)INTEGER N(L)DATA N/3*0/DO 20 I=1,LDO 20 J=1,LN(J)=N(1) +120 CONTINUEWRITE(*,*) N(L)END上述程序运行后,输出结果是( )。
A.3 B.5 C.7 D.9(分数:1.00)A.B.C.D. √解析:29.阅读下列FORTRAN程序:X=1.0Y=2.0CALL SUB(X,Y,Z,3.0)WRITE(*,100) X,Y,Z100 FORMAT(1X,13.1)ENDSUBROUTINE SUB(A,B,X,Z)A=A+1B=B+2Y=1.0X=Y+ZEND执行上述程序后,输出的结果为( )。
A.2.05.04.0B.4.01.02.0C.4.02.04.0D.2.04.04.0(分数:1.00)A.B.C. √D.解析:30.下列程序执行后的输出结果为( )。