fortran考试试题(A)有答案版

合集下载

fortran95期末考试题及答案

fortran95期末考试题及答案

fortran95期末考试题及答案FORTRAN95期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是FORTRAN95中的合法变量名?A. 123abcB. _123abcC. 123D. variable-name答案:B2. 在FORTRAN95中,以下哪个语句用于定义数组?A. DIMENSIONB. DEFINEC. ARRAYD. DECLARE答案:A3. 下列哪个是FORTRAN95中的内建数据类型?A. INTEGERB. FLOATC. DOUBLED. STRING答案:A4. 在FORTRAN95中,以下哪个语句用于实现循环?A. IFB. DOC. THEND. ELSE答案:B5. 在FORTRAN95中,以下哪个语句用于条件判断?A. IFB. DOC. SELECTD. CASE答案:A6. 下列哪个是FORTRAN95中的文件打开语句?A. OPENB. CLOSEC. READD. WRITE答案:A7. 在FORTRAN95中,以下哪个语句用于实现模块化编程?A. MODULEB. FUNCTIONC. SUBROUTINED. PROGRAM答案:A8. 下列哪个是FORTRAN95中的参数传递方式?A. PASS BY VALUEB. PASS BY REFERENCEC. BOTH A AND BD. NEITHER A NOR B答案:C9. 在FORTRAN95中,以下哪个语句用于定义常量?A. DEFINEB. CONSTANTC. PARAMETERD. EQUIVALENCE答案:C10. 下列哪个是FORTRAN95中的文件关闭语句?A. OPENB. CLOSEC. READD. WRITE答案:B二、简答题(每题5分,共30分)1. 简述FORTRAN95中模块化编程的优点。

答案:模块化编程允许程序被分解成独立的模块,每个模块可以独立编译和测试,提高了代码的可读性和可维护性。

2018-2019学年第一学期《FORTRAN》期末试卷(A)

2018-2019学年第一学期《FORTRAN》期末试卷(A)

2018-2019学年第一学期《FORTRAN》期末试卷(A)(考试对象:农水、港航、地质、海洋、力学专业2018级)学院专业班级学号姓名成绩一、选择题(用铅笔把选中的方格涂黑32×1=32分)12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2829 30 31 32二、填空题(每空占一行,每行写一个答案25×2=50分)1.2.3.4.5.6.7.8.9.10.11.12. 13.14.15.16.17.18.19.20.21.22.23.24.25.三、程序设计(2×9=18分)1、求裴波纳契数列的前10项,要求每行输出5项。

该数列的前几项为:0,1,1,2,3,5,8,13,……2、编写一个判断素数的函数子程序, 主程序调用函数求3-100之间满足下面条件的各组素数:每组三个素数,第二个比第一个大2,第三个比第二个大4。

例如5、7、11就是满足条件的一组。

一、选择题(32×1=32分)1、以下有关FORTRAN90基本概念的叙述中,正确的是。

A、关键字只能用大写字母,其他符号名(变量名、数组名、过程名等)只能用小写字母。

B、符号名须以英文字母开头,可后接英文字母、数字、下划线,不超过31个字符。

C、键盘上的可见字符均可作字符型常数使用,但汉字不能作字符型常数使用。

D、编译系统接受英文字母开头后接希腊字母作符号名。

2、在下列写法中,________不是FORTRAN常量。

A、 .TRUE.B、1E-2C、 (0.0,2.4)D、1,000,0003、表达式15/4/2.0的值是。

A、整数2B、实数1.5C、实数2.25D、实数1. 34、以下DO循环结构中,不属于FORTRAN90程序设计语言标准的是。

A、DO ……ENDDOB、DO WHILE(relation_expression)……ENDDOC、DO index=1,2,3……ENDDOD、DO UNTIL(relation_expression)……ENDDO5、以下说法中错误的是。

fortranquizfortran测试题

fortranquizfortran测试题

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.QUIZ分数:100分时间:80分一、选择1、在下列写法中,()不是FORTRAN常量。

A .TRUE. B1E-2 C (0.0,2.4) D1,000,0002、下列哪个是合法的F90变量名?()A FORTRAN/90B FORTRAN_90C90_FORTRAN D.FORTRAN3、以下声明中,不是数组声明的是:()A.integer a(4)B.integer(4) aC.integer a(10,20)D.integer a(-3:10)4、以下语句中,不正确的是:()A write(*, ‘(1x,f6.2)’) 6.3B integer, parameter :: pi=3.14159C tax=salary*3%D integer, dimension(2,3) :: a5、FORTRAN表达式"6/5+9/2**3/2"的值为( )A 33B 1C 5D 36、以下为数组声明语句,则下列选项中不正确的是( )INTEGER num(9)=(/1,2,3,4,5,6,7,8,9/), mm(5)A mm=num(5:9)B mm=num(5:)C mm=num(:5)D mm=num(:)7、设A=.TRUE., B=.FALSE., C=.FALSE., 逻辑表达式(A.OR.B).AND.C与A.OR..NOT.B的值是()。

A.TFB.FTC. TTD. FF8、阅读下列FORTRAN程序, 程序运行时执行循环体的次数是()。

X=0A0B1DO L=10, 5, 1C6D无穷X=X+1.0ENDDOEND9、圆心在原点的两个同心圆,半径分别为2和4。

描述点(X,Y) 在小圆外,大圆内(包括在两圆周上)的表达式是( )A ABS(X)<=4.0 .AND. ABS(Y)>=2.0B 2.0=<SQRT(X*X+Y*Y)<=4.0C X*X+Y*Y<=16.0 .AND. X*X+Y*Y>=4.0D(X .OR. Y)>=2.0 .AND. (X .OR. Y)<=4.010、自定义数组stl的定义如下:TYPE studentINTEGER::numCHARACTER(len=8)::name . REAL::heightENDTYPE TYPE(student),DIMENSION(10)::stl则数组stl在常用的编译系统(如CVF)中占据内存单元字节数是()。

fortran模拟试题

fortran模拟试题

软件技术基础(FORTRAN)笔试模拟试题(带答案)一.概念选择题(单选题,将正确的答案填入括号内。

每题1分,共15分)1. 已知整型变量L=5,M=13,N=4,表达式L*M/N 、L/N*M 和M/N*L 的值分别是(A )。

A )16 13 15B )16.25 16.25 16.25C )16.0 13.0 15.0D )16 16 162.将数学式)||(ln 215-+e x 改写为FORTRAN 表达式,正确的是( D )。

A) 1/2*(LOG(ABS(X))+E**(-5))B) 1.0/2*(LN(ABS(X))+E**-5)C) 1/2.0*(LN(ABS(X))+E -5)D) 1.0/2*(LOG(ABS(X))+EXP(-5))3. 设A=.TRUE., B=.FALSE., C=.FALSE., 逻辑表达式(A.OR.B).AND.C 与A.OR..NOT.B 的值是( B )。

A) .T. 与 .F. B).F. 与 .T. C) .T. 与 .T. D) .F. 与 .F.4. 数组REAL A (0:5,-1:5)的元素个数是 ( D )。

A )25B )30C )36D )425. 下列数组说明符中错误的是( A )。

