全国计算机等级考试二级资料
1996年4月全国计算机等级考试二级笔试试卷Pascal语言
 

(考试时间120分钟,满分100分)

一、选择题(1-40题每题1分,41~50题每题2分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选题是正确的,请将正确 选项涂写在答题卡相应位置上,答在试卷上不得分。

1.一个完整的计算机系统包括______。 A)主机、键盘与显示器 B)计算机与外部设备 C)硬件系统与软件系统 D)系统软件与应用软件

2.十六进制数1000转换成十进制数是_____。 A)4096 B)1024 C)2048 D)8192

3.十进制数269转换成十六进制数是_____。 A)10E B)10D C)10C D)10B

4.如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是____。 A)-127到+127 B)-128到+128 C)-127到+128 D)-128到+127

5.下列设备中,既可作为输入设备又可以作为输出设备的是_____。 A)鼠标器 B)打印机 C)键盘 D)磁盘驱动器

6.下列叙述中,正确的是_____。 A)正数二进制原码的补码是原码本身 B)所有的十进制小数都能准确地转换为有限位二进制小数 C)汉字的计算机机内码就是国标码 D)存储器具有记忆能力,其中的信息任何时候都不会丢失

7.下列操作中,能导致DOS系统重新启动但不进行系统自检的是_____。 A)加电开机 B)按〈Ctrl+BreAk〉 C)按〈Ctrl+Alt+DEL〉 D)按RESET按钮

8.如果给定一个带通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是_____。 A)FA.EXE B)F.C C)EF.C D)FABC.COM

9.DOS系统启动后,下列文件中常驻内存的是_____。 A)*.COM B)FORMAT.COM C)AUTOEXEC.BAT D)COMMAND.COM 10.设A盘的目录结构为(画[ ]为的目录) A[\]根目录 ┌──┼──┬──┬───┬───┐ ABC [D1] DX.C Q.DAT [D2] A.FOR ┌──┼───┬─┐ ┌──┼───┐ B.PAS [D3] Y.BAS A.C A1.C [D4] XYZ.C ┌──┬─┴─┬──┐ QR.C NA.C A.TXT B.C 如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定中,合法的 是_____。 A)\D2\D4\QR.C B)D4\QR.C C)A:D4\QR.C D)A:D2\D4\QR.C

11.为了将 A盘当前目录(不是根目录)中所有扩展名为 .C的文件同名复制到 A盘的目录 \USER中,正确的命令是_____。 A)COPY A:*.C USER\*.C B)COPY A:*.C A:\USER C)COPY A:*.C A:USER\ D)COPY A:*.C A:USER\*.C

12.为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT的文件内容,下列命令 中正确的是______。 A)TYPE *.TXT B)TYPE *.TXT CON C)COPY *.TXT>CON D)COPY *.TXT CON

13.设当前盘为 A盘,为了将当前盘当前目录下的文件 AB1.TXT连接在C盘根目录下的文件 XYZ.TXT的后面,正确的命令是_____。 A)COPY C:\XYZ.TXT+AB1.TXT B)COPY AB1.TXT>>C:\XYZ.TXT C)TYPE AB1.TXT>C:\XYZ.TXT D)COPY AB1.TXT+C:\XYZ.TXT>C:XYZ.TXT

14.设A盘为启动盘,其目录结构为(画[]的为目录) [\]根目录 │ ┌─────┴─────┐ [DOS] COMMAND.COM ┌───┴───┐ [USER] AUTOEXEC.BAT 其中文件AUTOEXEC.BAT的内容为: MD \XYZ CD \DOS\USER 则由A盘启动成功后,A盘的当前目录是____。 A)\DOS\USER B)\XYZ C)\ D)\DOS

15.下列DOS命令中内部命令是_____。 A)COMP B)PATH C)PRINT D)FORMAT

