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

  • 格式:doc
  • 大小:39.50 KB
  • 文档页数:6

word格式-可编辑-感谢下载支持

中南林业科技大学课程考试试卷

课程名称: 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. 下列程序的运行结果为76.0,2.0。

Program main

Implicit none

Real :: a, b, m

A=2.0

B=76.0

If(a

M=a

A=b

B=m

End if

Write(*,*) “a=”,a “b=”,b

end

6. 下列程序的运行结果是10302。

Program test

Implicit none 考试时间填写:

年 月 日

考试用

学院

专业班级

年级

姓名

学号

装订线(答题不得超过此线) word格式-可编辑-感谢下载支持

Integer::sum,i

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 word格式-可编辑-感谢下载支持

integer :: sum

sum=sum+1

Return

end

10. 下列程序的运行结果是3。

Program main

implicit none

integer, target :: a=1

integer, pointer :: p

p=>a

p=3

write(*,*)a

end

11.二维数组1234在内存中的存储顺序为: 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分)

得分 评卷人 复查人

word格式-可编辑-感谢下载支持

Fortran语句中,“!”后的内容为对整个程序或某行程序的说明,请在下面程序中感叹号后,对相应fortran语句进行说明。(10分,每空2分)

Program test

Implicit none !无隐藏变量

integer, parameter :: students=5 !定义一个永久常量STUDENT,令其等于5

integer :: student (students) ! 定义一个长度为5的数组

integer :: I

Do i=1, students

write(*,"('number',i2)")I ! 输出I的数值 长度为2

read(*,*) student (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=”?” word格式-可编辑-感谢下载支持

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

endword格式-可编辑-感谢下载支持

2.编写程序将100个整数按照从小到大的顺序排列(备注:用子程序实现排序功能,然后通过主程序来调用)。