A )K(3:2,1:2)B ) K(-1:1,2)C )K(-2:2,-1:1)D )K(2:2,5)6. 关于USE 语句的正确说法是( C )。

A)USE 语句是可执行语句 B)用USE 语句可以代替INCLUDE 语句C)USE 语句必须放在程序单元体的开头 D)USE 语句的位置任意7. 语句OPEN (9,FILE=‘DATA.TXT ’)打开的是 ( B ) 文件。

A )无格式顺序B )有格式顺序C )无格式直接D )有格式直接8. 阅读下列FORTRAN 程序, 程序运行时执行循环体的次数是( A )。

X=0DO L=10, 5, 1X=X+1.0ENDDOENDA) 0 B) 1 C) 6 D) 无穷9.结构化程序设计中有三种基本结构,下列不属于三种基本设计结构的是( D )。

fortran考试题及答案分开

fortran考试题及答案分开

fortran考试题及答案分开1. 以下哪个选项是Fortran语言中正确的整型变量声明?A. INTEGER xB. REAL xC. COMPLEX xD. LOGICAL x答案:A2. Fortran程序中,哪个关键字用于定义数组?A. ARRAYB. LISTC. VECTORD. DIMENSION答案:D3. 在Fortran中,以下哪个选项是正确的条件语句?A. IF (x > 0) THENPRINT *, 'x is positive'B. IF x > 0 THENPRINT *, 'x is positive'C. IF (x > 0)PRINT *, 'x is positive'D. IF x > 0PRINT *, 'x is positive'答案:A4. Fortran中用于循环结构的关键字是什么?A. LOOPB. ITERATEC. DOD. FOR答案:C5. 如何在Fortran程序中包含另一个文件?A. 使用INCLUDE语句B. 使用IMPORT语句C. 使用INCLUDE关键字D. 使用IMPORT关键字答案:A6. Fortran中,哪个函数用于计算数组元素的总和?A. SUMB. TOTALC. AGGREGATED. ACCUMULATE答案:A7. 在Fortran中,如何声明一个具有默认值的变量?A. INTEGER :: x = 0B. INTEGER x = 0C. INTEGER x DEFAULT 0D. INTEGER x = DEFAULT 0答案:A8. Fortran程序中的主程序必须以哪个关键字开始?A. PROGRAMB. MAINC. PROCEDURED. FUNCTION答案:A9. 在Fortran中,如何声明一个二维数组?A. INTEGER :: matrix(10, 10)B. INTEGER :: matrix[10][10]C. INTEGER :: matrix(10)(10)D. INTEGER :: matrix(10,10)答案:A10. Fortran中用于计算数组元素平均值的函数是什么?A. AVGB. MEANC. AVERAGED. SUM答案:C。

大学FORTRAN考试试题1[1]

大学FORTRAN考试试题1[1]

大学FORTRAN考试试题1[1]1.下列叙述中,正确的是(D )A.语句标号的大小影响程度执行的顺序B.程序完全按语句出现的先后顺序执行C.不同程序单位不能有相同的语句标号D.同一程序单位不能有相同的语句标号2.下列标识符中,不能作为合法的FORTRAN90标识符的是( C) A.A3_B3 B.VOID C._123 D.IF3.下列哪一个为正确的常量( D )A.123,000 B. 3.5E+2.5 C. TRUE D. “HELLO”4.若A=2,B=2,I=3,则表达式A**B**I的值为( C )A. 64B.12C.256 D16.5.圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是( D )A. 3.14159*(D/2)*(D/2)B. 3.14159*(D*D/4)C. 3.14159*(D/2)**2D. 3.14159*D*D/46.下列运算符中,运算优先级最高的是(B )A. 关系运算B. 算术运算C. 逻辑非运算D. 逻辑与运算7.下列FORTRAN的表达式中值为0.5的是( C)A.MOD(4.8,0.5) B.100/20/10 C.50.0/4/25 D.MOD (15,10)/108.下列是完整的FORTRAN程序,编译时出错的语句是( C )A.PROGRAM PRINT B.PARAMETER (PI=3.1415926)C.PI=PI+1 D.WRITE(*,*)SIN(PI+0.5)END9.变量的类型定义中,优先级由高到低的顺序为( A )A.类型说明语句、IMPLICIT 说明语句、隐含约定B.隐含约定、IMPLICIT 说明语句、类型说明语句C.IMPLICIT 说明语句、类型说明语句、隐含约定D.隐含约定、类型说明语句、IMPLICIT 说明语句10.“两整数M与N不能同时小于零”的FORTRAN表达式( D ) A.M>=0.AND.N>=0B.(M.GE.0.AND.N.LT.0).OR.(M.LT.0.AND.N.GE.0)C.(M.LE.0.AND.N.LE.0).OR.(M.LE.0.AND.N.GE.0)D.M.GE.0.OR.N.GE.011.下列逻辑表达式描述的是(不会) X.GT.3.AND.X.LT.10.AND.MOD(X,3).NE.0.OR.X.EQ.2.OR.X.EQ.3 A.10以内的素数B.10以内的合数C.10以内的奇数D.10以内的偶数12.下面正确的逻辑IF语句是(C )A.IF(X.EQ.Y)THEN GOTO 10 B.IF M.LT.N PRINT*,M C.IF(ABS(X).LT.1E-6) A=1 D.IF(A.AND.(A.LE.0.0) A=313.下列语句中正确的是( C )A.DATA A,B,C/3*(-10.0)/ B.READ(*,*)(N,A(K),K=1,N)C.WRITE(*,*)(10,A(K),K=1,10) D.READ(*,*)N,N+114. 如果J是整型变量,则循环语句:DO J=5.5,-1.5,-2.5 所执行的循环次数是(C)A.4 B.3 C.2 D.115.如有语言:INTEGER B (-1:-2,3:7),则数组B 中所含的元素个数为( 无答案) A.0 B.10 C.12 D.2116. 关于FORTRAN90 的CASE结构,SELECT CASE(表达式)中的表达式的数据类型不允许为( A)A. 实型B. 字符型C. 实型D. 逻辑性17.下面符号在FORTRAN90 中表示续行符的是( B)A.! B. & C. # D. %18. 下列程序段中,错误的语句是( D)A.PARAMETER(N=10)B. INTEGER:: M=20C.M=M+ND.PRINT(*, *)M, N19.A. FUNCTIONB. SUBROUTINEC. BLOCK DA TAD. SUB20.下列语句中,错误的语句是( D)。

大学FORTRAN语言试题

大学FORTRAN语言试题

大学FORTRAN语言试题一、选择题(15×1分=15分)1.Fortran程序设计语言允许使用的专用字符集是。

A.(),.;[]+-*/=:空格B.(),.αβ+-*/=:空格C.(),.+-*/$'=:空格D.{},.;?+-*/=:空格2.按隐含规则确定变量的数据类型,Fortran表达式(A112/BC1+15.123456789.0_8)-(1000.0_4/3.0+ABI*ABJ)的值的数据类型为。

A.复型B.整型C.实型(种别为8)D.实型(种别为4)3.执行循环语句DO I=0.5,4.5,1.5,正常退出循环后,循环执行的次数和循环变量I的值分别为。

A.4和4.5 B.5和5 C.4和6 D.5和64.语句A(M(I))=MOD(I,7)是。

A.函数定义语句B.赋值语句C.非法语句D.说明语句5.下列不合法的是:_____A.A<B<C<D B..NOT.(X<0) C.A>B.EQV.C>D D.A.AND.B.AND.C6.若数组说明符ARRAY(-5:5,-10:0)的元素个数为。

A.144 B.121 C.110 D.1007.设循环初值、终值和增量分别为M1,M2和M3,循环次数的计算公式是。

A.INT((M2-M1)/M3)B.INT((M2-M1)/M3)+1C.MAX(INT(M2-M1+M3)/M3,0) D.MIN(INT(M2-M1+M3)/M3,0)8.下列字符表达式中正确的是。

A.’ABCD’+’MN’’D’B.’ABCD’//’MN’’D’C.CHAR(65)+’N’//’CH’D.’123 45’-’5’9.语句integer,dimension(1:-1)::a,下列说法中正确的是:_____A.a数组的元素个数为0 B.a数组的元素个数为3C.a数组的元素个数为1 D.该说明语句是错误的10.子程序的虚元可以是:A.变量名、数组名、过程名B.变量名、数组名、过程名和符号常量名C.变量名、数组名、数组片段、过程名D.任意符号名11.c为复型量,下列正确的是:A.c=(1/2,1/5) B.c=sqrt((0.1,4.5)) C.c=1.0+4i D.c=(x,y)12.数学式的FORTRAN表达式是()A.2/3*SIN(3.14/4)B.2SIN(3.14/4)/3C.2.0*SIN( /4.0)/3.0 D.2*SIN(3.14/4)/313.执行下列赋值语句后,变量X的值为()X=4+36**(7/14)A.10.0 B.5.0 C.10 D.514.下列不合法的是:A.A<B<C<D B..NOT.(X<0) C.A>B.EQV.C>D D.A.AND.B.AND.C15.执行下列程序时由键盘输入13579.2468,输出结果为:READ’(2(F4.1,2X))’,A,BPRINT’(2(F4.1,2X))’,A,BA.135.7 246.8 B.13.5 24.6 C.**** **** D.*** ****二、填空题(15×1分=15分)1.FORTRAN90自由格式的程序续行标记为______字符,一般写在_____位置;自由格式的程序注释标记为____字符。

大学FORTRAN考试试题样题

大学FORTRAN考试试题样题

《高级语言程序设计 (FORTRAN)》考试样题一、选择题(每小题 2 分,共 40 分)1. 下列标识符中不能作为 FORTRAN 的合法变量名的是_____D_____。

A) A_1 B) A1 C) A1A D) A+12. 在 FORTRAN 的变量类型说明语句中没有 BA) REAL 语句B)CHAR 语句C)INTEGER 语句 D)LOGICAL 语句3.FORTRAN90 源程序的扩展名是 C 。

