文档库 最新最全的文档下载
当前位置:文档库 › FORTRAN程序设计复习题及答案

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.D

C) .NOT.(X.LE.D) A.LT.B.LT.C.LT.D

D(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) 3

A (7)下列FORTRAN77表达式中,合法的是:

A) .AND.. B) 10.0

C) 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)下列关于"SUBROUTIN

E 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. 0

C )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.1416 C) D)

D (19)下列数据中,不符合 FORTRAN 常量表示法的是

A) B) C)‘FOOT’‘=’ D) TRUE

C (20)设C 是复型变量,A 与B 为有定义的实型变量,下列赋值语句中合法的是

A) C=A+B B) 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+6

C (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+*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 (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) 7

C (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) 6

C(40)下列对公用区的说明语句中错误的是

A) COMMON A(5), B B) COMMON/AB/ A(5), B

C) COMMON AB/A(5), B/ D) COMMONND. IF>=X<= Y=2*X+

D) IF(X >= <= Y=2*X+

二、阅读题

1、阅读下列FORTRAN程序:

program example

real a,b,c

a=

b=

c=

write(*,"(3)") a,b,c

end

程序运行的结果是:

2、阅读下列FORTRAN程序:

program example

integer :: a=1

integer :: b=2

real :: c

c=a/b

write(*,"") c

end

程序运行结果是:

3、阅读下列FORTRAN程序:

program example

implicit none

integer rain, windspeed

write(*,*) "Rain:"

read(*,*) rain

write(*,*) "Wind:"

read(*,*) windspeed

If ( rain>=500 .or. windspeed >=10 ) then write(*,*) "停止上班上课"

else

write(*,*) "照常上班上课"

end if

stop

end

运行上述程序时,如果从键盘输入

Rain:

505<回车>

Wind:

8<回车>

则最后输出的结果为: 停止上班上课

4、阅读下列FORTRAN程序:

program example

implicit none

real a,b,ans

character operator

read(*,*) a

read(*,"(A1)") operator

read(*,*) b

select case(operator)

case('+')

ans = a+b

case('-')

ans = a-b

case('*')

ans = a*b

case('/')

ans = a/b

case default

write(*,"('Unknown operator ',A1)") operator s top

end select

write(*,",A1,,'=',") a,operator,b,ans

stop

end

运行上述程序时,如果从键盘输入

100<回车>

<回车>

200<回车>

则最后输出的结果为: Unknown operator

5、阅读下列FORTRAN程序:

program example

implicit none

integer i

integer strlen

integer, parameter :: key = 2

character(len=20) :: string

write(*,*) "Encoded string:"

read(*,*) string

strlen = len_trim(string)

do i = 1, strlen

string(i:i) = char( ichar(string(i:i)) + key )

end do

write(*,"('String:',A20)") string

stop

end

BCDIJK<回车>

则最后输出的结果为: DEFKLM

6、阅读下列FORTRAN程序:

program example

implicit none

integer i,j

do i=1, 2

do j=2, 3, 2

write(*, "(I2,I2)") i,j

e nd do

write(*,*) "another circle"

end do

stop

end

程序运行的结果是: 1 2

another circle

2 2

another circle

(按输出格式,1、2前均有一空格。若题目无特殊说明,不需表达出;若有说明,则空格用“□”表示)

7、阅读下列FORTRAN程序:

program example

implicit none

integer :: dest = 6

integer floor

do floor=1, dest

if ( floor==2 .or. floor==4 ) cycle

w rite(*,*) floor

end do

stop

end

程序运行的结果是: 1

3

5

6

8、阅读下列FORTRAN77程序:

program example

implicit none

integer, parameter :: limit=10

integer counter

integer :: ans = 0

counter = 1

do while( counter <= limit )

ans = ans + counter

counter = counter + 2

end do

write(*,*) ans

stop

end

程序运行的结果是: 25

9、阅读下列FORTRAN程序:

program example

implicit none

integer, parameter :: students = 5

integer :: student(students) = (/ 80, 90, 85, 75, 95 /) integer i

do while( .true. )

write(*,*) "Query:"

read(*,*) i

if ( i<=0 .or. i>students ) exit

write(*,*) student(i)

end do

stop

end

运行上述程序时,如果从键盘输入

3<回车>

则最后输出的结果为: 85

10、阅读下列FORTRAN程序:

program example

implicit none

integer, parameter :: L=2, M=3, N=2

real :: A(L,M) = (/ 1,2,3,4,5,6/)

real :: B(M,N) = (/ 1,2,3,4,5,6/)

real :: C(L,N)

integer :: i,j,k

do i=1,L

do j=1,N

C(i,j) =

do k=1,M

C(i,j) = C(i,j)+A(i,k)*B(k,j)

end do

e nd do

end do

do i=1,L

write(*,*) C(i,:)

end do

stop

end

程序运行的结果是: 22 49

28 64

11、阅读下列FORTRAN程序:

program example

implicit none

integer :: i,j

loop1: do i=1,3

loop2: do j=1,3

if ( i==3 ) exit loop1

if ( j==2 ) cycle loop2

write(*, "('(',i2,',',i2,')')" ) i, j end do loop2

end do loop1

stop

end

程序运行的结果是: (1,1)

(1,3)

(2,1) (2,3)

12、阅读下列FORTRAN程序:

program example

implicit none

real :: a=

call ShowInteger(a)

call ShowReal(a)

stop

end

subroutine ShowInteger(num)

implicit none

integer :: num

write(*,*) num

return

end

subroutine ShowReal(num)

implicit none

real :: num

write(*,*) num

return

end

程序运行的结果是: 随机数

13、阅读下列FORTRAN程序:

program example

implicit none

integer, parameter :: row = 2

integer, parameter :: col = 2

integer :: m(row, col)

integer r

integer c

data ((m(r,c), r=1, 2), c=1,2) /1,2,3,4/

write(*,"(I3,I3,/,I3,I3)") (( m(r,c), c=1,2 ), r=1,2) stop

end

程序运行的结果是: 1 3

2 4

14、阅读下列FORTRAN程序:

program ex0805

implicit none

integer :: a = 1

integer :: b = 2

write(*,*) a,b

call add(a)

call add(b)

write(*,*) a,b

stop

end

subroutine add(num)

implicit none

integer :: num

num = num+1

return

end

程序运行的结果是: 1 2

2 3

15、阅读下列FORTRAN程序:

program example

implicit none

integer, parameter :: size=10

integer :: a(size) = (/ 5,3,6,4,8,7,1,9,2,10 /)

integer :: i,j

integer :: t

do i=1, size-1

do j=i+1, size

if ( a(i) > a(j) ) then

t=a(i)

a(i)=a(j)

a(j)=t

end if

e nd do

end do

write(*,"(10I4)") a

stop

end

程序运行的结果是: 1 2 3 4 5 6 7 8 9 10

16、阅读下列FORTRAN程序:

program example

implicit none

real :: a=1

real :: b=2

real, external :: add

write(*,*) add(a,b)

stop

end

function add(a,b)

implicit none

real :: a,b

real :: add

add = a+b

return

end

程序运行的结果是: (类似的题目,写亦可,但不可写3)

17、阅读下列FORTRAN程序:

program example

implicit none

integer :: a,b

common a,b

a=1

b=2

call ShowCommon()

write(*,*) a, b

end

subroutine ShowCommon()

implicit none

integer :: num1, num2

common num1, num2

write(*,*) num1, num2

return

end

程序运行的结果是: 1 2

1 2

18、阅读下列FORTRAN程序:

module global

implicit none

real a,b

common a,b

end module

program example

use global

implicit none

a=

b=

call sub()

end program

subroutine sub()

use global

implicit none

write(*,*) a,b

return

end subroutine

程序运行的结果是:

19、阅读下列FORTRAN程序:

INTEGER A(3,3)

DO K=1,3

DO L=1,3

A(K,L)=K*10+L

END DO

END DO

WRITE(*,'(1X,3I3)') A

END

程序运行的结果是: 11 21 31

12 22 32

13 23 33

20、阅读下列FORTRAN程序:

INTEGER F

F(X,Y)=X+Y

A=

B=

B=+F(A,B)

WRITE(*,20) B

20 FORMAT(1X,

END

程序运行的结果是:

21、阅读下列FORTRAN程序:

X=0

DO L=10, 5, 15

X=X+

END DO

END

程序运行时执行循环体的次数是: 0

22、阅读下列FORTRAN77程序:

DIMENSION M(4,4)

DATA M/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/

DO I=1,4

WRITE (*,100)(M(I,J),J=1,I)

END DO

100 FORMAT(1X,4I2)

END

程序运行的结果是: 1

2 6

3 7 1

4 8 2 6

23、阅读下列FORTRAN程序:

CHARACTER(LEN=10) A

CHARACTER(LEN=6) B

DO I=1,10

A(I:I)=' '

END DO

A(1:5)='ABCDE'

B='FGHIJK'

A(4:9)=B

WRITE(*,100) A

100 FORMAT(1X,A)

END

程序运行结果是: ABCFGHIJK

24、阅读下列FORTRAN程序:

X=

Y=

CALL SUB(X,Y,Z,

WRITE(*,'(1X,3F')X,Y,Z

END

SUBROUTINE SUB(A,B,X,Z)

A=A+1

B=B+

Y=

X=X+Y

END

程序运行结果是:

25、阅读下列FORTRAN程序: INTEGER N(20)

DO M=1,20

N(M)=0

END DO

K=5

DO M=1,K

DO J=1,K

N(J)=N(M)+1

END DO

END DO

WRITE(*,*)N(K)

END

程序运行的结果是: 9

26、阅读下列FORTRAN程序: COMMON /COM/M(5),N(4)

CALL FIB

WRITE(*,'(1X,4I3)') N

END

SUBROUTINE FIB

COMMON /COM/J(5),K(4)

DO I=1,4

K(I)=J(I+1)-J(I)

END DO

END

BLOCK DATA

COMMON /COM/K(5),L(4)

DATA K/8,7,10,4,13/

END

程序运行的结果是: -1 3 -6 9

27、阅读下列FORTRAN程序:

N=0

DO K=30,0,-2

DO L=-10,10,1

N=N+1

END DO

END DO

WRITE(*,*) N

END

程序运行结果是:: 336

28、阅读下列FORTRAN程序:

READ(*,*) N

X=

IF X=2*X

IF X=2*X+

IF X=3*

WRITE(*,*) X

END

运行上述程序时,如果从键盘输入

15<回车>

则最后输出的X值为 :

29、阅读下列FORTRAN程序:

DIMENSION M(3,4)

DATA M/4*2,4*1,4*-1/

N=0

DO K=1 ,4

N=N+M(1,K)

END DO

WRITE(*,*) N

END

运行上述程序后,输出的N的值为 4

30、阅读下列FORTRAN77程序:READ(*,*) Y

IF THEN

Z=0 .0

ELSE IF ((Y < .AND.(Y /= ) THEN

Z=1/(Y+2)

ELSE IF (Y <= THEN

Z=1/Y

ELSE

Z=

END IF

WRITE (*,*)Z

END

在执行上述程序时,由键盘输入

最后输出的Z值为(写即可,不同的编译器,输出的“0”的个数可能会不同)

三、编程题

教科书中:

第四章—第九章的习题。

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.D C) .NOT.(X.LE.D) A.LT.B.LT.C.LT.D D(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) 3 A (7)下列FORTRAN77表达式中,合法的是: A) .AND.. B) 10.0 C) 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)下列关于"SUBROUTIN E 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)算术运算符*

大学FORTRAN考试试题样题

《高级语言程序设计(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.5D)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) 程序中使用的数组必须进行说明

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

