大学FORTRAN考试试题3
发布时间:2024-10-23
发布时间:2024-10-23
《高级语言程序设计(FORTRAN)》 考试样题
一、选择题(每小题2分,共40分)
1. 下列标识符中不能作为FORTRAN的合法变量名的是_____D_____。
A) A_1 B) A1 C) A1A D) A+1
2. 在FORTRAN的变量类型说明语句中没有 B
A) REAL语句 B)CHAR语句 C)INTEGER语句 D)LOGICAL语句
3.FORTRAN90 源程序的扩展名是 C 。
A. TXT B. F C. F90 D. FOR
4.下列关于符号常量的说法正确的是___C____。
A.符号常量的定义应该放在所有语句之前
B.符号常量不可以是字符型常量
C.在一个程序单位中定义一个符号常量后,不能再改变它的值
D.符号常量定义语句与赋值语句一样,是可执行语句
5、在下列写法中,__D______不是FORTRAN常量。
A. .TRUE. B.1E-2 C. (0.0,2.4) D.1,000,000
6.表达式15/4/2.0的值是 B 。
A.整数2 B.实数1.5 C.实数2.25 D.实数1. 3
7. 下列不是FORTRAN赋值语句的是 _____D______。
A) X=.TRUE. B) X=X*X C) X=X**2**2 D) X=X++
8. 梯形的上底为A,下底为B,高为H,计算其面积的FORTRAN表达式中错误的是____A____。
A)1/2*(AB)*H B)(A+B)*H/2 C)(A+B)/2*H D)0.5*(A+B)*H
9. 要选拔身高T>1.7米且体重W<62.5公斤的人,FORTRAN的逻辑表达式是__C_____。
A)T.ce.1.7.AND.w.le.62.5 B)T.le.1.7.OR.w.ge.62.5
C)T.gt.1.7. AND.w.lt.62.5 D)T.gt.1.7.OR.w.lt.62.5
10.FORTRAN 90规定,变量类型声明的优先顺序是 C 。
A.隐含约定(I-N规则)、IMPLICIT声明、类型声明
B.类型声明、隐含约定(I-N规则)、IMPLICIT声明
C.类型声明、IMPLICIT声明、隐含约定(I-N规则)
D.IMPLICIT声明、类型声明、隐含约定(I-N规则)
11、假设CH是一个字符型变量,并且具有足够的长度,则对于CH(3:7),下面说法正确的是___D________。
A.它是一个数组片段 B.它是一个数组定义形式
C.它是CH的一个子串,并且长度是4 D.它是CH的一个子串,并且长度是5
12.数组声明语句为:
INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::A
数组共有 A 个元素。
A.175 B.150 C.120 D.17
13. 下列DATA语句中正确的是______C____。
A) DATA /A,B/-1.0, -1.0/ B) DATA A, B/2*(-1.0)/
C) DATA A, B/2*-1.0/ D) DATA A/-1.0, B/-1.0
14. 下列有关FORTRAN数组的说法正确的是______D_____。
A) 数组定义语句只能定义一维或二维数组
B) 数组元素下标不能出现负值
C) 在赋值语句中出现的A(3)肯定是数组元素
D) 程序中使用的数组必须进行说明
15. 一个完整的FORTRAN 源程序的组成不应该_____D______。
A)只有一个主程序没有子程序 B)有一个主程序和若干子程序
C)有一个主程序和一个子程序 D)只有子程序而没有主程序
16.阅读下列FORTRAN程序:
DO K=2,4,2
S=S+1/K
END DO
WRITE(*,*)S
END
执行上述程序后,输出的S值为 C
A) 0.75 B) 1.75 C) 0.0 D) 1.0
17. 阅读下列程序
INTEGER M(3,3)
DATA M/1,2,3,4,5,6,7,8,9/
WRITE(*,10)(M(3,J),J=1,3)
10 FORMAT(1X,3I2)
END
程序运行结果是______B_____。
A)2 5 8 B)3 6 9 C)4 5 6 D)7 8 9
18. 阅读下列程序
K(X,Y)=X/Y+X
A=-2.0
B=4.0
B=1.0+K(A,B)
WRITE(*,10)B
10 FORMAT(1X,F4.1)
END
程序运行结果是A
A)-1.0 B)1.0 B)2.0 D)3.0
19. 阅读下列FORTRAN程序:
DO I=4,2,-1
A=1.0
DO J=I,4,2
A=A+1.0
ENDDO
ENDDO
WRITE(*,*)A
END
运行上述程序后,输出的A值为 ______C_____。
A) 5.0 B) 4.0 C) 3.0 D) 2.0
20、可调数组__B_______中出现。
A.只能在主程序 B.只能在子程序
C.只能在主程序和子程序 D.可以在主程序、子程序和模块
二、填空题(每空2分,共36分)
1、结构化程序设计的三种基本结构为:顺序结构、选择结构和 循环结构 。
2、已知A、B、C都是整型变量,且A=3,B=4,C=5,计算表达式C/2>2.AND.A+B==C的值为: .FALSE. 。
π3、将数学表达式e2 +ln|Sin2x-Sinx2|写成正确的FORTRAN表达式为:
EXP(3.14/2*X)+LOG(ABS(SIN(X)**2-SIN(X**2))) 。P.29 第9题
4、N是一个个位不等于0的两位自然数,写一个表达式将N的个位数与十位数互换,得到一个新的数。MOD(N,10)*10+N/10 。P.29 第6.4题
5、已知I是整型变量,当DO结构从“正常出口”结束时,语句“DO I= 3,15,2”共计完成了______7_______
次循环。
6、下列程序的运行显示结果是什么 .TURE. 。P.42 第1.1题
LOGICAL P
INTEGER I,I1,I2,I3
P=.FALSE.
I=123
I1=MOD(I,10)
I2=MOD(I/10,10)
I3=I/100
IF(I1+I3.EQ.2*I2)P=.TRUE.
PRINT*,P
END
7.下列程序的运行显示结果是什么 K=6 。P.64 第1.3题
K=0
DO N=21,10,-1
IF (MOD(N,2)==0)K=K+1
END DO
PRINT*, "K=",K
END
8.下列程序的运行显示结果是什么 14 5 。P.64 第1.4题
M=0
DO J=1,4
DO K=J-1,4
M=M+1
END DO
END DO
WRITE(*,*)M,J
END
9.下列程序的运行显示结果是什么 5167.0 。P.64 第1.5题
SUM=1.0
J=1
DO WHILE(J.LE.3)
F=1
DO I=2,2*J+1
F=F*I
ENDDO
SUM=SUM+F
J=J+1
END DO
PRINT*,SUM
END
10. 下列程序的运行显示结果是什么 S=15.00 。P.124 第1.4题
DIMENSION X(3,3)
DATA X/1,2,3,4,5,6,7,8,9/
S=0
DO I=1,3
S=S+X(I,4-I)
ENDDO
WRITE(*,20) S
20 FORMAT(1X,’S=’,F6.2)
END
11. 下列程序将一个数组的元素逆序重新存放,例如存放顺序为: 8,6,5,4,1 。要求改为: 1,4,5,6,8。请在横线处填写适当语句,使程序完整。P.126 第3题
INTEGER,PARAMETER::N=5
INTEGER A(N),I,T
DATA A/8,6,5,4,1/
WRITE(*,10)(A(I),I=1,5)
DO I=1,N/2
T=A(I)
END DO
WRITE(*,10)(A(I),I=1,5)
10 FORMAT(1X,5I4)
END
12. 下列程序完成按以下格式打印杨辉三角形的前N行:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
请在横线处填写适当语句,使程序完整。P.126 第12题
PARAMETER(N=10)
INTEGER A(N,N),I,J
DO I=1,N
A(I,1)=1
ENDDO
DO I=3,N
DO J=2,I-1
ENDDO
ENDDO
DO I=1,N
WRITE(*,10)(A(I,J),J=1,I)
ENDDO
10 FORMAT(1X,10I5)
END
13. 下列子例行程序ProcMin(A,N,MIN)的作用是返回数组A中的最小值。请在横线处填写适当语句,使程序完整。
SUBROUTINE PROCMIN(A,N,MIN)
INTEGER A(N),N,MIN
MIN=A(1)
DO I=2,N
IF(A(I)>MIN)MIN=A(I)
ENDDO
END
14..采用变化的冒泡排序法将N个数按从大到小的顺序排列:对N个数,从第一个直到第N个,逐次比较相邻的两个数,大者放前面,小者放后面,这样得到的第N个数是最小的,然后 4个对前面N-1个数,从第N-1个到第1个,逐次比较相邻的两个数,大者放前面,小者放后面,这样得到的第1个数是最大的。对余下的N-2个数重复上述过程,直至按从大到小的顺序排列完毕。请在下列程序横线处填写适当语句,使程序完整。P.126 第5题
PARAMETER(N=10)
INTEGER X(N),I,J,T
X=(/10,55,25,70,45,15,25,85,45,35/)
WRITE(*,10)(X(I),I=1,10)
DO I=1,N-1
DO J= 2,N-I+1
IF( A(J-1)<A(J) ) THEN
T=X(J-1)
X(J-1)=X(J)
X(J)=T
END IF
END DO
ENDDO
WRITE(*,10)(X(I),I=1,10)
10 FORMAT(1X,10I4)
END
三、编程题(每小题8分,共24分)
1、输入年月,输出该月所对应的天数。编写程序。P.37 例3.4
2、设计一个子例行程序,计算一个任意矩阵A中的最大元素和最小元素。P.126 第7题
3、对任意自然数n,设计一个求n的各位数字的立方和的函数子程序F(n)(如F(121)=1**3+2**3+1**2=1+8+1=10),并调用F(n)求1000以内的所有水仙花数(当一个数各个数位的立方和等于这个数本身时,称这样的数为水仙花数) P.176 第8题