03年计算机等级考试二级FORTRAN试卷及答案
2005-02-22 10:21:00 中国教育在线
一、选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)用8位无符号二进制数能表示的最大十进制数为
A)127 B)128 C)255 D)256
(2)在64位高档微机中,一个字长所占的二进制位数为
A)8 B)16 C)32 D)64
(3)在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住
A)Alt键 B)Esc键 C)Shift键 D)Ctrl键
(4)在Windows菜单中,暗淡(灰色)的命令项表示该命令
A)暂时不能用 B)正在执行 C)包含下一层菜单 D)包含对话框
(5)在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为
A)TYPE B)TYPE /H C)TYPE /* D)TYPE /?
(6)下列选项中,能作为合法DOS文件名的是
A)ANP/A.DAT B)ABCCOM C)ECD.BASIC D)XY+Z.TXT
(7)下列叙述中正确的是
A)在Windows环境下,最大化的窗口是不能移动的
B)在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行
C)在Windows环境下,只有最小化的窗口才能关闭
D)在Windows环境下,不能关闭最大化的窗口
(8)在Windows环境下,工具栏中的复制按钮是
A) B) C) D)
(9)在Windows环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按
A)Ctrl+PrintScreen键 B)Alt+PrintScreen键
C)Shift+PrintScreen键 D)PrintScreen键
(10)目前,计算机病毒扩散最快的途径是
A)通过软件复制 B)通过网络传播
C)通过磁盘拷贝 D)运行游戏软件
(11)FORTRAN77表达式"MOD(4.9,1.3)"的值是
A)1.3 B)0.0 C)4.9 D)1.0
(12)下列FORTRAN77运算符中,优先级最低的是
A)逻辑运算符.AND. B)算术运算符*
C)关系运算符.GE. D)算术运算符+ (13)下列语句函数的定义中正确的是
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(I))=SIN(A)+SIN(B)+C(I)
D)S(A,B,C)=A*B+S(A*A,B,C)
(14)下列标识符中,不属于FORTRAN77常量的是
A).TRUE. B)FALSE C)ˊROOT=ˊ D)ˊ123.0ˊ
(15)"整型变量M能被整型变量K整除"的FORTRAN77表达式是
A)MOD(M,K)=0 B)M-M/K*K .EQ. 0
C)MOD(K,M)=0 D)MOD(M,K)=0 .EQ. .TRUE.
(16)下列叙述中错误的是
A)PROGRAM语句可以是FORTRAN77主程序的第一个语句
B)每一个FORTRAN77程序块的最后一个语句必须是END语句
C)FORTRAN77的所有语句都是可执行语句
D)FORTRAN77的任何可执行语句都可以有标号
(17)下列FORTRAN77表达式中,值为.FALSE.的是
A).NOT.(.FALSE. .AND. .NOT. .TRUE.)
B).NOT. .FALSE. .OR. .NOT. .TRUE.
C).NOT. .TRUE. .AND. .NOT. .FALSE.
D)X .GT. Y .OR. X .LE. Y
(18) 的FORTRAN77表达式正确的是
A)0.5*SIN(1/2)**2 B)SIN(0.5)**2/2
C)0.5(SIN(1/2))**2 D)(SIN**2)(1/2)/2
(19)设X为实型变量,合法的FORTRAN77表达式是
A)0.0 .LE. X .AND. .NOT. X .GE. 10.0
B)0.0 .GE. X .LT. 10.0
C)0.0 .LE. X .GE. 10.0
D)10.0 .LE. X .OR. .AND. X .GT. 0.0
(20)设有下列数组说明语句:
DIMENSION A(1:10,-1:10)
该数组说明语句定义了数组A中的元素个数为
A)100 B)110 C)120 D)121
(21)阅读下列FORTRAN77程序:
READ(*,*) N
X=1.0
IF (N.GE.0) X=2*X-2.0
IF (N.GE.5) X=2*X
IF (N.GT.15) X=3*X-1.0
WRITE(*,*) X
END
运行上述程序时,如果从键盘输入
15<回车>
则最后输出的X值为
A)5.0 B)2.0 C)-1.0 D)0.0
(22)阅读下列FORTRAN77程序:
DO 20 M=2,5,2
P=1.0
DO 10 K=M,5
10 P=P+K
20 CONTINUE
WRITE(*,*) P
END
运行上述程序后,输出的P值为
A)11.0 B)10.0 C)9.0 D)24.0
(23)阅读下列FORTRAN77程序:
READ(*,100) M,N
K=M+N
WRITE(*,100) K
100 FORMAT(1X,2I3)
END
运行上述程序时,如果从键盘输入
123456789<回车>
则最后输出的结果为
A)801 B)579 C)79 D)01
(24)阅读下列FORTRAN77程序:
READ(*,100) K
WRITE(*,100) K
100 FORMAT(I4)
END
运行上述程序时,如果从键盘输入
6271234<回车>
则最后输出的结果为
A)6271 B)271 C)627 D)****
(25)阅读下列FORTRAN77程序:
DIMENSION M(3,4)
DATA M/4*2,4*1,4*-1/
N=0
DO 10 K=1,3
10 N=N+M(K,K)
WRITE(*,*) N
END
运行上述程序后,输出的N值为
A)8 B)5 C)4 D)2
(26)阅读下列FORTRAN77程序:
DATA A,B,C/2*-1.0,1.0/
P=300*C-0.1*A-0.01*B
WRITE(*,100) P
100 FORMAT(F7.3)
END
上述程序执行后,输出的结果是
A)300.110 B)300.11 C)00.110 D)*******
(27)下列FORTRAN77语句中,错误的是
A)READ(*,*) (A(K),K=1,10)
B)READ(*,*) (N,A(K),K=1,N)
C)WRITE(*,*) (A(K),K=1,10)
D)WRITE(*,*) (N,A(K),K=1,N)
(28)阅读下列FORTRAN77程序:
DO 10 M=1,5,2
DO 10 N=2,6,3
10 K=M+N
WRITE(*,*) K
END
上述程序执行后,输出的结果是
A)10 B)11 C)12 D)39
(29)阅读下列FORTRAN77程序:
READ(*,100) X,Y,Z,S
WRITE(*,*) S
100 FORMAT(F2.1,3(1X,F3.1))
END
运行上述程序时,如果从键盘输入
9876543210987654321<回车>
则最后输出的S值为
A)9.8 B)98.7 C)8.7 D)87.6
(30)阅读下列FORTRAN77程序:
READ(*,*)A
B=0.0
IF (A.GE.1.0) THEN
B=B+2.0
END IF
IF (A.GE.2.0) B=B-1.0
WRITE(*,*) B
END
在执行时,从键盘输入
5.0<回车>
则输出的B值为
A)2.0 B)-1.0 C)0.0 D)1.0
(31)阅读下列FORTRAN77程序:
INTEGER X,Y,Z
READ(*,100) Z,Y,X
100 FORMAT(3I4)
WRITE(*,200) X
200 FORMAT(1X,I4)
END
运行上述程序时,如果从键盘输入(□表示空格)
□12□□34□5□6□□749845<回车>
则最后输出的X值为
A)9845 B)5060 C)560 D)56
(32)设分段函数如下:
实现上述函数功能的FORTRAN77程序段为
(33)阅读下列FORTRAN77程序:
READ(*,*) P,Q
X=MOD(Q,P)
10 IF (ABS(X).GT.0.1) THEN
Q=P
P=X
X=MOD(Q,P)
GOTO 10
END IF
WRITE(*,*) P
END
运行上述程序时,如果从键盘输入
5.7,2.4<回车>
则最后输出的P值为
A)2.4 B)0.9 C)0.6 D)0.3
(34)阅读下列FORTRAN77程序:
P=0.0
DO 20 N=2,6,2
P=P+1/N
20 CONTINUE
WRITE(*,*) P
END
运行上述程序后,输出的P值为
A)0.0 B)0.5 C)0.75 D)0.91
(35)阅读下列FORTRAN77程序:
SUBROUTINE ABC(X,Y,Z)
Y=Y-1.0
Z=Z+X
END
Y=2.5
CALL ABC(6.5,Y,Y)
WRITE(*,*) Y
END
运行上述程序后,输出的Y值为
A)1.5 B)8.0 C)9.0 D)10.5
(36)设有整型矩阵
B=
为给矩阵B赋初值,下列DATA语句中正确的是
A)DATA B/4*(3,4)/
B)DATA B/4*3,4*4/
C)DATA ((B(I,J),J=1,4),I=1,2)/4*3,4*4/
D)DATA ((B(I,J),I=1,2),J=1,4)/4*3,4*4/
(37)阅读下列FORTRAN77程序:
INTEGER S(2)
DATA S/2*0/
DO 100 K=1,2
DO 100 J=1,2
S(J)=S(K)+1
100 CONTINUE
WRITE(*,200) S(2)
200 FORMAT(1X,I1)
END
运行上述程序后,输出的结果为
A)0 B)3 C)2 D)4
(38)阅读下列FORTRAN77程序:
DIMENSION N(3,2)
READ(*,100) N
100 FORMAT(2I3)
WRITE(*,*) N
END
运行后要使N(1,2)的值为2, 正确的键盘输入为(其中□为空格)
(39)阅读下列FORTRAN77程序:
K=1
J=2
CALL SUBS(K,J,L,3)
WRITE(*,50) K,J,L
50 FORMAT(1X,3I1)
END
SUBROUTINE SUBS(M,N,K,L)
N=N+2
M=M+1
J=1
K=J+L
END
运行上述程序后,输出的结果为
A)254 B)412 C)244 D)424
(40)设有FORTRAN77函数子程序如下:
FUNCTION IP(N,A)
IP=0
IF (A.LT.1.0) IP=N
END
如果程序中的变量类型都按隐含规则定义,则下列调用中正确的是
A)M=IP(1.0,IP(1,1.0)) B)M=IP(IP(1,1.0),1.0)
C)M=IP(A,A) D)M=IP(1.0,1.0)
(41)阅读下列FORTRAN77程序:
READ(*,*) M
N=1
K=N
10 IF (K.LT.M) THEN
N=N*K
K=K+1
GOTO 10
END IF
WRITE(*,*) N
END
在执行上述程序时,如果从键盘输入
6<回车>
则执行后输出的N值为
A)720 B)120 C)96 D)24
(42)阅读下列FORTRAN77程序:
FUNCTION Q(K)
Q=0.0
DO 10 N=1,K
10 Q=Q+N
END
REAL Q,B(3)
DO 10 K=1,3
10 B(K)=Q(2*K)/Q(K)
WRITE(*,100) B(2)
100 FORMAT(1X,F3.1)
END
运行上述程序后,输出的B(2)值为
A)1.0 B)3.0 C)3.3 D)10.0
(43)阅读下列FORTRAN77程序:
SUBROUTINE S(P,N,Q)
DIMENSION P(N)
Q=0.0
DO 100 K=1,N
100 Q=Q+P(K)
END
DIMENSION Q(3,3)
DO 10 M=1,3
DO 10 N=1,3
10 Q(M,N)=(M-1)*3+N
CALL S(Q(2,1),3,P)
WRITE(*,*) P
END
运行上述程序后,输出的P值为
A)12.0 B)15.0 C)16.0 D)13.0
(44)阅读下列FORTRAN77程序:
COMMON A,B,C,D
A=1.0
B=2.0
C=3.0
D=4.0
CALL ABCD(2)
WRITE(* , *) A,C
END
SUBROUTINE ABCD(N)
COMMON B,C,D,A
IF (N.GT.0) THEN
B=A
C=D
END IF
END
执行上述程序后, 输出的A与C的值分别为
A)1.0与3.0 B)1.0与4.0 C)4.0与3.0 D)4.0与2.0
(45)阅读下列FORTRAN77程序:
EXTERNAL PP
INTEGER P,PP,Q(4,4)
DATA Q/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16/
WRITE(*,*) P(Q,4,PP)
END
INTEGER FUNCTION PP(B,N)
INTEGER B(N,N)
PP=0
DO 10 K=1,N
10 PP=PP+B(K,K)
END
INTEGER FUNCTION P(B,N,S)
INTEGER S,B(N,N)
P=0
DO 10 K=1,N
10 P=P+S(B,K)
END
运行上述程序后,输出的结果为
A)55 B)56 C)57 D)58
(46)阅读下列FORTRAN77程序:
DIMENSION A(5)
COMMON /P/X
DATA A/1,2,3,4,5/
X=0
Y=FUN(A,5)+FUN(A,5)
WRITE(*,*) Y
END
FUNCTION FUN(B,N)
DIMENSION B(N)
COMMON /P/X
X=X+1
FUN=0
DO 10 K=1,N
10 FUN=FUN+B(K)
FUN=FUN+X
END
执行该程序后,输出的结果是
A)4.0 B)5.0 C)16.0 D)33.0
(47)阅读下列FORTRAN77程序:
LOGICAL P
READ(*,*) A,B
P=.TRUE.
IF (A+B.LT.A) P=.FALSE.
C=B
IF (P) THEN
C=A+C
ELSE
C=A
END IF
WRITE(*,*) C
END
在执行上述程序时,如果从键盘输入
3.6,-1.2<回车>
则执行后输出的C值为
A)-1.2 B)0.0 C)2.4 D)3.6
(48)要计算下列分段函数值:
下列程序段中正确的是
A)
IF (X.LT.2.0) THEN
Y=0.0
ELSE IF (X.GE.0.0) THEN
Y=1.0
ELSE IF (X.GE.1.0) THEN
Y=2.0
ELSE
Y=3.0
END IF
B)
IF (X.GE.2.0) THEN
Y=3.0
ELSE IF (X.GE.1.0) THEN
Y=2.0
ELSE IF (X.GE.0.0) THEN
Y=1.0
ELSE
Y=0.0
END IF
C)
IF (X.LT.0.0) Y=0.0
IF (X.LT.1.0) Y=1.0
IF (X.LT.2.0) Y=2.0
IF (X.GE.2.0) Y=3.0
D)
IF (X.GE.2.0) Y=3.0
IF (X.GE.1.0) Y=2.0
IF (X.GE.0.0) Y=1.0
IF (X.LT.0.0) Y=0.0
(49)阅读下列FORTRAN77程序:
INTEGER B(4,4),P
N=4
CALL SUB(B,N)
WRITE(*,*) P(B,N)
END
SUBROUTINE SUB(Q,N)
INTEGER Q(8,2)
DO 10 N=1,2
DO 10 M=1,8
10 Q(M,N)=8*(N-1)+M
END
INTEGER FUNCTION P(B,N)
INTEGER B(N,N)
P=0
DO 100 K=1,N
100 P=P+B(K,K)
END
运行上述程序后,输出的结果为
A)15 B)16 C)17 D)18
(50)阅读下列FORTRAN77程序:
COMMON C
A=1.0
B=2.0
C=3.0
CALL TEST1(4.0,A,B)
WRITE(*,*) A,B,C
END
SUBROUTINE TEST1(A,B,C)
COMMON X
X=0.0
IF (A.GT.B) C=A
IF (A.LE.B) B=A
X=C-B
END
执行上述程序后,输出的A,B,C值分别为
A)1.0 2.0 1.0 B)4.0 4.0 4.0
C)1.0 4.0 3.0 D)2.0 4.0 4.0
二、填空题(每空2分,共40分)
请将答案分别写在答题卡中序号为【1】至【20】的横线上,答在试卷上不得分。
(1)用十六进制给存储器中的字节地址进行编号,若地址编号从0000到FFFF,则该存储器的容量为 【1】 KB。
(2)假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用COPY命令,则完整的命令为 【2】 。
(3)E-mail地址由用户名和域名两部分组成,这两部分的分隔符为 【3】 。
(4)假设在当前盘当前目录下有一个可执行程序USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件OUT.DAT中,则完整的DOS命令为 【4】 。
(5)在DOS环境下,表示打印机的设备文件名为 【5】 。
(6)下列FORTRAN77程序的功能是:将一个给定一维数组元素按次序颠倒,即第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换,依次类推。请在程序中的下划线处填入合适的内容。
PARAMETER(N=100)
DIMENSION P(N)
DATA P/数据表(略)/
M= 【6】
DO 10 K=1,M
D= 【7】
【8】
P(N-K+1)=D
10 CONTINUE
END
(7)下列FORTRAN77程序的功能是: 对输入的N(£100)个实数, 求其平均值并输出。请在程序中的下划线处填入合适的内容。
DIMENSION A(100)
READ(*,*) 【9】
DO 10 I=1,N
READ(*,*) A(I)
10 CONTINUE
【10】
DO 20 J=1,N
20 S=S+A(J)
【11】
WRITE(*,*) S
END
(8)下列FORTRAN77程序的功能是,从键盘输入5组正实数,每组有10个正实数,并输出各组中元素自然对数之和的最大值与最小值。请在程序中的下划线处填入合适的内容。
AMAX=0.0
AMIN=0.0
DO 200 K=1,5
【12】
DO 100 J=1,10
READ(*,*) X
SUM=SUM+ 【13】
100 CONTINUE
IF (SUM.GT.AMAX) 【14】
IF ((K.EQ.1).OR.(SUM.LT.AMIN)) AMIN=SUM
200 CONTINUE
WRITE(*,*) ′AMAX=′,AMAX,′AMIN=′,AMIN
END
(9)下列FORTRAN77程序的功能是计算并输出
SUM=
请在程序中的下划线处填入合适的内容。
【15】
DO 100 K=1,5
【16】
DO 10 M=1,K+2
FAC=FAC*M
10 CONTINUE
SUM=SUM+ 【17】
100 CONTINUE
WRITE(*,*) SUM
END
(10)下列FORTRAN77函数子程序的功能是: 首先计算实型数组A中所有元素的平均值;然后计算并返回每一个元素与平均值之差的平方和。
请在程序中的下划线处填入合适的内容。
FUNCTION FUN(A,N)
DIMENSION A(N)
【18】
DO 10 K=1,N
AVE=AVE+A(K)
10 CONTINUE
【19】
FUN=0.0
DO 20 K=1,N
D=A(K)-AVE
【20】
20 CONTINUE
END
答案:
一、 选择题
(1) C (2) D (3) D (4) A (5) D
(6) B (7) A (8) C (9) D (10) B
(11) D (12) A (13) A (14) B (15) B
(16) C (17) C (18) B (19) A (20) C
(21) D (22) B (23) A (24) B (25) D
(26) C (27) B (28) A (29) D (30) D
(31) B (32) B (33) D (34) A (35) B
(36) C (37) B (38) D (39) C (40) B
(41) B (42) C (43) D (44) C (45) A
(46) D (47) D (48) B (49) A (50) C
二、填空题
(1) 【1】 64
(2) 【2】 COPY A.TXT+B.TXT A.TXT 或 COPY A.TXT+B.TXT
(3) 【3】 @
(4) 【4】 USER >OUT.DAT 或 USER >>OUT.DAT
或 USER.EXE >OUT.DAT 或 USER.EXE >>OUT.DAT
(5) 【5】 PRN 或 LPT1 或 LPT1: 或 LPT2 或 LPT2:
(6) 【6】 50 或 N/2 或 0.5*N 或 N*0.5
【7】 P(K)
【8】 P(K)=P(N-K+1) 或 P(K)=P(N+1-K)
或 P(K)=P(1+N-K) 或 P(1-K+N)
(7) 【9】 N
【10】 S=0.0 或 S=0或S=.0或S=0.
【11】 S=S/N 或 S=(1.0/N)*S 或 S=S*(1.0/N)
或S=1.0/N*S 或 S=1./N*S
或 S=(1./N)*S 或 S=S*(1./N)
(8) 【12】 SUM=0.0 或 SUM=0 或 SUM=0. 或 SUM=.0
【13】 LOG(X) 或 ALOG(X)
【14】 AMAX=SUM
(9) 【15】 SUM=0.0 或 SUM=0 或 SUM=0. 或 SUM=.0
【16】 FAC=1 或 FAC=1.0 或 FAC=1.
【17】 1/FAC 或 1.0/FAC 或 1./FAC
或 (1/FAC) 或 (1.0/FAC) 或 (1./FAC)
(10) 【18】 AVE=0.0 或 AVE=0 或 AVE=0. 或 AVE=.0
【19】 AVE=AVE/N 或 AVE=(1.0/N)*AVE 或 AVE=AVE*(1.0/N)
或AVE=1.0/N*AVE 或 AVE=1./N*AVE
或 AVE=(1./N)*AVE 或 AVE=AVE*(1./N)
【20】 FUN=FUN+D*D 或 FUN=D*D+FUN
FUN=FUN+D**2 或 FUN=D**2+FUN
FUN=FUN+D**2.0 或 FUN=D**2.0+FUN
FUN=FUN+D**2. 或 FUN=D**2.+FUN
百灵编辑:汪波