16.设当前盘为 C 盘,所用的所有软盘已格式化且容量相同,则下列 DOS 命令中错误的 是______。 A)DISKCOPY A: C: B)DISKCOPY A: : C)COPY A:*.* D)COPY A:*.* C:

17.下列DOS命令中,有错误的是_____。 A)TYPE AAB.FOR>PRN B)TYPE ?AB.FOR C)COPY *.:C PRN D)COPY CON PRN

18.设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批 处理命令文件的内容为: FORMAT A:/4 MD \XYZ CD \XYZ RD \XYZ MD \XYZ 如果在 1.2M 软盘驱动器 A 中插入一张 360K 容量的软盘片,执行批处理命令文件 AB.BAT后,结果A盘的目录结构是_____。 A)根目录 B)根目录─ 子目录XYZ─ 子目录XYZ C)根目录 ───┬── 子目录XYZ D)根目录─ 子目录XYZ └── 子目录XYZ

19.下列带有通配符的文件名中,能代表文件ABC.FOR的是_____。 A)*BC.? B)A?.* C)?BC.* D)?.?

20.设当前盘为C盘,C盘上含有子目录\DOS,A盘为只有根目录的启动盘(根目录下只有三 个DOS系统文件与扩展名为.C的文件)。下列命令组中的两个命令从效果上可以认为等价 的是_____。 A)DEL \DOS与RD\DOS B)FORMAT A:与DEL A:*.* C)FORMAT A:/S与DEL A:*.? D)COPY A:F1 F2与REN A:F1 F2

21.已知TYPE color=(red,yellow,blue);则下列类型定义中不合法的是 A)TYPE t1=red..blue; B)TYPE t2=red..yellow; C)TYPE tt33=red..red; D)TYPE t4=blue..red;

22.下列表达式中运算结果为False的是 A)'X'IN ['A','C'..'E','G'] B)['A','B','C']=['C','B','A'] C)['A']<>['B'] D)['A','B','C']>=['A','B']

23.设a和SIN3均为整型变量,下面函数调用正确的是 A)Pred(2+3.5) B)Abs(SIN3) C)Trunc(True) D)Eof(a)

24.已知有如下说明: VAR a,b:INTEGER; c,d:REAL; 下面赋值语句合法的是 A)C:=A+B B)A:=C; C)A:=A+B/C; D)B:=A DIV D

25.设有变量说明:VAR AA:(C,G,A,J,K);则函数SUCC(A)的取值是 A)G B)3 C)J D)B

26.下面正确的说明是 A) TYPE letter=(A..E); VAR tt:ARRAY[letter] OF Real; B) TYPE letter=(A,B,C,D,E); VAR tt:ARRAY[letter] OF Real; C) VAR tt:ARRAY[A..E] OF Real; D) VAR tt:ARRAY[A,B,C,D,E] OF Real;

27.设有以下说明: VAR i1,i2,i3:Integer; b1,b2,b3:Boolean; 则下列中合法的赋值语句是 A)i3:=i1/i2 B)b1:=i1 AND i2 C)b2:=i1<2 D)b3:=i1<i2<i3

28.设有程序 PROGRAM exam(Input,Output); CAR ch1,ch2,ch3:Char; BEGIN Readln(ch1,ch2;ch3); Readln(ch1,ch2); Readln(ch1); Writeln(ch1,ch2,ch3) END. 运行以上程序时,若输入为: abc<CR> DEF GHI 其中 为回车符,则输出是 A)abc B)gec C)ceg D)adg

29.表达式 True AND NOT Odd(-202)<(7-3<=4)的值是 A)True B)False C)0 D)1

30.当同时满足A<B和 c=d时把Y赋给X,而当A>=B时把n赋给m,应选用的程序段是 a)if a<b then b)if (a<b) and (c=d) if c=d then x:=y then x:=y else m:=n else m:=n c)if a<b then d)if a<b then begin begin if c=d then x:=y if c=d then x:=y else m:=n end end else m:=n