Fortran复习题讲解

FORTRAN程序设计复习题 选择题 B (1)下列各FORTRAN表达式中合法的是 A) S+T*2P >= 0.0 B) .NOT. (A*B+C) C) A2+B2/(C+D) <= 0.0 D) (A+B).NOT.A*B.GT.0.0(.NOT.只跟一个表达式) C (2)数学式(3/5)ex+y的FORTRAN表达式是 A) 3*EXP(X+Y)/5 B) 3*E* *(X+Y)/5.0 C) (3/5)*EXP(X+Y) D) (3.0/5.0)EXP(X+Y) D (3)下列FORTRAN77表达式中不合法的是 A) A.GT.B.EQV.C.GT.D B) A.AND.B.AND.C.AND.D C) .NOT.(X.LE.0.0) D) A.LT.B.LT.C.LT.D D (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) 3 A (7)下列FORTRAN77 表达式中,合法的是:A)相当于0.0.LE.X .AND.(.NOT.(X.GE.10.0 ))A) 0.0.LE.X .AND..NOT.X.GE.10.0 B) 0.0.GE.X.LT.10.0 C) 0.0.LE.X.GE.10. D) 10.0.LE.X.OR..AND.X.GT.0.0 D (8)关于编译一个FORTRAN源程序文件,下列说法中错误的是 A) 允许编译只有一个主程序而没有子程序的源文件 B) 允许编译有多个子程序的源文件 C) 允许编译只有一个子程序而没有主程序的源文件 D) 允许编译有多个主程序的源文件 C (9)在FORTRAN77源程序中,续行标志符必须放在 A) 第1列 B) 第1-6列 C) 第6列 D) 第5列 D (10)下列关于"SUBROUTIN E MAP(X,Y)"语句行的叙述中,不正确的是 A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参 D) 子程序执行后,MAP将返回整型数据(子程序无返回值,自定义函数才有) A (11)FORTRAN表达式"2/4+0.5"的值是 A) 0.5 B) 1 C) 1.0 D) 0 D (12)FORTRAN表达式"MOD(4.9,1.3)"的值是 A)1.3 B)0.0 C)4.9 D)1.0 A (13下列FORTRAN运算符中,优先级最低的是 A)逻辑运算符.AND. B)算术运算符* C)关系运算符 >= D)算术运算符+ A (14下列语句函数的定义中正确的是 A)F(X,Y)=(X+Y)/(X*Y)+7.0 B)FUNCTION FUN(I,J,K)=3*I+2*J+0.5*K

