A.虚参不可以是常数
B.数组元素可以作为实参
C.数组元素可以作为虚参
D.可以不含形参
【答案】C
【解析】形参不能是常数、表达式或数组元素名,但数组元素可以作为实参。子例行子程序可以不含形参,即为无参子程序
2.下列程序单位中,()的END语句具备使整个程序停止运行的作用。
A.函数子程序B.子例行子程序C.数据块子程序D.主程序
【答案】D
【解析】所有的程序单位都以END语句结束。在主程序中,结束语句标志着主程序单位的结東,同时还具备使整个程序停止运行的作用。在子程序中,结束语句标志着子程序的结束,同时还具备使程序流程返回调用程序的作用。
3.与不等式2
A.2.0.LT.X.LT3.0
B.2.0.GT.X.LT3.0
C. 2.0. LT. X AND3.0.GT. X
D. X GT. 2.0.OR.X. LT 3.0
【答案】C
【解析】关系表达式中一个运算量的两侧不能同时都出现关系运算符,因此表达式
4.0.LTX.LT.3.0和2.0.GT.X.LT3.0错误。由于22并且X<3,因
此,应选用表示“并列关系”的逻辑运算符AND.,而不能选用表示“或关系”的逻辑运
算符.OR.。
5.某程序将计算结果输出到一个有格式顺序文件中,文件名为AA.DAT,设备通道号为3。则打开这个文件应用的语句是()。
A. OPEN(UNIT=3, FILE =AA. DAT, STATUS =NEW)
B. OPEN( UNIT=3, FILE= AA. DAT, STATUS= OLD)
C. OPEN(3, FILE=AA. DAT, STATUS='NEW')
D. OPEN(3, FILE='AA DAT, STATUS=OLD)
【答案】C
【解析】输出计算结果,即写文件操作,所有 STATUS的值应为NEW,并要加引号STATUS=OID表明是一个已存在的旧文件,打开后可顺序读取
6.下列关于函数子程序的说法正确的是()。
A.能通过虚实结合传递一个数据
B.只能返回一个函数值及一个变量值
C.只能通过函数名返回一个函数值
D.不仅能通过函数名返回一个函数值,还可以通过虚实结合双向传递数据
【答案】D
【解析】语句函数定义中的形参不可以是下标变量、常数等,只能是简单变量。因此,函数子程序不仅能通过函数名返回函数值,也可以通过虚实结合双向传递数据。
6.下列叙述正确的是()
A. Fortran程序中各类语句的位置是任意的
B. Fortran程序中的所有可执行语句在程序执行时都会产生某种机器操作
C. Fortran程序中的每一行上都可含有标号
D. Fortran程序中的任何一个语句在程序执行时都会产生某种机器操作
【答案】B
【解析】 Fortran程序中各类语句都有一定的位置,只有可执行语句会产生某种机器操作而非执行语句是不会产生某种机器操作的
7.下列各表达式中值为0.1的是()。211
A.MoD(3.6,0.1)
B.1/5/20
C.MoD(3,2)/10
D.10.0/4/25
【答案】D
【解析】MOD(X,Y)为求余函数,当它的参数为实型时,其值为实数,参数为整型数时,其值为整数。算术表达式中各运算量的类型不一致时,按计算顺序,其类型由低级向高级转换。因此,MOD(3.6,0.1)=0.0,1/5/20=0,MoD(3,2)/10=1/10=010.0/425=2.5/25=0.1
8下列表示数组的方法,错误的一组是()。
A.A(-2:3),B(5,8),CA(2,5,3)
B.A(4),B(3,5),CBAD(8,9,10)
C.B(2,3),A(-8.3,-9:6),ACAD(5)
D.F(-2),IA(-9:3),FC(-2:6,3:9)
【答案】C
【解析】数组的下标必须用逗号隔开,下标是整型常量、变量或表达式,可正、可负也可以为0,但必须在引用的数组维数之内。C项A(-8.3,-9:6)数组片段,其数组下标是小数,不符合要求。
9.A、B、C是实型变量,下面表达中的运算符符合 Fortran规定的是()。
(A +C)AND B
B. (A+B). EQ C LE (A-B)
C. A. LE. B. AND. C. GE.X
D (A+B)AND(A-B)
【答案】C
【解析】A项中出现了非法字符“<”;B项中变量C两侧同时出现关系运算符,不符合规定;D项中逻辑运算符两侧缺少小数点。
9.若有语句 INTEGERA(-2:2,0:3,1:2),按照在内存中的存储次序,数组A中的第9号元素为()。A.A(-1,0,2)B.A(1,1,1)C.A(2,1,2)D.A(0,1,1)
【答案】B
【解析】多维数组的存储过程是第一个下标变化最快,末一个下标变化最慢。本题的第1个元素到第9个元素依次为:A(-2,0,1),A(-1,0,1),A(0,0,1),A(1,0,1),A(2,0,1),A(-2,1,1),A(-1,1,1),A(0,1,1),A(1,1,1)。
10.赋值语句X=4**(6/12)执行后,实型变量X的值是()。
B.2.0
D.1.0
【答案】D
【解析】表达式4**(6/12)先计算括号内的6/12,两个整型数相除仍得整型数,因此6/12=0,再进行乘方运算4**0,结果为1。又因为变量X为实数,所以其值为1.0
11.“两整数M与N不能同时小于零”的 Fortran表达式是()。
A. M. GE. O AND. N GE0
B. (M. GE 0. AND N. LT 0) OR (M. LT 0 AND N GE. O)
C.(M. GE 0. AND N LE 0)OR.(M. LE 0 AND N GE. o)
D. M. GE. O. OR. N. GE. O
【答案】B
【解析】A项表示M大于等于0并且N大于等于0;B项表示M大于等于0并且N小于0或者M小于0并且N大于等于0;C项表示M大于等于0并且N小于等于0或者M小于等于0并且N大于等于0;D项表示M大于等于0或者N大于等于0
11.下列表达式中值为“真”的是()。
A.wHAT’GT.WHO
B.'WHAT NE. what
C.what EQ. wh at
D.WHAT GT. WHEN
【答案】B
【解析】字符的大小写的值是不同的,小写字符的值大于大写字符的值,比较字符串的大小时,是从第一个字符开始逐个进行比较的,当某个位置的字符不相等时,就完成了子符串的比较。注意C项中字符串'what’含有空格
12.阅读下面的 Fortran程序Do10I=1,10M=M+I 10 CONTINUEWRITE(*,*)M运行后,输出的结果是()。
B.55.0
C.不确定
D.0
【答案】C
【解析】变量在引用之前必须先被赋值,否则引用它的表达式的值将不能确定