31.可以用DOS的TYPE命令直接在终端上显示的PASCAL文件是 A)FILE类型文件 B)各种类型的顺序存取文件 C)各种类型的直接存取文件 D)TEXT类型文件

32.设有以下程度段: BEGIN a:=0; FOR i:=7 DOWTO 2 DO CASE i OF 1,2: a:=a+1; 3,4: a:=a+2; 5,6: ; 7,8: a:=a+3 END; Writeln('a=',a:1) END. 若变量均已说明,则程序运行后的输出是 A)a=8 B)12 C)a=6 D)0

33.有下面程主序运行后的输出是 IF(K<=10>AND(K>0)THEN IF K>5 THEN IF K<8 THEN x:=0 ELSE x:=1 ELSE IF k>2 THEN x:=3 ELSE x:=4 设K为整型变量,K取下列哪组中的任意一个值时,X都可以被赋值为3 A)2,3,4 B)3,4,5 C)4,5,6 D)5,6,7

34.设有下面程序段 y:=2; WHILE y<=32 DO y:=y+y; 则程序段执行循环体的次数是 A)2 B)3 C)4 D)5

35.若有以上说明: VAR i:Integer;r:REal;c;CHar; 则下列FOR 循环循中合法的是 A) FOR r:=1.5 TO 4.5 DO Write(r) B) FOR c:='e'DO WNTO 'b'DO Write(C) C) FOR i:=45 TO 5 DO write(i) D) for i+i:=1 to 100 do write(i+i)

36.能正确输出0.5,1.5,2.5,3.5,4.5这5个实数的循环是 A) i:=0.0; WHILE(i>=0.5) AND (I<=4.5)DO BEGIN Writeln(i:3:1); I:=i+1 END B) i:=0.0; WHILE(i>=0.5)OR (I<=4.5)DO BEGIN Writeln(i:3:1); i:=i+1 END C) i:=0.5; WHILE(i>=0.5) AND (I<=4.5)DO BEGIN Writeln(i:3:1); i:=i+1 END D) i:=0.5; WHILE(i>=0.5)AND (i<=4.5)DO BEGIN Writeln(i:3:1); i:=i+1 END

37.设4个字节存放一个实型数,若有说明: VAR A:ARRAY[1..10] OF ARRAY[BOOLEAN] OF REAL; 则数组A需占用的存储空间是 A)10 字节 B)20字节 C)80字节 D)40字节

38.假定Y是集合变量,变量X的类型与Y的基本类型相同,则下列表达式中错误的是 A)[X]IN y B)y-[X] C)[X]+[]*Y D)y《=[X]

39.设有以下说明: VAR i1,i2:INTEGER; R1,R2;REAL; PROCEDURE p(a:REAL;VAR b;INTEGER); 假定变量度I1,I2,R1,R2,均已赋值,下列中正确的过程调用是 A)p(i1M,i2); B)P(r1,r2); C)P(i2,r1); D)P(r2,r1);

40.设有以下程序: PROGRAM EXAM(INPUT,OUTPUT); VAR X,Y:INTEGER; PROCEDURE A; VAR X:INTEGER; BEGIN WRITELN(X:1,',',Y:1) END BEGIN X:=1;Y:=2; A END 则程序运行后的输出应是 A)1,2 B)22683,11(两个数都是随机数) C)22682,2(第一个是随机数) D)1,22682(第二个数是随机数)

41.有下列程序 PROGRAM AA; VAR N:INTEGER; B,:REAL; BEGIN T:=1;B:=1;N:=2; REPEAT B:=B*N; T:=T+B; N:= N+1 UNTIL N>19 END 该程序运行后,变量T中的值是下列哪个公式的结果 A)20! B)19! C)1!+2!+……+19! D)1!+2!+……+20!

42.设有过程说明: PROCEDURE P(X,Y:REAL;VAR Z:REAL); BEGIN …… END 并设A,B,C为实型量且已有确定的值,则下面过程调用正确的是 A)P(A+B,A-B,A+B) B)P(A,A MOD B,C) C)P(ROUND(A),C,B) D)P(C,SIN(B),10,5)