A. TXTB. FC. F90D. FOR4.下列关于符号常量的说法正确的是___C____。

A.符号常量的定义应该放在所有语句之前B.符号常量不可以是字符型常量C.在一个程序单位中定义一个符号常量后,不能再改变它的值D.符号常量定义语句与赋值语句一样,是可执行语句5、在下列写法中, __D______不是 FORTRAN 常量。

A. .TRUE.B.1E-2C. (0.0,2.4)D.1,000,0006.表达式 15/4/2.0 的值是 B 。

A.整数 2 B.实数 1.5 C.实数 2.25 D.实数 1. 37. 下列不是 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)*H9. 要选拔身高 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.5C)T.gt.1.7. AND.w.lt.62.5 D)T.gt.1.7.OR.w.lt.62.510.FORTRAN 90 规定,变量类型声明的优先顺序是 C 。

计算机技术基础Fortran试题库

计算机技术基础Fortran试题库

一、选择题1、下列关于"SUBROUTINE MAP(X,Y)"语句行的叙述中,不正确的是( )A) 这是子程序的第一个语句B) 字符串"MAP"是子程序名C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据2、FORTRAN表达式"2/4+0.5"的值是( )A) 0.5 B)1 C)1.0 D) 03、阅读下列FORTRAN程序:PI=3.14159265WRITE(*,'(F7.4) ')PIEND程序运行后输出结果是( )A) 3.142 B) 3.1415 C) 0.31416 D) 3.14164、圆的直径存放在整型变量K之中,下列计算圆面积的表达式中正确的是( )A) 3.1415926*K*K/4 B) 3.1415926*(K*K/4)C) 3.1415926*(K/2)**2 D) 3.1415926*(K/2)*(K/2)5、要判断"月收入M在2000元以上(含2000元)且5000元以下)不含5000元)"的职工,应该使用的逻辑表达式是( )A) M .GE. 2000 .AND. M .LE. 5000 B) M .GE. 2000 .OR. M .LE. 5000C) M .GE. 2000 .AND. M .LT. 5000 D) M .GE. 2000 .OR. M .LT. 50006、设FORTRAN子程序如下:SUBROUTINE SUB(I,X)B=I+1X=X+BEND若主程序中的变量M,B已按I-N规则赋值,则调用上述子程序的语句中正确的是( )A) CALL SUB(M,M) B) CALL SUB(M+4,B)C) CALL SUB(B,B) D) CALL SUB(M,B+4)7、下列不是FORTRAN常量的是( )A) (3.0,4.0) B) 3.1416D+00C) 2/3 D) 'Very good!'8、阅读下列FORTRAN程序:F=1.0DO 20 K=3, 7, 3DO 20 L=K-1, K20 WRTTE(*,'(I3, F8.1)'K, F*KEND 程序运行结果的最后一行是( )A) 3 6.0B) 6 6.0 C) 6 180.0 D) 7 180.09、在FORTRAN中,下列运算符的优先顺序是( )A) 逻辑运算,关系运算,算术运算B) 关系运算,逻辑运算,算术运算C) 算术运算,关系运算,逻辑运算D) 关系运算,算术运算,逻辑运算10、使用FORTRAN部函数时,所给的自变量( )A) 只能是常量B) 只能是变量C) 只能是常量或者变量D) 可以是常量、变量或者表达式11、设X=2.0, Y=8.0, Z=6.0, L=.TRUE.,则下列FORTRAN表达式中值为.TRUE.的是( )A) X+Z.GT.Y.AND.L B) .NOT.(Y.LT.Z+X).NEQV..NOT.LC) .NOT.L.OR.(L.EQV.Y+X.EQ.Z) D) Y+X.GE.Z+X.AND.(L.AND..FALSE.)12、下列输出语句行中正确的是( )A) WRITE(*,*)(A(K,L),K=1,3,L=1,3)B) WRITE(*,*)A(K,L),K=1,3,L=1,3C) WRITE(*,*)((A(K,L),K=1,3),L=1,3)D) WRITE(*,*)(A(K,L),K=1,3),L=1,313、给定下列FORTRAN子程序如下:SUBROUTINE SUB(K,A)A=SQRT(K*K+1.0)END下列调用语句中正确的是( )A) CALL SUB(N,N) B) CALL SUB(X,X)C) CALL SUB(N,X*X) D) CALL SUB(11,X)14、阅读下列FORTRAN程序:INTEGER AA(2,3)DATA AA/1,2,3,4,5,6/CALL S2D19(AA)CALL S2D19(AA(1,2))ENDSUBROUTINE S2D19(BB)INTEGER BB(2,2)WRITE(*,'(1X,2I3)') BB(1,1),BB(2,2)END程序运行结果是( )A) 1 4 B) 15 C) 1 4 D) 1 23 6 2 6 2 5 3 415、阅读下列FORTRAN程序:INTEGER A(3,3)DO 10 K=1,3DO 10 L=1,310 A(K,L)=K*10+LWRITE(*,'(1X,3I3)')AEND程序运行结果是: ( )A) 11 21 31 B) 11 12 13 C) 31 32 33 D) 33 32 3112 22 32 21 22 23 21 22 23 32 22 2113 23 33 31 32 33 11 12 13 31 21 1116、阅读下列FORTRAN程序:WRITE(*,10)'YEAR:', 199610 FORMAT(/3X,A,I4)END程序运行结果是(^代表空格,下同) ( )A) ^^^^^YEAR:1996 B) ^^YEAR:1996C) 空白行D) 空白行^^^^^YEAR:1996 ^^YEAR:199617、某函数子程序中使用了IMPLICIT、READ、PLEX和FUNCTION四种语句,其中属于可执行语句的是: ( )A)FUNCTION B) READ C) PLEX D) IMPLICIT18、阅读下列FORTRAN程序:DIMENSION M(4,4)DATA M/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/DO 10 I=1,4WRITE (*,100)(M(I,J),J=1,I)10 CONTINUE100 FORMAT(1X,4I2)END 程序运行的结果是( )A) 1 2 3 4 B) 1 5 9 3 C) 1D) 16 7 8 6 0 4 2 6 2 6 61 2 1 5 3 7 1 9 3 7 116 6 4 8 2 6 3 4 4 8 2 6619、阅读下列FORTRAN程序:CHARACTER*10 A, B*6DO 10 I=1,10A(I:I)=' '10 COUNTINUEA(1:5)='ABCDE'B='FGHIJK'A(4:9)=BWRITE(*,100) A100 FORMAT(1X,A)END 程序运行结果是:( )A) ABCDEFGHIJ B) ABCDEGHIJK C) ABCFGHIJK D) BCDEFGHIJK20、阅读下列FORTRAN程序:INTRINSIC SIN,COSWRITE(*,*)FUN(SIN,30.0)/FUN(COS,30.0)ENDFUNCTION FUN(F,X)X=X*3.14159/180FUN=F(X)END 程序运行结果是( )A) sin30°的值B) cos30°的值C) tg30°的值D) ctg30°的值二、填空题1、下列FORTRAN子程序的功能是用以下公式计算一组数据Z1,Z2,…,Zn的标准差σ:σ2=(Z12 +Z22+…+Zn2)/n-[(Z1+Z2+…+Zn)/n]2请在程序中的下划线处填入合适的容。