程序设计大赛试题及答案

试题 1、数学黑洞(程序文件名maths.c/maths.cpp) 【问题描述】 任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。 【输入】 一行,一个4位正整数n(1000< n<9999) 【输出】 掉进黑洞的步数 输入 1234 输出 3 2、进制转换(程序文件名conver.c/conver.cpp) 【问题描述】 任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。 【输入】 一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。 【输出】 转换后的数 【输入输出样例】 输入 255 8 输出 377 3、分数线划定(程序文件名score.c/score.cpp) 【问题描述】 公务员选拔工作正在 A 市如火如荼的进行。为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 【输入】 第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。输入数据保证m*150%向下取整后小于等于n。 第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。 【输出】 第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。 从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 【输入输出样例】 输入 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88

大学FORTRAN考试试题1

1.下列叙述中,正确的是(D ) A.语句标号的大小影响程度执行的顺序 B.程序完全按语句出现的先后顺序执行 C.不同程序单位不能有相同的语句标号 D.同一程序单位不能有相同的语句标号 2.下列标识符中,不能作为合法的FORTRAN90标识符的是( C) A.A3_B3 B.VOID C._123 D.IF 3.下列哪一个为正确的常量( 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. 64 B.12 C.256 D16. 5.圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是( D ) A. 3.14159*(D/2)*(D/2) B. 3.14159*(D*D/4) C. 3.14159*(D/2)**2 D. 3.14159*D*D/4 6.下列运算符中,运算优先级最高的是(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)/10 8.下列是完整的FORTRAN程序,编译时出错的语句是( C ) A.PROGRAM PRINT B.PARAMETER (PI=3.1415926) C.PI=PI+1 D.WRITE(*,*)SIN(PI+0.5) END 9.变量的类型定义中,优先级由高到低的顺序为( A ) A.类型说明语句、IMPLICIT 说明语句、隐含约定 B.隐含约定、IMPLICIT 说明语句、类型说明语句 C.IMPLICIT 说明语句、类型说明语句、隐含约定 D.隐含约定、类型说明语句、IMPLICIT 说明语句 10.“两整数M与N不能同时小于零”的FORTRAN表达式( D ) A.M>=0.AND.N>=0 B.(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.0

Fortran95程序设计课后习题答案(word版方便)

第四章 1.program main implicit none write(*,*) "Have a good time." write(*,*) "That's not bad." write(*,*) '"Mary" isn''t my name.' end program 2.program main real, parameter :: PI=3 implicit none.14159 real radius write(*,*) "请输入半径长" read(*,*) radius write(*,"(' 面积='f8. 3)") radius*radius*PI end program 3.program main implicit none real grades write(*,*) "请输入成绩" read(*,*) grades write(*,"(' 调整后成绩为'f8.3)") SQRT(grades)*10.0 end program 4.integer a,b real ra,rb a=2 b=3 ra=2.0 rb=3.0 write(*,*) b/a ! 输出1, 因为使用整数计算, 小数部分会无条件舍去write(*,*) rb/ra ! 输出1.5 5.p rogram main implicit none type distance real meter, inch, cm end type type(distance) :: d write(*,*) "请输入长度:" read(*,*) d%meter d%cm = d%meter*100 d%inch = d%cm/2.54 write(*,"(f8.3'米='f8.3'厘米='f8.3'英寸')") d%meter, d%cm, d%inch end program 第五章 1.program main implicit none integer money real tax write(*,*) "请输入月收入" read(*,*) money if ( money<1000 ) then tax = 0.03 else if ( money<5000) then tax = 0.1 else tax = 0.15 end if write(*,"(' 税金为'I8)") nint(money*tax) end program 2.program main implicit none integer day character(len=20) :: tv write(*,*) "请输入星期几" read(*,*) day select case(day) case(1,4) tv = "新闻" case(2,5) tv = "电视剧" case(3,6) tv = "卡通" case(7) tv = "电影" case default write(*,*) "错误的输入" stop end select write(*,*) tv end program 3.program main implicit none integer age, money real tax write(*,*) "请输入年龄" read(*,*) age write(*,*) "请输入月收入" read(*,*) money if ( age<50 ) then if ( money<1000 ) then tax = 0.03 else if ( money<5000 )then tax = 0.10 else tax = 0.15 end if else if ( money<1000 ) then tax = 0.5 else if ( money<5000 )then tax = 0.7 else tax = 0.10 end if end if write(*,"(' 税金为'I8)") nint(money*tax) end program 4.program main implicit none integer year, days logical mod_4, mod_100, mod_400 write(*,*) "请输入年份" read(*,*) year mod_4 = ( MOD(year,4) == 0 ) mod_100 = ( MOD(year,100) == 0 ) mod_400 = ( MOD(year,400) == 0 ) if ( (mod_4 .NEQV. mod_100) .or. mod_400 ) then days = 366 else days = 365 end if write(*,"('这一年有'I3'天')") days stop end program 第六章 1.program main implicit none integer i do i=1,5 write(*,*) "Fortran" end do stop end program 2.program main implicit none integer i,sum sum = 0 do i=1,99,2 sum = sum+i end do write(*,*) sum stop end program 3.program main implicit none integer, parameter :: answer = 45 integer, parameter :: max = 5 integer weight, i do i=1,max write(*,*) "请输入体重" read(*,*) weight if ( weight==answer ) exit end do if ( i<=max ) then write(*,*) "猜对了" else write(*,*) "猜错了" end if stop end program 4.program main implicit none integer, parameter :: max=10 integer i real item real ans ans = 1.0 item = 1.0 do i=2,max item = item/real(i) ans = ans+item

C++程序设计试题及答案

C++程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 ++源程序文件扩展名为( A ) A..cpp B..h C..1ib D..obj 2.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( B ) 3.包含自定义头文件的预处理指令是( D ) A.#define<> B.#include C.#define D.#include"" 4.用于标识十六进制前缀或后缀是( D ) A.元 B.后缀L或e C.前缀零 D.前缀0x 5.设存在整型变量int x,则下列句与其它三项含义不同的是( A ) * p=&x; & p=x; & p=x; &p=x; 6.在定义类成员时,为产生封装性,则需使用哪个关键字( D ) 7.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( C ) ,10 ,15

,10 ,15 8.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C) A.前部 B.中部 C.后部 D.两端 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B ) m=min(min(15,26),min(15,47)); m=min(15,26,47); m=min(15,min(47,26)); m =min(min(47,26),16); 10.下列函数不能和函数void print(char)构成重载的是(C ) print(int); print(char,char); print(char); print(int,int); 11.在下列成对的表达式中,运算结果类型相同的一对是( D ) /2和/ /和7/2 0和/2 l2.内联函数的特点是( D ) A.减少代码量,加快访问速度 B.减少代码量,减缓访问速度 C.增加代码量,减缓访问速度 D.增加代码量,加快访问速度