43.下面给出一个求意性程序: PROGRAM P(……); PROCEDURE P1(X:PREL):FORWARD; PROCEDURE P2(I:INTEGER); VAR A:REAL; BEGIN P1(3.0); {调用 1} A:=F(5)+2。1 {调用 2} END; PROCEDURE P1; VAR B:REAL; BEGIN P1(5.0); {调用 3} …… END; FUNCTION F(Y:INTEGER):REAL; BEGIN P1(21); {调用 4} …… END; BEGIN …… END 则下列程序中出现的过程或函数调用哪个是不正确的? A)调用 1 P1(3.0) B)调用2 A:=F(5)+2.1; C)调用 3 P1(5.0) D)调用不着4 P1(21);

44.下列没有错误的程序段是 A)TYPE TOCP+^CHAR; B)TYPE TOCP=^CHAR; VAR CHARP:TOCP; VAR CHARP:TOCP; BEGIN BEGIN CHARP:='A'; NEW(CHARP); WRITELN(CHARP); IF ORD(CHARP)>10 THEN WRITELN('AAA'); C)TYPE TORP=^REAL; D)TYPE TOIP=^INTEGER; VAR ONE,TWO:TORP; VAR A,B:TOIP; BEGIN BEGIN NEW(ONE); NEW(A);NEW(B); TWO:=ONE+5; A^:=5; B^:=A^+5;

45.若有以下程序: PROGRAM AAA(INPUT,OUTPUT); VAR P1,P2,P3:^INTEGER; BEGIN NEW(P1); NEW(P2); P1^:=563 MOD 10+ROUND(2.56); P2^:=P1^ DIV 3+2; P3:=P1;P1:=P2;P2:=P3; WRITELN(P1^:2,P2^:2,P3^:2) END 则程序运行后的输出是 A)6 6 6 B)4 6 6 C)6 4 6 D)6 6 4

46.已知函数说明如下: FUNCTION F(N:INTEGER):INTEGER; BEGIN IF N=0 THEN F:=0 ELSE IF N>0 THEN F:(N-2) ELSE F:(N+3) END 则函数调用F(5)的值是 A)0 B)1 C)-1 D)-2

47.若有以下说明: VAR A,B:INTEGER; PROCEDURE SWAP(X:INTEGER;VAR Y:INTEGER); VAR T:INTEGER: BEGIN T:=X;X:=Y;Y:T END; 并有以下语句: A:=10;B:=20; SWAP(A,B); WRITELN('A=',A:2,',B:2) 则程序运行后输出结果是 A)A=10,B=20 B)A=20,B=10 C)A=10,B=10 D)A=20,B=20

48.有下面程序段 FOR I:=1 TO 3 DO BEGIN FOR J:=1 TO 3 DO BEGIN IF I=3 THEN A[I,J]:=A[I-1,A[I-1,J]]+1 ELSE A[I,J]=J; WRITE(A[I,J]:2) END; WRITELN END 该程序的执行结果是 A)1 1 1 B)1 2 3 C)1 2 3 D)1 2 3 2 2 2 1 2 3 1 2 3 1 2 3 3 3 3 1 2 3 2 4 6 2 3 4

49.有下面程序: PROGRAM AA(OUTPUT); VAR X,Y,Z:INTEGER; PROCEDURE P(X,Y:INTEGER;VAR Z:INTEGER); BEGIN Z:=Y-X-Z END BEGIN X:=5;Y:=7;Z:=4; P(7,X+Y+Z,X); WRITELN(X;2,Y:2,Z:2) END 该程序的运行结果是 A)7 7 4 B)4 7 4 C)5 7 4 D)5 7 -2

