资源描述:
《2008春F90笔试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二部分FORTRAN90程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内)21.以下几组FORTRAN90关键字中,全部用于描述(数据)属性的是21。A.DIMENSION、ALLOCATE、POINTERB.INTENT、DEALLOCATE、TARGETC.PARAMETER、USE、MODULED.ALLOCATABLE、EXTERNAL、INTENT22.以下描述各种功能的程序块中,不属于FORTRAN90独立程序单位的是22。A.PROGRAMmain…………ENDPROGRAMm
2、ainB.INTERFACEOPERATER(……)……ENDINTERFACEC.SUBROUTINEsub(……)……ENDSUBROUTINEsubD.MODULEabc…………ENDMODULEabc23.某程序单位的开头有如下四条说明语句,编译时错误将出现在语句23。①IMPLICITNONE②PARAMETER(r=12.2)③REAL,PARAMETER::pi=3.1415926④REAL(4),PARAMETER::s=pi*r*rA.①B.②和④C.③D.④24.自定义逻辑运算符.XOR.
3、(异或):仅当a、b之一是真时a.XOR.b为真。以下程序段输出结果为24。INTEGER::i=1,j=2,k=3,m=4PRINT*,i+j>k.XOR.k+j>=mA.TRUEB.FALSEC.TD.F25.欲定义符号名a为二维、实型、动态数组,以下说明语句中正确的是 25 。A.REAL(4),DIMENSION(:,:),ALLOCATABLE::aB.REAL(4),DIMENSION(:,:),ALLOCATE::aC.REAL(4),DIMENSION(:),ALLOCATABLE::aD.R
4、EAL(4),DIMENSION(:),ALLOCATED::a26.自定义(派生)类型staff如下:TYPEstaffCHARACTER(LEN=20)::first_name,surnameINTEGER::age,working_yearsENDTYPEstaff以下能将变量staff_person说明为staff类型的说明语句是26。A.staff::staff_personB.TYPE(staff)::staff_personC.TYPEstaff::staff_personD.staffTYPE
5、::staff_person27.若过程说明中有:SUBROUTINEsub(a,result)REAL::a(2,2,2),result主调程序单位中有语句:REAL::x(7),resultCALLsub(x,result)则在过程调用时实元数组的元素x(7)对应于哑元数组a的元素27。第11页Fortran90A.a(1,1,1)B.a(2,2,1)C.a(2,1,2)D.a(1,2,2)28.要认定数组a和b形状相同,必须符合条件: 28 。A.维数、各维的长度相同、维界不必相同B.维数、各维的长度相
6、同、维界也必须相同C.维数、总长度相同、各维维界不必相同D.维数、总长度相同、各维长度不必相同29.关于过程和模块,以下说法中错误的是29。A.过程是可执行的独立程序单位,模块是不可执行的独立程序单位B.外部过程是可执行的独立程序单位,模块是不可执行的独立程序单位C.模块内可定义内部过程,外部过程内也可定义内部过程,D.模块内的变元可供使用它的程序单位共享,外部过程内变元(局部于过程)不能共享30.以下带有控制信息表的读写语句中,错误的是 30。A.READ(FMT=*,UNIT=2,IOSTAT=ios)a
7、,b,c,i,j,kB.READ(UNIT=2,FMT=’(3A6,3I4)’,REC=number)a,b,c,i,j,kC.WRITE(UNIT=*,FMT=’(3A6,3I4)’,REC=number)a,b,c,i,j,kD.WRITE(IOSTAT=ios,UNIT=3,REC=number)a,b,c,i,j,k二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)1. 以下程序执行后,输出的第二行是 (1),第三行是(2),第四行是(3)。PROGRAMhalf_fibo_matri
8、xINTEGER,DIMENSION(1:4,1:4)::fiboINTEGER::i,j,k,summafibo=0DOi=1,4DOj=1,4IF(j==i)fibo(i,j)=1IF(j==i-1)fibo(i,j)=2ENDDOENDDODOi=3,4DOj=1,i-2summa=0DOk=1,i-1summa=summa+fibo(k,j)IF(i==k+1)summa=summa+fib