结构工程师

导航

2019一级注册结构工程师《基础考试》计算机应用基础3

来源 :中华考试网 2019-04-20

  1.下列关于续行标志的叙述正确的是()。

  A. Fortran字符集中的任何一个字符,只要出现在第6列,该行就是续行

  B. Fortran字符集中的非零非空字符,只要出现在第6列,该行就是续行

  D.第6列不允许是8

  【答案】B

  【解析】当写入一个非零非空字符时,表示此行是上一行的续行。当一个语句很长,在

  行中写不下时,允许有续行,续行必须在第6列标志出来

  2.下面的程序段中,循环执行的次数为()。

  Do10,i=-2,-11,-3

  10 CONTINUE

  B.5

  C.6

  【答案】D

  【解析】按照循环次数的计算公式 CYCLENUM=INT((e2-e1+e3)/e3)计算循环体执行

  的次数为(-11-(-2)+(-3))/(-3)=4次

  3.下面程序执行后,输出的K值为()。

  PROGRAM ffff

  Do10K=1,15,4

  IF(MOD(K, 10). EQ 0)GOTO 15

  10 WRITE(*, *)K

  END

  A.159

  B.1591317C.15913

  D.10

  【答案】C

  【解析】程序的循环终端语句为输出语句,输出循环控制变量的当前值。循环体内的I语句由于K值不可能等于10,对循环过程没有实质性的影响。当循环执行到K=17时终止,但输出的K值为13。

  4下面转移语句中不合法的是()。

  A. GOTO 100

  B.I=3

  GoTO(10,100,1000)I

  C. REAL I

  I=3.0

  GOTo(1, 2, 3)I

  D. ASSIGN 100 TO I

  GOTO I,(10,100,200

  【答案】C

  【解析】计算转移语句与赋值转移语句中的I必须是整型变量,而选项C中的I是实型变量,故选项C不合法。

  5.下列程序的错误是()。

  Do10m=1.10

  n=m *k

  WRITE(*,幸)n

  10 CONTINUE

  CONTINUE

  A.没有共用一个循环终端语句

  B.内外循环控制变量不同

  C.遗漏循环参数c3

  D.内循环没有完全包含在外循环中

  【答案】D

  【解析】在DO循环中,内外循环可以共用一个循环终端语句,但不是必须的;在DO循环中,内外循环控制变量不能相同;在DO循环中,步长e3不写时默认为1,故e3可以省略;根据Do循环使用规则,内外循环不能交叉,程序中却出现了此错误,应将号码10与20对换

  6.有如下一段程序

  IMPLICIT REAL(A-C, I -M)

  INTEGER 11, IM

  REAL M5, P, K

  下面几组变量中全部为整型变量的是()。

  B.,M3,N,A4

  C. KI, P, Q

  D. B1. MI. A6

  【答案】B

  【解析】由于类型说明语句优先于 IMPLICIT说明语句, IMPLICIT'说明语句优先于“I-N规则”,由此可得:凡是以字母A、B和C开头(除A4被明确说明为整型外)的变量都为实数;凡是以字母I、J、K、L和M开头(除Ⅱl、M和M3被明确说明为整型外)的变量都为实数;其他未加以说明的变量按“I-N规则”确定类型。

  7.下列程序运行后,输出的结果是()

  DIMENSION A(3),B(3, 2)

  DATA((B(I,J)I=1,3),J=1,2)/1,2,3,4,5,6

  Do10K=1,3

  WRITE( * 100)A

  100 FORHAT(IX, 611)

  B.246

  C.135

  D.456

  【答案】D

  【解析】本程序中通过DATA语句对数组B赋值的结果为矩阵25,Do循环语句的功是将数组B的第2列的元素的值依次赋值给数组A。因此,A(1)=4、A(2)=5、A(3)=6,所以格式输出数组A后输出的结果为45678.阅读下列 Fortran程序

  020I=1.10.2

  N=N+1

  D10J=10,1

  10N=N+1

  20 CONTINUE

  WRITE(*,*)N

  END

  运行上述程序后,输出的N值为()。

  A.5

  C

  【答案】A

  【解析】本程序的主要考点为DO的循环次数的确定。在此程序中,有个嵌套的DO循环,其中外层DO循环的循环次数为IT((10-1+2)/2)=5,而内层DO循环的循环次数为INT((1-10+1)/1)=-8,因此内层DO循环的循环次数为0,语句N=N+I共被重复执行了5次,所以最终变量N的值为5。

  9.下列程序执行后的输出结果是()。

  Do10I=1.2

  Do10J=1,2

  10K=K*

  WRITE(*,*)K

  END

  C.0.5

  【答案】B

  【解析】I-N隐含规则:在一个程序单位中,若无其他说明,则以字母1,J,K,L,M和N开头的变量名隐含定义为整型;其他字母打头的为实型。进入DO循环,当1=1,J=1时,K=K*DJ=1×1/1=1,当1=1,J=2时,K=K*DJ=1×1/2=0(两个整型数进行运算,结果仍是整型,所以1/2=0),零乘以任何数都为零,所以经过后续的两次循环运算后K仍为零,故整型变量K=0。

  10.下列程序执行后的输出结果是()

  Do10I=1,6,2

  D010J=1,6,3

  IF (K. LT I*K=I*J

  10 CONTINUE

  WRITE(*,*)K

  【答案】C

  【解析】在 Fortran语言中,有6个关系运算符,分别是.LT.(小于),LE(小于或等

  于),EQ.(等于),GE.(大于或等于),CT.(大于)和.NE.(不等于),算术关系表

  达式的结果是一个逻辑值。本题中,I的最大值为5,在第二个DO循环中,J的初值是

  21

  1,所以J的最大值也为5。因此,K=5×5=25。

  81.给定如下子程序:

  SUBROUTINE TTT(M, A)

  B=M*3

  A=A*B

  RETURN

  END

  11.下面的调用语句中,正确的是()。

  A. CALL TTT(M, M)

  B. CALL TTT(Y, Y)

  C. Y=TTT(M, A)

  D. CALL TTT(M, A)

  【答案】D

  【解析】子例行程序只能被单独的CALL语句调用,不允许出现在表达式中,因此C项错误;在对子程序进行调用时,对应位置的实参必须和虚参类型一致,此子例行程序的两个虚参分别为整型和实型,因此在调用它的语句中,对应的实参也必须是第一个为整型,第二个为实型,因此只有D项正确。

  12.当R=212636.4时,执行下面的程序,输出的结果为()

  WRITE (* 200)R

  200 FORMAT(IX, F8.2

  A.212636.4

  B.*******

  C.212636.40

  D.12636.40

  【答案】B

  【解析】在格式输出数据时,如果设定的字段宽度小于输出数据应该占用的字段宽度则会输出一串星号,本程序中按设定的格式F8.2,则变量R在输出时至少要占用9列,因此,本程序会输出8个星号,即

  13.阅读下列 Fortran程序:

  DO10K=50,0,-2

  Do10L=-100,100,1

  WRITE(*, *)N

  END

  14.程序运行结果是()。

  B.5026

  C.5200

  D.5226

  【答案】D

  【解析】在本程序中有一个两层嵌套的DO循环,其中外层DO循环的执行次数为INT((0-50+(-2))/(-2))=26次,内层的DO循环每次执行时,其循环次数为INT((100-(-100)+1)/1)=201次。因此循环体N=N+1共会被执行26×201=526次,所以变量N的最终的结果为5226。

  14.对任意输入的X,下列程序执行后K的值为()

  READC*,*)X

  WRITE(*,*)K

  END

  A.0

  B.在区间[-1,1]中的一个值

  C.在区间(-1,1)中的一个值

  D.K=1或K=0或K=-1

  【答案】A

  【解析】对任意实型变量X,内部函数SIN(x)的值一定在区间(-1,1)中(注意是开区间,即无法得到-1或1,因为计算机实际操作中不可能输入0.5m)。所以整型变量K的值一定为0

分享到

相关资讯