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

更新时间:2023-03-14 12:30:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

考试时间填写: 年 月 日 考试用 学院

专业班题号 一 级 年级 应得分 30 姓名 实得分 学号 得分 中南林业科技大学课程考试试卷

课程名称: Fortran语言程序设计 ;试卷编号:A 卷;考试时间:120分钟

二 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

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

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

Implicit none

1

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

2

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

3

二、程序说明题(10分,每空2分) 得分

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(*,\ ! 输出I的数值 长度为2 评卷人 复查人 read(*,*) student (i) !输入一个数值赋值到对应的STUDENT(i)中区 end do end

三、程序完善题(20得分

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

4

分,每空2分)

评卷人 复查人 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(*,*)\ read(*,*) student(students,classes) end do end do end

5

四、程序编写题(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

6

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

7

本文来源:https://www.bwwdw.com/article/8ytx.html

Top