FORTRAN笔试

FORTRAN笔试

一、判断题(共20分,每题1分,√表示对,×表示错)1.FORTRAN源程序的一条语句无法在一行内写下时,在行末用续行标志“!”,表示下一行是当前行的继续。

2.语句X=X+1的含义是将内存中名为X+1的存储单元的值赋给变量X。

3.如果程序单元中有说明语句PARAMETER(A=2.1),则不允许在该程序单元中改变A的值。

4.主程序和子程序可以储存到不同的文件中。

5.即使编译和连接都正确无误,FORTRAN程序运行时仍可能出错。

6.在数据块子程序中,可以调用另一个数据块子程序。

7.设有如下输入语句READ '(1X, F5.2)' , X若由键盘输入:12.3456789,则变量Y的值为12.34。

8.如果有以下程序段CHARACTER::A=’FORTRAN’则A内存储的实际值是’F’。

9.M=2000,为了在屏幕上输出□□***2000*** (其中□表示空格)。

则应使用的语句为:WRITE(*,100)M100 FORMAT(2X,’***’,I4,’***’)10.模块可用USE引用,也可用CALL调用。

11.语句函数定义语句在程序内的位置是:在程序块开头语句之后,END语句之前。

12.若有以下程序段:INTEGER,POINTER ::P1, P2INTEGER,TARGET::I=20, J=30P1=>I; P2=>J; P1=>P2; P2=>P1运行程序,I、J的值都为20。

13.COMMON语句的功能是给不同程序模块中的若干变量分配同一存储单元。

14.设C是复型变量,A、B是实型变量。

把A 的值赋给C的实部,把B的值赋给C的虚部的赋值语句是C=CMPLX(A,B)。

15.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。

16.A2B的FORTRAN表达式为A**2*B。

17.程序中说明了变量a具有POINTER属性,若a=>b,则b应具有PARAMETER属性。

fortran考试试题(A)有答案版

fortran考试试题(A)有答案版

课程名称:Fortran语言程序设计;试卷编号:A 卷;考试时间:120分钟学院1.Fortran语言中有:整数型逻辑型字符型实数型复数型五种基本数据类型。

2.Fortran程序的书写格式有两种固定格式自由格式。

3. 字符型常数’this”s’的字符长度为64. 下列程序运行结果为125。

Program mainImplicit noneInteger::floor=5,iDo i=1, floorIf(i==3)cycleIf(i==4)cycleWrite(*,*)iEnd doend5. 下列程序的运行结果为76.0,2.0。

Program mainImplicit noneReal :: a, b, mA=2.0B=76.0If(a<b)thenM=aA=bB=mEnd ifWrite(*,*) “a=”,a “b=”,bend6. 下列程序的运行结果是10302。

Program testImplicit nonesum=0.0do i=1,203,2sum=sum+iend dowrite(*,*) iend7.下列程序的运行结果是12000。

Program testImplicit noneInteger::iInteger::a(5)=(/ (i, i=1,5) /)Integer::b(5)=0Where (a<3)b=aEnd whereWrite(*,”(5(i3,1x))”) bend8.下列程序的运行结果是30。

Program testImplicit noneInteger,parameter:: limit=10Integer counterInteger:: ans=0Counter=2do while(counter<=limit)ans=ans+countercounter=counter+2end doWrte(*,*)ansend9.下列程序的运行结果是2,3。

fortran习题参考答案

fortran习题参考答案

工程分析程序设计上机作业(五)模块化编程上机目的:掌握内部例程、主程序、外部例程、模块等功能的使用方法。

1、有一个六边形,求其面积。

为求面积,作了3条辅助线。

如图所示:(提示,三角形面* a b c积=s(s-a)(s-b)(s-c),其中s ,a、b、c为三个边长)。

要求用内部函数来计算每个三角形的面积。

program mai nimplicit nonereal :: A(9)=(/10,30,16,13,21,14,20,36,28/)in teger ireal ss=area(A (3) ,A (4) ,A(7))+area(A(2),A(7),A(8))+ &area(A(1),A(8),A(9))+area(A (5),A (6) ,A(9))prin t*,'The area is',scontainsfunction area(x,y,z)implicit nonereal x,y,zreal p,areap=(x+y+z)/2area=sqrt(p*(p-x)*(p-y)*(p-z))end functionend2、编写一个子例程子程序,SUM(S , T , N1 , N2)。

