Fortran选择题参考
Fortran90选择题
错误难免,仅供参考。运算符优先级按从高到低排列
1、下列叙述中,正确的是(D)
原因:略。
A,语句标号的大小影响程序执行的顺序
B,程序完全按语句出现的先后顺序执行
C,不同程序单位不能有相同的语句标号
D,同一程序单位不能有相同的语句标号
2、下列标识符中,不能作为合法的fortran90标识符的是(C)
原因:标识符开头只能是字母。
A,A3_B3 B,VOID C,_123 D,IF
3、下列哪一个为正确的常量(D)
原因:A不能用“,”分隔。 B属于表达式。C.TRUE.才是逻辑常量。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**(B**I)。
A,64 B,12 C,256 D,16
5、圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是(D)
原因:“/”是取整运算符,所以排除A、B、C。详细参考书本21页。
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)
原因:优先级:算术运算>关系运算>逻辑运算(.NOT.>.AND.>.OR.)。
A,关系运算 B,算术运算 C,逻辑非运算 D,逻辑与运算
7、下列fortran的表达式中值为0.5的是(C)
原因:A值为0.3 B值为0 C值为0.5 D值为0
A,MOD(4.8,0.5) B,100/20/10 C,50.0/4/25 D,MOD(15,10)/10
8、下列是完整的fortran程序,编译时出错的语句是(C)
原因:PARAMETER定义的常量不能被修改。
A,PROGRAM PRINT
B,PARAMETER(PI=3.1415926)
C,PI=PI+1
D,WRITE(*,*)SIN(PI+0.5)
END
9、变量的类型定义中,优先级由高到低的顺序为(A)
原因:优先级:类型说明语句>IMPLICIT说明语句>隐含约定。
A,类型说明语句、IMPLICT说明语句、隐含约定
B,隐含约定、IMPLICT说明语句、类型说明语句
C,IMPLICT说明语句、类型说明语句、隐含约定
D,隐含约定、类型说明语句、IMPLICT说明语句
10、“两整数M与N不能同时小于零”的fortran表达式(D)
原因:题目的意思就是:M>=0或N>=0,也就是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.
11、下列逻辑表达式描述的是(A)
原因:翻译过来就是:某个数,或者是2,或者是3,或者大于3小于10,并且不能被2和3整除。符合这个变态描述的数有2,3,5,7,很明显是10以内的素数。
X.GT.3.AND.X.LT.10.AND.MOD(X,2).NE.0.AND.MOD(X,3).NE.0.OR.X.EQ.2.OR.X .EQ.3
A,10以内的素数 B,10以内的合数
C,10以内的奇数 D,10以内的偶数
12、下面正确的逻辑IF语句是(C)
原因:A属于块语句B括号丢了D不同类型的比较,参考书本第三章。
A,IF(X.EQ.Y)THEN GOTO 10
B,IF M.LT.N PRINT*,M.
C,IF(ABS(x).LT.1E-6)A=1
D,IF(A.AND.(A.LE.0.0))A=3
13、下列语句中正确的是( A )
此题不会。
A,DATA A,B,C/3*(-10.0)/
B,READ(*,*)(N,A(K),K=1,N)
C,WRTLE(*,*)(10,A(K),K=1,10)
D,READ(*,*)N,N+1
14,如果J是整形变量,则循环语句:DO J=5.5,-1.5,-2.5所执行的循环次数是(A)
A,4 B,3 C,2 D,1
15,若有语句:integer B (-1;-2,3;7),则数组B中所包含的元素个数为(A)原因:维上界的值必须大于维下界的值,而题中-2<-1。(个人觉得这个语句应该会出错,你可以输进fortran编译软件里试试。)
A,0 B,10 C,12 D,21
16,关于fortran90的CASE结构,SELECT CASE(表达式)中的表达式的数据类型不允许为( C )
原因:书本36页。
A,整型 B,字符型 C,实型 D,逻辑型
17,下面符号在fortran90中标示续行符的是(B)
原因:略。
A,! B,& C,# D,%
18,下列程序段中,错误的语句是(D)
原因:PRINT语法错误,参考书本90页。
A,PARAMETER(N=10)
B,INTEGER::M=20
C,M=M+N
D,PRINT(*,*)M,N
19,无题
A ,FUNCTION B,SUBROUTINE C,BLOCK DATE D,SUB
20、下列语句中,错误的语句是(D )
原因:AC正确。B选项括号中若是:号则没错。D SELECT CASE不允许使用实型3.0。
A,PARAMETER(PI=3.1415) B,DIMENSION A(-5:0)
C,INTEGER::A=10 D,SELECT CASE(3.0)
21、执行语句:WRITE(*,’(1X,A,’=’,I2’)’) “2+3”,2+3后,屏幕上显示的是(B)
原因:参考第六章,这些格式输入输出实在麻烦。
A, _5 B,2+3=_5 C,5=_5 D语句不正确
22、能得到以下数据正确输出结果的fortran语句是(C)
原因:排除法选C,具体的空格数目题目没给。
X=1.34
M=3
Y=1.25
A,100 FORMAT(1X,F6.3,I3,E9.4)
B,100 FORMAT(1X,2F8.3,I3)
C, 100 FORMAT(1X,F8.4,I3,F3.1)
D, 100 FORMAT(1X,F8.4,2(1X,I3)
23,设有如下程序段,下面描述正确的是(一次都不执行)
原因:因为K不等于0,所以括号里表达式为假,循环体不执行。(个人感觉题目不是这样的。)
K=10;do WHILE(K==0);K=K-1;ENDDO
A,循环执行10次 B,循环是无限循环
24 无题
A,READ(*,*)(I,A(I),I=1,10
B,READ(*,*)(B(I,J),I=1,J=1,10)
C,READ(*,*)N,(A(I),I=1,N)
D,READ(*,*)(I=1,10,A(I))
25、为了保证正确输出数据,格式编辑符Ew.d中w与d的关系应该是(D)
原因: w>d+小数点前1位+小数点1位+指数部分4位=d+6,详细参考书本94页E编辑符的说明。
A,w>d B,w>d+2 C,w>d+4 D,W>d+6
26,若定义了语句函数S(X,Y,Z)=X+Y+Z后,S(2.0,3.0,S(2.0,1.0,3.0)的值为(B)
原因:遇到嵌套函数,由内往外算就行了。
A,17.0 B,11.0 C,20.0 D,29.0
27,下列说法中正确的是(D)
原因:A、B如果是单分支块IF结构可以没有else或者elseif语句。C明显错误。D IF与ENDIF一一对应,详细参考书本33页。
A,块IF结构中的then块或else块不能是空缺
B,块IF结构中至少要有一个elseIF语句或else语句
C,每一个else语句要有一个对应的endif语句
D,一个块IF结构中只能有一个endif语句
28、在子程序SUB中,下列各语句的正确顺序是(B)
原因:IMPLICIT语句、PARAMETER语句和变量类型说明语句要放前面,因此(2)和(4)要在(3)前面,详细参考书本19页。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。