FORTRAN77试题B

贵州大学2006-2007学年第一学期考试试卷 B 高级语言程序设计 注意事项: 1. 请考生按要求在试卷装订线内填写姓名、学号和年级专业。 2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。 3. 不要在试卷上乱写乱画,不要在装订线内填写无关的内容。 4. 满分100分,考试时间为120分钟。 一、选择题(共50分,每小题2分,各题中A)、B)、C)、D) 四个选项中,只有一个选项是正确的,请将正确的编号填在括号内) 1. 使用超大规模集成电路制造的计算机应该归属于() A) 第一代B) 第二代C) 第三代D) 第四代 2. 下列FORTRAN77运算符中,优先级最低的是()A)逻辑运算符.AND. B)算术运算符* C)关系运算符.GE. D)算术运算符+ 3.下列标识符中,不属于FORTRAN77常量的是()A).TRUE. B)FALSE C)ˊROOT=ˊ D)ˊ123.0ˊ 4.下列叙述中错误的是()A)PROGRAM语句可以是FORTRAN77主程序的第一个语句 B)每一个FORTRAN77程序块的最后一个语句必须是END语句 C)FORTRAN77的所有语句都是可执行语句 D)FORTRAN77的任何可执行语句都可以有标号 5.下列FORTRAN77表达式中,值为.FALSE.的是()A).NOT.(.FALSE. .AND. .NOT. .TRUE.) B).NOT. .FALSE. .OR. .NOT. .TRUE. C).NOT. .TRUE. .AND. .NOT. .FALSE. D)X .GT. Y .OR. X .LE. Y 6. 在计算机内部,一切信息存取、处理和传送的形式是() A) ASCII码B) BCD码C) 二进制D) 十六进制