50.PROGRAM MATRIX(INPUT,OUTPUT); VAR I,J,MAX,M,N:INTEGER; A:ARRAY[1。。5,1。。5] OF INTEGER; BEGIN WRITELN('INPUT 5*5 MATRIX:'); FOR I:=1 TO 5 DO BEGIN FOR J:=1 TO 5 DO READ(A[I,J]); READLN END; MAX:=A[1,1];M:=1;N:=1; FOR I:=1 TO 5 DO IF(I=J)OR (I+J=6) THEN IF A[I,J]>MAX THEN BEGIN MAX:=A[I,J];M:=I;N:=J; END; WRITELN('MAX=',MAX); WRITELN('M=',M,'N=',N) END 以上程序的功能是 A)求5阶方阵中两条对角线上元素的最大值及其位置 B)求5阶方阵中主对角线上元素的最大值及其位置 C)求5阶方阵中所有元素的最大值及其位置 D)求5阶方阵中所有元素的最小值及位置

二. 填空题(每空2分,共40分) 请将每空的正确答案写在答题卡1~20序号的横线上,答在试劂不得分。

(6)已知类型说明为T1=SET OF'A'。。'Z';过程WRITESET将集合A中的元素以 下面例子的方式输出 例:若A=['A','Z','C','M','H'] 则输出A=[A,C,H,M,Z] PROCEDURE WRITESET(A:T1); VAR CH:CHAR; BEGIN ------; FOR CH:='A'TO 'Z'DO IF_______________IN A THEN WRITE(CH,','); WRITELN(']') END;

(7)已知有如下类型说明: TYPE DATE=RECORD Y :INTEGER; MONTH:1。。12 DAY:1。。31 END; 并有函数LEAP能够检查年份Y否是闰年,右为闰年(闰年的2月有29天),函数 LEAP的返回值为TURE;否则,返回值为FALSE。函数的详细内容没有给出,函 数首部为 FUNCTION LEAP(Y:INTEGER):BOOLEAN; 下面函数CHECKDATE的作用是检查变量D中的日期是否是合理,若不合理(即出 现了不可能的日期),则显示'ERROR DATE!,函数返回值为FALSE;否则,函 数返回值为TRUE。 FUNCTION CHECKDATE(D:DATE):BOOLEAN; VAR FLAG:BOOLEAN; BEGIN FLAG:=TRUE; ------ BEGIN CASE MONTH OF 4,6,9,11;IF DAY>30 THEN FLAG:=FALSE; : 2 : IF (DAY>29) OR (DAY>28)_________THEN FLAG:=FALSE END END; IF NOT FLAG THEN WRITELN('ERROR DATE!'); CHECKDATE:=FLAG END

(8)下面的程序可以输出右边图示结果,请填空完成。 0 0 0 1 0 0 0 0 0 1 0 1 0 0 PROGRAM P5(UTPUT); 0 1 0 0 0 1 0 TYPE 1 0 0 0 0 0 1 ARR=ARRAY[1..4,1..7]OF INTEGER; VAR A:ARR; X,Y:INTEGER; BEGIN FOR X:=1 TO 4 DO FOR Y:=1 TO 7 DO IF(__________=5)OR (__________=3) THEN A[X,Y]:=1 ELSE A[X,Y]:=0; FOR X:=1 TO 4 DO BEGIN FOR Y:=1 TO 7 DO WRITE(A[X,Y]:3); WRITELN END END