把整型数N1到N2进行求和,并把求和的结果放置到S,把整型数N1到N2进行求积,并把求积的结果放置到T。

并用这个子程序来计算:y =(1 2 3 4) (3 4 5 6 7 8) (3*4*5*6) -(1*2*3)program mai nimplicit nonein teger A(8)in teger i,b,c,d,e,f,g,m, n,yb=O;d=O;g=1; n=1 do i=1,8A(i)=iend docall sum(b,c,1,4) call sum(d,e,3,8) call sum(f,g,3,6) call sum (m,n ,1,3)y=b+d+g-nprin t*,'y=(1+2+3+4)+(3+4+5+6+7+8)+(3*4*5*6)-(1*2*3)=',ycontainssubroutine sum(s,t,N1,N2) in teger s,t,N1,N2,i do i=N1,N2 s=s+A(i) t=t*A(i)end doend subrout ineend3、编写函数子程序GDC求两个数的最大公约数。

2011-2014年期Fortran90中期末考试试卷

2011-2014年期Fortran90中期末考试试卷
第 5 页 共 12 页
2011~2012 学年第二学期 FORTRAN 期末考试卷 A 卷 CHARACTER(4)::A,B,C*5 A=’YOUR’; B=’BOYS’; C=’GIRLS’ WRITE(*,’(A4,A5,A6,A1)’) A,B,C,’!’ END A、 YOURBOYSGIRLS! C、 YOUR BOYSGIRLS! B、YOUR BOYS GIRLS! D、YOURBOYS GIRLS!
二、填空题(每空占一行,每行写一个答案 25×2=50 分)
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
第 1 页 共 12 页
2011~2012 学年第二学期 FORTRAN 期末考试卷 A 卷 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
2011~
专业班级:
学号:
姓名:
一、选择题 (用铅笔把选中的方格涂黑 40×1=40 分)
1 5 9 13 17 21 25 29 33 37 A A A A A A A A A A B B B B B B B B B B C C C C C C C C C C D D D D D D D D D D 2 6 10 14 18 22 26 30 34 38 A A A A A A A A A A B B B B B B B B B B C C C C C C C C C C D D D D D D D D D D 3 7 11 15 19 23 27 31 35 39 A A A A A A A A A A B B B B B B B B B B C C C C C C C C C C D D D D D D D D D D 4 8 12 16 20 24 28 32 36 40 A A A A A A A A A A B B B B B B B B B B C C C C C C C C C C D D D D D D D D D D

Fortran模拟试卷1-8

Fortran模拟试卷1-8

FORTRAN90模拟测验一(笔试部分)一.选择题(从4个可选答案中选择一个正确答案添入空白处)1.FORTRAN 90规定程序中名称的长度不能超过个字符。

A.8 B.15 C.31 D.632.关于FORTRAN 90程序单元,以下四种说法中正确的是。

A.一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个主程序单元B.一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个模块单元C.一个FORTRAN 90程序允许有多个程序单元,但每类程序单元只能有一个D.一个FORTRAN 90程序允许有多个程序单元,但主程序单元和模块单元只能有一个3.FORTRAN 90程序中允许使用的三个通用标志符是。

A.!% & B.@ , ; C.! ; & D.; & *4. 下列中,所指的FORTRAN 90表达式都是正确的。

①∣A*x+B*y+C*z∣② b*b+4*a*c③ .NOT. .TRUE. .AND. .FALSE. ④‘A’<= ch <= ‘Z’⑤ X>100 = = .TRUE. ⑥ SQRT(A2+B2)⑦π*R**2 ⑧‘HAPPY ’+‘NEW ’+‘YEAR.’A. ①②⑤B.②③④⑧C.②③⑤D.②⑤⑥⑦5. FORTRAN 90规定,变量类型声明从高到低的优先顺序是。

A.隐含约定(I-N规则)、IMPLICIT声明、类型声明B.类型声明、隐含约定(I-N规则)、IMPLICIT声明C.类型声明、IMPLICIT声明、隐含约定(I-N规则)D.IMPLICIT声明、类型声明、隐含约定(I-N规则)6.数组声明语句为:INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::num 数组元素num(-2,1,13)是存储结构中第个元素。

A.70 B.85 C.90 D.947.类型声明语句为:INTEGER(2) I 数据输出语句为:PRINT *,I变量I中数据输出域宽是字符。

fortran试题A

fortran试题A

《Fortran 语言程序设计》考试试题 一、关键字解释及表达式互换(共10题,每题2分,共20分) 1. READ*, X,Y 2. REAL 3.12 FORMAT(2X,I5) 4.COMPLEX 5.LOGICAL 6.INTEGER,DIMENSION(4,5)::A 7.SELECT CASE(R3) 8.写出 x e y cos 21∙的fortran 表达式 9.写出COS ((A+1)*(A+1))/(N*N+1)数学表达式 10.写出 1-⎪⎪⎭⎫ ⎝⎛n y x 的fortran 表达式 二、下面分别是程序中的一段代码,请指出其错误?(共2题,(共2题,1题12分,2题8分,共20分) 1. …………………… E=(E*T+23) IF(E>=500) GOTO 5 DO N=1,1O ,0 5 T=SS*3.45 PRINT*,R,T END DO ……………… 2. PROGRAM ex IMPLICI NONE INTEGER :: n CHARACTER(LEN=3) :: a,b,c READ*, n a=n b=’nkd_lixy ’c=sqrt(a**2+b**2) print*,c 学生班级________________学生学号:□□□□□□□□□□□□学生姓名:________________ ………………装订线………装订线………装订线…………试卷须与答题纸一并交监考教师…………装订线………装订线………装订线………………………………三、请写出下面程序的运行结果(共4题,每题10分,共40分)1.写出下列程序的作用是解决什么问题的?PROGRAM GH1REAL X,YREAD*,XIF (X<=0) Y=LOG(SQRT(X*X+1))IF (X>0) Y=SIN(X**3)+ABS(X)PRINT*,”Y=”,YEND2.写出下列程序的运行结果,程序运行时输入 5,6,7,8 四个数。

FORTRAN试卷汇总

FORTRAN试卷汇总

FORTRAN 机试试卷班级: 姓名: 学号: 机器号 得分:考生请注意:考试时间为60分钟,请将结果和程序写在试卷对应的位置上,只写结果....不给分,结果对而程序错误的倒扣分................。

1、 有一函数:y=⎩⎨⎧≥+<01cos 0ln sin 2x x x x x 从键盘输入x,输出y 的值。

当X=-6时,y= ;当x=6时,y= 。

2、求2000~5000中第五大的素数。

第五大的素数为: 。

3、已知函数)1sin()ln(+=x e x y x ,用随机函数10*ran(iseed )+1生成10个自变量x ,从键盘读入iseed ,当读入5时,求x 和y 的平均值。

x 的平均值为: ;y 的平均值为: 。

FORTRAN 机试试卷班级: 姓名: 学号: 机器号 得分:考生请注意:考试时间为60分钟,请将结果和程序写在试卷对应的位置上,只写结果....不给分,结果对而程序错误的倒扣分................。

1、 有一函数:y=⎪⎩⎪⎨⎧≥-<≤<)10(113)101(2)1(cos x x x xx x当x=-0.5时,y= ;当x=0.5时,y= 。

2、随机生成500个1~1000的整数,输出最大和最小的数所在的位置。

其中随机数的生成函数为ran(iseed)从键盘读入iseed 。

当读入8时:最大的数在第 个;最小的数在第 个;3、已知函数y=e x cos(x+1),用随机函数100*ran( iseed)+1生成10个自变量x ,求y 的最大值为: ;对应的x 的值为: 。

FORTRAN 机试试卷班级: 姓名: 学号: 机器号 得分: 考生请注意:考试时间为60分钟,请将结果和程序写在试卷对应的位置上,只写结果不给......分,结果对而程序错误的倒扣分..............。

1、有一函数:y=⎪⎪⎩⎪⎪⎨⎧≥+<≤<)10(1)101(2)1(cos 22x xx x x x e 当x=-10时,y= ;当x=15时,y= ;2、 3)2sin(cos )(++=t t t f ,求⎰=π5.10)(dx x f I (矩形法,区间等分成1000分)。

FORTRAN90考试笔试题1

FORTRAN90考试笔试题1

FORTRAN90考试笔试题1FORTRAN90试题(A)答案请写在答题部分A.试题部分⼀、单项选择(每题2分,共40分)1、下列标识符中不能作为FORTRAN90的合法变量名的是__1___.A)A_1 B) A1 C) A1A D) A+12、表达式1+SQRT(B*B-4.0*A*C)*ABS(X)<3E-5值的类型为: __2___.A)逻辑型B)整型C)实型D)字符型3、下列DATA语句中正确的是 __3___.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/4、通过下⾯的赋值,字符变量LINE的值是 4 。