C.语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

计算机程序设计语言(FORTRAN语言)

计算机程序设计语言(FORTRAN语言) (总分:36.00,做题时间:90分钟) 一、 (总题数:36,分数:36.00) 1.编译程序能将高级语言编写的源程序转换成( )。 A.解释程序 B.汇编程序 C.映象程序 D.目标程序 (分数:1.00) A. B. C. D. √ 解析: 2.一个完整的FORTRAN源程序( )。 A.至少包括一个主程序 B.至少包括一个主程序和一个子程序 C.由一个主程序与一个以上的子程序组成 D.由一个主程序与一个子程序组成 (分数:1.00) A. √ B. C. D. 解析: 3.语句函数定义语句在程序内合法的位置是( )。 A.在程序块开头语句之后,END语句之前 B.在程序块开头语句之后,可执行语句之前 C.在说明语句之后,END语句之前 D.在说明语句之后,可执行语句之前 (分数:1.00) A. B. C. D. √ 解析: 4.下列关于函数子程序虚实参数的错误说法是( )。 A.可以没有形参数 B.虚实结合的数组长度可以不同 C.实参表与虚参表类型可以不同 D.函数名可以作为虚参

(分数:1.00) A. B. C. √ D. 解析: 5.下列叙述中正确的是( )。 A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句 (分数:1.00) A. B. C. √ D. 解析: 6.运行下面的程序时得不到所需的结果,其主要原因是( )。INTEGER X(11) DATA X/9,8,7,6,5,4,3,2,1,0,-1/ DO 10 1=1,X(1) ,-1 WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2) 10 CONTINUE END A.没有给X(11) 赋初值 B.发生除以零的情况 C.发生负数开平方的情况 D.循环参数设置错误 (分数:1.00) A. B. C. D. √ 解析: 7.下列数据中,不符合FORTRAN常量表示法的是( )。 A.-25.6 B.2.758D3 C.'FOOT"=' D.TRUE (分数:1.00) A. B. C. D. √ 解析:

计算机技术基础(Fortran)试题库

一、选择题 1、下列关于"SUBROUTINE MAP(X,Y)"语句行的叙述中,不正确的是( ) A) 这是子程序的第一个语句B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据 2、FORTRAN表达式"2/4+"的值是( ) A) B) 1 C) D) 0 3、阅读下列FORTRAN程序: PI=3. WRITE(*,' ')PI END 程序运行后输出结果是( ) A) B) 3.1415 C) D) 4、圆的直径存放在整型变量K之中,下列计算圆面积的表达式中正确的是( ) A) *K*K/4 B) *(K*K/4) C) *(K/2)**2 D) *(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. 5000 C) M .GE. 2000 .AND. M .LT. 5000 D) M .GE. 2000 .OR. M .LT. 5000 6、设FORTRAN子程序如下: SUBROUTINE SUB(I,X) B=I+1 X=X+B END 若主程序中的变量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) , B) +00 C) 2/3 D) 'Very good!' 8、阅读下列FORTRAN程序: F= DO 20 K=3, 7, 3 DO 20 L=K-1, K

Fortran 上机题汇总

Fortran 复习题汇总program exer101_1 implicit none realpi,r,t,s C 说明符号常量 parameter(pi=3.1415926) C 打开用于保存结果的文件 open(9,file='mydata.dat') write(*,*)"请输入r和t的值:" read*,r,t s=t/360.0*pi*r**2 C 在屏幕上显示结果 print*,'r=',r,'t=',t,'s=',s C 采用格式说明语句显示结果 write(*,100)'r=',r,'t=',t,'s=',s 100 format(1X,3(A2,F10.5,1X)) C 将结果保存至文件中 write(9,*)'r=',r,'t=',t,'s=',s end program exer101_2 implicit none realpi.r,t,s parameter(pi=3.1415926) !说明符号常量 open(9,file='mydata.dat') !打开用于保存结果的文件write(*,*)"请输入r和t的值:" read*,r,t s=t/360.0*pi*r**2 print*,'r=',r,'t=',t,'s=',s !在屏幕上显示结果 write(*,100)'r=',r,'t=',t,'s=',s !采用格式说明语句显示结果100 format(1X,3(A2,F10.5,1X)) write(9,*)'r=',r,'t=',t,'s=',s !将结果保存至文件中 end 1