(9)函数FINDSECOND返回数组A中第二大的数(第二大数可以与最大数相等),类型T1为: T1=ARRAY[1..10] OF INTEGER; FUNCTION FINDSECOND(A:T1);INTEGER; VAR B1,B2,K:INTEGER; BEGIN B1:=A[1];B2:=A[2]; IF B1 < 2) 寻找小于或等于N的最大的FIBONACCI数A(例如89),并以A作为组成N的一个数输出。 1) 本程序的算法如下:(以N="121为例)" 则输出121="+89+21+8+3" 例如:若输出121 下面的程序是由键盘输入一个正整数N,输出组成N的互不相同的FIBONACCI数 例如:121="89+21+8+3" 已知任意一个大于0的整数可以表示为若干个互不相同的FIBONACCI数之和 个数之和。即:1,1,2,3,5,8,13,21,34,55,89,144,233,377,……。 (11)FIBONACCI数列的规律是:前2个数均为1,从第3个数开始每个数等于它前面两 END; NEXT:="_________;" HEAD^. NEXT="NIL;" UNTIL Q:="_____________" P^. NEXT; HEAD:="HEAD^." P:="HEAD;" REPEAT Q:NIL; BEGIN P,Q:PTR; VAR HEAD:PTR); INVERSE(VAR PROCEDURE 过程INVERSE使原链表的硕序颠倒,成为图(2)所示的链表,请填空完成 示结点的NEXT域为空,A,B,C,D,E,F表示结点,下同) 表 设HEAD为PRT类型变量,并指向一个不少2个结点的单链表,如图(1)所示(图中 NEXT:PTR INTEGER; NUM: REC="RECORD" PTR="^REC;" TYPE

(10)已知有类型说明: FINDSECOND:="B2" B2:="A[1]" IF_________THEN ELSE END B1:="B2;" ___________; THEN A[K]>B1 IF DO 10 TO K:="3" FOR>A则以N-A作为新的任意正整数(例如32),重复步骤1)。若N=A,则结束。程序 中的函数FIND返回小于或等于N的最大的FAIBONACCI数 PROGRAM P1(INPUT,OUTPUT); VAR N:INTEGER; FUNCTION FIND(N:INTEGER);INTEGER; VAR A,B,C:INTEGER; BEGIN A:=1;B:=1; REPEAT C:=__________; A:=B;B:=C; UNTIL B>=N; IF B=N THEN FIND:=__________ ELSE FIND:=__________ END; PROCEDURE P(N:INTEGER); VAR A:INTEGER; BEGIN A:=FIND(N); WRITE('+',A:4); IF A<N THEN P(________) END; BEGIN READLN(N); WRITE(N:5,'='); P(N); WRITELN END

1996年4月全国计算机等级考试二级笔试试卷 基础知训和PASCAL语言程序设计

答案及评分标准

一. 选择题(1~40题每题1分,41~50题每题2分,共60分) 1.C 2.A 3.B 4.D 5.D 6.A 7.C 8.B 9.D 10.C 11.B 12.D 13.A 14.C 15.B 16.A 17.B 18.A 19.C 20.C 21.D 22.A 23.B 24.A 25.C 26.B 27.C 28.B 29.B 30.D 31.D 32.A 33.B 34.D 35.B 36.C 37.C 38.A 39.A 40.C 41.C 42。C 43。B 44。D 45。B 46.A 47。C 48。D 49。B 50。A

二. 填空题(每空2分,共40分) (所有字母都允许大。小写或大小写混合)

1. 外部 2. DIR ??C*。* 3. A:\X\Y\W\QR.C 4. 64 5. 92 6. WRITE('A=[') 用WRITELN而未用WRITE者扣1分 输出字串'A=['不正确者扣1分未用输出语句者不给分'] 7. CH 基填[CH]给1分 8. WITH D DO 9. AND NOT LEAP(Y)或 AND(LEAP(Y)=FALSE)或 AND(NOT LEAP(Y)) 若填AND LEAP(Y)=FALSE给1分 若填Y写为D。Y而其它全对,则给1分 10. X+Y或Y+X 11. Y-X或-X+Y 12. B2:=B1 13. A[K]>B2 或 A[K]>=B2 或 NOT(A[K]<B2)或 NOT(A[K]<=B2) 14. Q 15. P或P; 16. P或Q或P;或Q; 17. A+B 或 B+A 18. B或C或N 若填B;或 C;或N;则给1分 19. A 或A; 20. N-A


[ 2005年8月4日 ]  返回上一级目录