表⽰空格。

CHARACTER(LEN=4)::LINELINE=’10’A) 10 B) 1000 C) ‘10’ D) 105、设M=2000,为了在屏幕上输出□□***2000*** (其中□表⽰空格),则应使⽤的格式输出语句为 __5___.A) WRITE(*,10)M10 FORMAT(2X,’***’,I4,’***’)B) WRITE(*,10)M10 FORMAT(3X,’***’,M,’***’)C) WRITE(*,10)M10 FORMAT(3X,’***’,I4,’***’)D) WRITE(*,10)M10 FORMAT(1X,’2X’,17,’***’)6、若有格式输⼊语句如下:INTEGER A(4)READ(*,2O)A20 FORMAT(4I2)如果在执⾏时从键盘输⼊□1□23□456□789↙ (其中□为空格, ↙为回车键)则读⼊后的A(3)值为 __6___.A)56 B) 456 C) 34 D) 37、执⾏下列赋值语句R=25**(6/12)后,变量R的值为_7___:A)5.0 B)0 C)1 D)1.08、下列有关数组的说法正确的是__8___.A) 数组定义语句只能定义⼀维或⼆维数组B) 数组元素下标不能出现负值C) 在赋值语句中出现的A(3)肯定是数组元素D) 程序中使⽤的数组必须进⾏说明9、下列说法中正确的是__9___.A)输⼊字符串常量时,其长度必须和所定义的变量长度相等B)字符串常量在⽤键盘输⼊时,两边必须⽤撇号C)两个字符型变量⽐较,该两个变量的长度必须⼀致D)定义字符型变量⽤CHARACTER语句10、在下⾯的模块定义中,错误的语句是__10___.A) MOUDLE APIB) REAL::PIC) PI=3.14D) END MOUDLE API11、阅读下列FORTRAN90程序:DO I=4,2,-1A=1.0DO J=I,4,2A=A+1.0ENDDOENDDOWRITE(*,*)AEND运⾏上述程序后,输出的A值为 __11___.A) 5.0 B) 4.0 C) 3.0 D) 2.012、执⾏READ*,A,B,C语句时键⼊2*3,4,5,则变量A,B,C的值依次是__12___.A)2,3,4 B) 3,4,5 C)6,3,4 D)3,3,413、在过程调⽤中当虚参是数组时,对应的实参应该是同⼀类型的数组或__13___.A)常量B)变量C)数组元素D)函数名14、阅读下列程序INTEGER A(3,3)DATA A/1,2,3,4,5,6,7,8,9/WRITE(*,100)((A(K,J),J=1,K),K=1,3)100 FORMAT(1X,10I2)END程序执⾏后, 输出的结果为__14___.A)□1□4□5□7□8□9 B) □1□2□3□4□5□7C)□1□4□7□2□5□3 D) □1□2□5□3□6□915、阅读下列FORTRAN90程序:READ(*,*)AB=0.0IF(A>1.0)B=B+2.0IF(A>2.0)B=B-1.0WRITE(*,*)BEND在执⾏时,从键盘输⼊5.0↙ (其中↙为回车键)则输出的B值为__15___.A) 2.0 B) -1.0 C) 0.0 D) 1.016、阅读下列程序INTEGER:: A(3,3) A(:,1)=(/1,4,7/) A(:,2)=(/2,5,8/) A(:,3)=(/3,6,9/) WRITE(*,10)(A(I,I),I=1,3) 10 FORMAT(1X,3I2) END 程序执⾏后, 输出的结果为__16___. A) □1□4□7 B) □2□5□8 C) □3□6□9 D) □1□5□917、M 是由INTEGER,DIMENSION(10)::M 语句定义的⼀个⼀维数组,则数组⽚断M(2:8:3)包含的三个元素是__17___.A) M(2),M(5),M(8) B) M(2),M(8),M(3) C) M(2),M(3),M(4 ) D) M(5),M(6),M(7)18、下⾯程序:READ *, KWRITE(*, 100) K 100 FORMAT(I5) END在运⾏时输⼊值12345后,其输出结果为__18___.A) 12345 B) 1234 C)2345 D)01234 19、阅读下列程序 READ*,N SUM=1.0 F=1 K=1 DO WHILE(KA)K K N K 1)1(1111--=∑-+B) K KN K 1)1(111∑-=-+C) KK NK 1)1(111-=∑-+D) KKNK 1)1(11∑=-+20、阅读下列程序CHARACTER(LEN=5) STRREAD(*,100)STRWRITE(*,200)STR100 FORMAT(A9)200 FORMAT(A4)END如果在执⾏时由键盘输⼊FORTRAN90输出的结果为__20___.A)FORTR B)ORTR C)RAN9 D)AN9⼆、阅读下列程序,写出程序的运⾏结果(每题6分,共24分)程序1:PROGRAM EXAM2IMPLICIT NONECHARACTER(LEN=20)::LINEINTEGER :: I, N=5,M=10DO I=1,NLINE=' 'LINE(M+I: M+I)='#'PRINT*,LINEENDDOEND程序2:X=1.0Y=2.0CALL SUB(X,Y,Z,3.0)WRITE(*,100)X,Y,Z100 FORMAT(1X,F3.1)ENDSUBROUTINE SUB(A,B,X,Z)A=A+1B=B+2.0Y=1.0X=Y+ZEND程序3:PROGRAM EXAM3IMPLICIT NONEINTEGER:: I,MAXI,NUM=5INTEGER,DIMENSION(:),ALLOCATABLE:: ARRAY_LISTALLOCATE(ARRAY_LIST(NUM))ARRAY_LIST=(/20,10,30,50,40/)MAXI=1DO I=2,NUMIF(ARRAY_LIST(I)>ARRAY_LIST(MAXI))MAXI=I ENDDOWRITE(*,*)MAXI,ARRAY_LIST(MAXI) DEALLOCATE(ARRAY_LIST) END程序4: TYPE SSREAL X CHARACTER(LEN=5) STR INTEGER N END TYPE TYPE(SS)::A READ*,A WRITE(*,100)A100 FORMAT(1X,F4.2,A6,I3) END 如果在执⾏时由键盘输⼊ 34.5,’****’,23三、阅读下列程序,在空⽩处填写适当的内容(每空2分,共20分) 1.下列FORTRAN 程序的功能是从键盘输⼊⼀个整数,当该整数能被5整除时输出“YES ”,否则输出“NO ”。