2 program ex202 implicit none real F,C print*,"请输入一个华氏温度:" read*,F

fortran习题参考答案

工程分析程序设计上机作业(五) 模块化编程 上机目的:掌握内部例程、主程序、外部例程、模块等功能的使用方法。 1、有一个六边形,求其面积。为求面积,作了3条辅助线。如图所示:(提示,三角形面 积 2 a b c s ++ =,a、b、c为三个边长)。要求用内部函 数来计算每个三角形的面积。 =21 program main implicit none real :: A(9)=(/10,30,16,13,21,14,20,36,28/) integer i real s s=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)) print*,'The area is',s contains function area(x,y,z) implicit none real x,y,z real p,area p=(x+y+z)/2 area=sqrt(p*(p-x)*(p-y)*(p-z))

end function end 2、编写一个子例程子程序,SUM(S,T,N1,N2)。把整型数N1到N2进行求和,并把求 和的结果放置到S,把整型数N1到N2进行求积,并把求积的结果放置到T。并用这个子程序来计算: y=++++++++++- (1234)(345678)(3*4*5*6)(1*2*3) program main implicit none integer A(8) integer i,b,c,d,e,f,g,m,n,y b=0;d=0;g=1;n=1 do i=1,8 A(i)=i end do call 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-n print*,'y=(1+2+3+4)+(3+4+5+6+7+8)+(3*4*5*6)-(1*2*3)=',y contains subroutine sum(s,t,N1,N2) integer s,t,N1,N2,i do i=N1,N2 s=s+A(i) t=t*A(i) end do end subroutine end 3、编写函数子程序GDC求两个数的最大公约数。求最大公约数的算法如下:把两个数中 大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。 不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。

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

中南林业科技大学课程考试试卷 课程名称: Fortran 语言程序设计 ;试卷编号:A 卷;考试时间:120分钟 题号 一 二 三 四 总分 应得分 30 10 20 40 实得分 一、填空题(30分,每题2分) 得分 评卷人 复查人 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

sum=0.0 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

FORTRAN90练习题

一.选择题 1.语句OPEN(3,FILE=‘ABC’)打开的是文件。 A.有格式顺序存取B.无格式顺序存取 C.有格式直接存取D.无格式直接存取 2.调用子程序时,假设实参可以是常数、内在函数及表达式,其相应形参是。 A.变量名B.数组名C.过程名D.* 3.下列数据中,不符合FORTRAN90常量表示的是。 A.-25.6 B.3.2344D0 C.’BOOT’’=’D.TRUE 4.圆心在原点的两个同心圆,半径分别为2和4。描述点(X,Y)在小圆外,大圆内(包括在两圆周上)的表达式是。 A.ABS(X)<=4.0 .AND. ABS(Y)>=2.0 B.2.0>=SQRT(X*X+Y*Y)<=4.0 C.X*X+Y*Y<=16.0 .AND. X*X+Y*Y>=4.0 D.(X.OR.Y)>=2.0 .AND. (X .OR.Y)<=4.0 5.下列字符串中可用作FORTRAN90变量名的是。 A.ABC B. A-BCD C. 2ABC D. AB.C 6.下列数据中不符合FORTRAN90常数表示的为。 A. 21.50 B. +0.0D0 C. .TRUE. D. $1000 7.表达式:-B+SQRT(B*B-4.0*A*C).LE.3E-5值的类型是。 A. 逻辑型 B. 整型 C. 实型 D. 字符型 8.按隐含约定,设X=2.5,Y=1.0,Z=3.0, 执行赋值语句I=X+Y/Z后I的值为。 A. 2.0 B. 2 C. 3 D. 3.0 9.下列语句中那个语句是错误的是。 A. READ(*,*)X B. READ*,X C. PRINT(*,*)X D. PRINT *,X 10.说明语句REAL A(1:2,-1:10)说明数组A的元素个数为。 A. 11 B. 12 C. 22 D. 24 11.M能被N整除的FORTRAN表达式为。 A. (M/M)=0 B. (M MOD N).EQ.0 C. (M/N).EQ.0 D. MOD(M,N).EQ.0 12.以下关于FORTRAN90中有关虚参、实参的说法中,不正确的是。 A.实参和虚参个数一定要相等B.实参和虚参个数可以不相等 C.虚参可以用数组 D.实参可以用数组 13. 下列关于FORTRAN 90源程序编辑规则的叙述之中,正确的是。 A. 任何以符号“!”开头的内容均是注释行。 B. 主程序第一行必须是PROGRAM语句。 C. 要实现有格式输入输出,必须有FORMAT语句。 D. 每个子程序中必须有一个RETURN语句。 14. 阅读下列程序 F=1.0 DO J=3,7,2 DO K=J-1,J F =F*K ENDDO ENDDO WRITE(*,'(I3,F8.1)') J,F

相关文档
相关文档 最新文档