FORTRAN程序设计复习题及答案

FORTRAN程序设计复习题及答案

FORTRAN程序设计复习题及答案FORTRAN程序设计复习题一、选择题B (1)下列各FORTRAN表达式中合法的是A) S+T*2P >= B) .NOT. (A*B+C)C) A2+B2/(C+D) <= D) (A+B).NOT.A*B.GT.(.NOT.只跟一个表达式)C (2)数学式(3/5)ex+y的FORTRAN表达式是A) 3*EXP(X+Y)/5 B) 3*E* *(X+Y)/C) (3/5)*EXP(X+Y)D) EXP(X+Y)D (3)下列FORTRAN77表达式中不合法的是A) A.GT.B.EQV.C.GT. D B) A.AND.B.AND.C.AND.DC) .NOT.(X.LE.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) 33 B) 1 C) 5 D) 3A (7)下列FORTRAN77表达式中,合法的是:A) .AND.. B) 10.0C) D)提示:A)相当于 .AND.(.NOT.())D (8)关于编译一个FORTRAN源程序文件,下列说法中错误的是A) 允许编译只有一个主程序而没有子程序的源文件B) 允许编译有多个子程序的源文件C) 允许编译只有一个子程序而没有主程序的源文件D) 允许编译有多个主程序的源文件C (9)在FORTRAN77源程序中,续行标志符必须放在A) 第1列 B) 第1-6列C) 第6列D) 第5列D (10)下列关于"SUBROUTINE MAP(X,Y)"语句行的叙述中,不正确的是A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据提示:子程序无返回值,自定义函数才有)A (11)FORTRAN表达式"2/4+"的值是A) B) 1 C) D) 0提示:2/4默认等于整型,=》D (12)FORTRAN表达式"MOD,"的值是A) B)0.0 C) D)A (13下列FORTRAN运算符中,优先级最低的是A)逻辑运算符.AND. B)算术运算符*C)关系运算符 >= D)算术运算符+A (14下列语句函数的定义中正确的是A)F(X,Y)=(X+Y)/(X*Y)+ B)FUNCTION FUN(I,J,K)=3*I +2*J+*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)B(15下列标识符中,不属于FORTRAN常量的是A).TRUE. B)FALSE C)ˊROOT=ˊ D)ˊˊB(16)"整型变量M能被整型变量K整除"的FORTRAN77表达式是A)MOD(M,K)=0 (MOD(M,K)= =0)B)M-M/K*K .EQ. 0C)MOD(K,M)=0 D)MOD(M,K)=0 == .TRUE.C (17)设有下列数组说明语句: REAL:: A(1:10,-1:10)该数组说明语句定义了数组A 中的元素个数为 A )100 B )110 C )120 D )121 A (18)按隐含规则(默认为整型),语句IP=执行之后,IP 的值是A) 3 B) 3.1416C)D)D (19)下列数据中,不符合 FORTRAN 常量表示法的是A) B)C)‘FOOT’‘=’ D) TRUEC (20)设C 是复型变量,A 与B 为有定义的实型变量,下列赋值语句中合法的是A) C=A+BB) C=,**2) C) C=,3D-2)D) C=(A +B ,A-B )B (21)有矩阵(数组)=22221111B下列DATA 语句中正确的是A) DATA B/4*,4* B) DATA((B(I,J), J=1,4), I=1,2)/4*, 4* C) DATA B/4*,/ D) DATA((B(I,J),I=1,2), J=1,4)/4*, 4* C (21)在使用DO 循环及循环嵌套时,下列叙述中正确的是A) 不仅可以从循环体内转到循环体外,也可以从循环体外转到循环体内 B) 外循环与内循环的DO 循环控制变量可以不同.也可以相同C) 可以从循环体内转到循环体外,但不能从循环体外转到循环体内 D)DO 循环控制变量在循环体内可以再赋值,也可以被引用B (22)在FORTRAN 表达式中,各种运算的顺序是 A) 逻辑运算,关系运算,算术运算B) 算术运算,关系运算,逻辑运算C) 关系运算,逻辑运算,算术运算D) 关系运算,算术运算,逻辑运算D (23)赋值语句X=4**(6/12)=4**0=执行后,实型变量X的值是A) 2 B) 2.0 C) 1 D)D (24)为了保证正确出数据,格式编辑符中w与d的关系应该是A) w>d B) w>d+2 C) w>d+4 D) w>d+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) DO 10 S=,, B) DO 10 K=,,C) DO 10 S=,, D) DO 10 K=,,D (27)下列说法中正确的是A) 块IF结构中的THEN块或ELSE块不能是空块B) 块IF结构中至少有一个ELSE IF 语句或ELSE语句C) 每个ELSE IF 语句要有一个对应的END IF语句D) 一个块 IF 结构中只能有一个END IF语句A (28)下列数组说明语句中正确的是A) INTEGER A(-1:5,0:6)B) REAL M(10:5)C) DOUBLE Y(1:N+1) D) DOUBLE Z(14)B (29)设有一个FORTRAN77子程序如下:SUBROUTINE SS(X,Y,S,T)S=X+Y(S,T为传出,即需要输出的(相当于求圆的面积中的area),只能T=X*Y 为确定的数;X,Y为传入(相当于radius),可为表达式)END调用上述子程序的正确语句是A) CALL SS,W*W,5,,Z)(多了一个)B) CALL SS,,P,Q,R) (多了一个)C) CALL SS(F,G,,D) CALL SS*I,*J,C,D)(I,J可先赋值)A (30)在下列语句函数的定义中正确的是A) F(X,Y)=(X+Y)/(X*Y)+B) FUNCTION(I,J,K)=3*I+2*J+*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 B)27/6 C) 16** D) 4*C(34)语句K=2+**2/2执行后,整型变量 K的值是A) B) 5 C) 6D) 7C (36)适用于字符型 I/O的 FORTRAN77格式编辑将是A) B) C) A D)D (37)给定子例行程序如下SUBROUTINE SUB(K,A)B=K+2(K为整型,B)错误;A不是整型,A)错误;K为传入,可为表达式,A=A+B A为传出,不能为表达式)END下列调用语句中正确的是A) CALL SUB(N,N) B) CALL SUB(X,X)C) CALL SUB(N+2,X) D) CALL SUB(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) DATA A,B,C/2*C (39)对于下列给定的FORTRAN说明和赋初值语句:INTEGER A(2,2)DATA A/3,4,5,6/数组元数A(2,1)的初值为A) 3 B) 5 C) 4 D) 6C(40)下列对公用区的说明语句中错误的是A) COMMON A(5), B B) COMMON/AB/ A(5), BC) COMMON AB/A(5), B/ D) COMMONND. IF>=X<= Y=2*X+D) IF(X >= <= Y=2*X+二、阅读题1、阅读下列FORTRAN程序:program examplereal a,b,ca=b=c=write(*,"(3)") a,b,cend程序运行的结果是:2、阅读下列FORTRAN程序:program exampleinteger :: a=1integer :: b=2real :: cc=a/bwrite(*,"") cend程序运行结果是:3、阅读下列FORTRAN程序:program exampleimplicit noneinteger rain, windspeedwrite(*,*) "Rain:"read(*,*) rainwrite(*,*) "Wind:"read(*,*) windspeedIf ( rain>=500 .or. windspeed >=10 ) then write(*,*) "停止上班上课"elsewrite(*,*) "照常上班上课"end ifstopend运行上述程序时,如果从键盘输入Rain:505<回车>Wind:8<回车>则最后输出的结果为: 停止上班上课4、阅读下列FORTRAN程序:program exampleimplicit nonereal a,b,anscharacter operatorread(*,*) aread(*,"(A1)") operator read(*,*) bselect case(operator)case('+')ans = a+bcase('-')ans = a-bcase('*')ans = a*bcase('/')ans = a/bcase defaultwrite(*,"('Unknown operator ',A1)") operator stop end selectwrite(*,",A1,,'=',") a,operator,b,ansstopend运行上述程序时,如果从键盘输入100<回车><回车>200<回车>则最后输出的结果为: Unknown operator5、阅读下列FORTRAN程序:program exampleimplicit noneinteger iinteger strleninteger, parameter :: key = 2character(len=20) :: stringwrite(*,*) "Encoded string:"read(*,*) stringstrlen = len_trim(string)do i = 1, strlenstring(i:i) = char( ichar(string(i:i)) + key ) end dowrite(*,"('String:',A20)") stringstopendBCDIJK<回车>则最后输出的结果为: DEFKLM6、阅读下列FORTRAN程序:program exampleimplicit noneinteger i,jdo i=1, 2do j=2, 3, 2write(*, "(I2,I2)") i,jend dowrite(*,*) "another circle"end dostopend程序运行的结果是: 1 2another circle2 2another circle(按输出格式,1、2前均有一空格。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称:Fortran语言程序设计;试卷编号:A 卷;考试时间:120分钟
1.Fortran语言中有:整数型逻辑型字符型实数型复数型五种基本数据类型。

2.Fortran程序的书写格式有两种固定格式自由格式。

3. 字符型常数’this”s’的字符长度为6
4. 下列程序运行结果为125。

Program main
Implicit none
Integer::floor=5,i
Do i=1, floor
If(i==3)cycle
If(i==4)cycle
Write(*,*)i
End do
end
5. 下列程序的运行结果为7
6.0,2.0。

Program main
Implicit none
Real :: a, b, m
A=2.0
B=76.0
If(a<b)then
M=a
A=b
B=m
End if
Write(*,*) “a=”,a “b=”,b
end
6. 下列程序的运行结果是10302。

Program test
Implicit none
do i=1,203,2
sum=sum+i
end do
write(*,*) i
end
7.下列程序的运行结果是12000。

Program test
Implicit none
Integer::i
Integer::a(5)=(/ (i, i=1,5) /)
Integer::b(5)=0
Where (a<3)
b=a
End where
Write(*,”(5(i3,1x))”) b
end
8.下列程序的运行结果是30。

Program test
Implicit none
Integer,parameter:: limit=10
Integer counter
Integer:: ans=0
Counter=2
do while(counter<=limit)
ans=ans+counter
counter=counter+2
end do
Wrte(*,*)ans
end
9.下列程序的运行结果是2,3。

Program main
implicit none
integer ::a=1
integer ::b=2
call add ( a )
Call add ( b)
Write(*,*) a , b
Stop
end
Subroutine add (sum)
Implicit none
integer :: sum
end
10.下列程序的运行结果是3。

Program main
implicit none
integer, target :: a=1
integer, pointer :: p
p=>a
p=3
write(*,*)a
end
11.二维数组12
34
在内存中的存储顺序为:1324 。

12.下列程序的运行结果是55555 。

Program test
Implicit none
Integer::i
Integer::a(5)
Forall ( i=1:5 )
A(I)=5
End forall
Write(*,*)a
Stop
end
13.数学表达式13-1/2的值为:13。

14.逻辑表达式((3>5).and.(4>1)).or.(5<8)的值为: ture 。

15. 下列程序的运行结果是(3.000000,6.000000)。

Program test
Implicit none
Complex a,b,c
A=(1.0,2.0)
b= (2.0,4.0)
c=a+b
Write(*,*) c
Stop
end
二、程序说明题(10分,每空2分)
Fortran语句中,“!”后的内容为对整个程序或某行程序的说明,请在下面程序中感叹号后,对相应fortran 语句进行说明。

(10分,每空2分)
Program test
Implicit none !无隐藏变量
integer, parameter :: students=5 !定义一个永久常量STUDENT,令其等于5
integer ::s t u d e n t(s t u d e n t s)!定义一个长度为5的数组
integer :: I
Do i=1, students
write(*,"('number',i2)")I !输出I的数值长度为2
read(*,*) s t u d e n t(i)!输入一个数值赋值到对应的STUDENT(i)中区
end do
end
三、程序完善题(20分,每空2分)
1.编写程序,读入一个学生的考试成绩,然后输出该成绩的等级。

成绩等级规定为:90~100分为A级,80~89分为B级,70~79分为C级,60~69分为D级,60分以下为E级。

若输入负分或大于100分的成绩,则程序输出一个“?”号。

program main
implicit none
integer::score
character grade
write(*,*)” score:”
read(*,*) score
if(score>100)then
grade=”?”
elseif( score>=90 )then
grade=”A”
elseif( score>=80 )then
grade=”B”
elseif( score>=70 )then
grade=”C”
elseif(score>=60)then
grade=”D”
elseif(score>=0)then
grade=”E”
ELSE
grade=”?”
endif
write(*,*)”成绩等级为:”,grade
end
2.编写程序,读入一年级5个班同学的数学成绩,每个班有10名学生。

program main
implicit none
integer,parameter::classes=5
integer,parameter::students=10
integer::student( students , classes )
integer::s
integer::c
do c=1, classes
do s=1, students
write(*,*)"number",s,"classes",c
read(*,*) student(students,classes)
end do
end do
end
四、程序编写题(40分)
1.计算1+2+3+4+ (100)
Program test
Implicit none
Integer::sum,i
sum=0.0
do i=1,100,1
sum=sum+i
end do
write(*,*)sum
stop
end
2.编写程序将100个整数按照从小到大的顺序排列(备注:用子程序实现排序功能,然后通过主程序来调用)。

相关文档
最新文档