| 您的位置: 洪恩在线 -> 继续教育 -> 计算机考级 |
|
我要发言
|
1997年4月全国计算机等级考试二级笔试试卷基础知识和PASCAL语言程序设计
|
|||||||||||||
|
A)EOF(F1)B)EOLN(F1)C)READLN(F2,X)D)WRITELN(F2) (9)下面对FILE类型和TEXT类型文件的描述不正确的是 A)FILE类型和TEXT类型文件都可以用EOF()函数判断其是否已到文件尾。 B)FILE类型和TEXT类型文件都可以用文本编辑软件来建立。 C)FILE类型和TEXT类型文件操作完毕都应关闭文件。 D)向FILE类型和TEXT类型文件写数据之前,都需要用REWRITE过程进行初始化。 (10)设N为整型变量,且已赋值为1997,下面能将N的十位数字(即右边第2位数字)分离出来的语句是 A)D:=N MOD 100 B)D:=N DIV 100 MOD 10 C)D:=N/100 MOD 10 D)D:=(N MOD 100)DIV 10 (11)下列说法中,肯定正确的是 A)动态变量没有变量名,只能通过指向它的指针变量来引用 B)动态变量获得或更换其值可以使用赋值语句,但不能使用READ过程 C)动态变量的值只能增加而不能减小 D)动态变量不能是布尔类型 (12)下列中,值为FALSE的PASCAL表达式是 A)TRUNC(1.4*4)=525 MOD 5 B)(10《(1.5/0.3))AND ((1.5/0.5)》——5) C)ROUND(18.5/2.0)》=105 DIV 510 D)NOT('A'》'D')OR NOT (18 MOD 5《2) (13)已知变量说明VAR LETTERS:(F,E,D,C,B,A);下列函数中函数值为布尔类型的是 A)SUCC(C)B)TRUNC(2.8*4)C)CHR(ORD('A')2)D)ODD(7) (14)设有下面程序段 Y:=2; WHILE Y《=32 DO Y:=YY; 则程序段执行循环体的次数是 A)3 B)4 C)5 D)6 (15)若有说明 TYPE AR=ARRAY[1.。10]OF INTEGER; BR=ARRAY[1.。10]OF AR; VAR C:BR; 下列语句正确的是 |
|
A)C[C[2,4]]:=123;B)C[8]:=123; C)C[2][4]:=123;D)C[0,2,4]:=123; (16)若有以下程序: PROGRAM XXX(INPUT,OUTPUT); VAR P1,P2,P3:^INTEGER; BEGIN NEW(P1);P1^:=5;P2:=P1; NEW(P1);P1^:=10; P3:=P1;P1:=P2;P2:=P3; WRITELN(P1^:3,P2^:3,P3^:3) END 则程序运行后的输出应是 A)5 5 10 B)5 10 10 C)5 10 5 D)10 5 10 (17)一个班有30个学生,每个学生一个记录,记录的数据是:姓名,年龄和3门课的成绩。能正确描述这组信息的类型CLASS是 A)TYPE STUDATA=RECORD NAME:CHAR; AGE:INTEGER; SCORE:ARRAY[1.。3]OF REAL END; CLASS=ARRAY[1.。30]OF STUDATA; B)TYPE STUDATA=RECORD NAME:PACKED ARRAY[1.。20]OF CHAR; AGE:INTEGER; SCORE:ARRAY[1.。3]OF REAL END CLASS=ARRAY[1.。30]OF STUDATA; C)TYPE STUNAME=PACKED ARRAY[1.。20]OF [1.。30]OF CHAR; STUAGE=ARRAY[1.。30]OF INTEGER; STUSCORE=ARRAY[1.。3,1.。30]OF REAL; CLASS=ARRAY[1.。30]OF STUSCORE; D)TYPE POINTER=^STUDATA; STUDATA=RECORD NAME:ARRAY[1.。20]OF CHAR; AGE:INTEGER; SCORE:ARRAY[1.。3]OF REAL END CLASS=POINTER; (18)有下面程序: PROGRAM PP3(OUTPUT); VAR A,B:INTEGER; PROCEDURE P1(A:INTEGER); VAR B:INTEGER; BEGIN B:=A5; WRITELN(A:3,B:3); A:=B5 END; BEGIN A:=1;B:=2; P1(B); WRITELN(A:3,B:3) END 该程序执行后的输出是 A)2 7 B)1 6 C)2 7 D)2 7 1 2 1 2 1 12 12 2 |
|
(19)设A,B,C,I,J均为整型变量,有下面的程序段: A:=0;B:=1;C:=2; FOR I;=1 TO 3 DO FOR J:=1 TO I DO CASE((IJ)MOD 3)OF 0:A:=A1; 1:B:=B1; 2:C:=C1 END WRITELN(A;3,B:3,C:3); 上程序段执行后的输出结果是 A)2 4 3 B)3 4 2 C)2 3 4 C)4 3 2 (20)有下面程序: PROGRAM XX(OUTPUT); VAR X,Y,Z:INTEGER; PROCEDURE P(X:INTEGER;VAR Y,Z:INTEGER); BEGIN Z:ZYX END; BEGIN X:=5;Y:=6;Z:=7; P(XYZ,X,Y); WRITELN(X:4,Y:4,Z:4) END 该程序的运行结果是 A)5 29 7 B)5 6 7 C)18 5 6 D)18 6 7 (21)有下面程序段: A:=FALSE;B:=FALSE; C:=TRUE;X:=10; IF A THEN X:=X——5 ELSE IF B THEN IF C THEN X:=36 ELSE X:=45; 假设所有变量均已说明,程序运行后X的值是 A)5 B)10 C)36 D)45 (22)有下面程序段: M:=2;S:=0; FOR CH:='A'TO 'F'DO BEGIN IF ODD(M)THEN S:=SM; M:=M3 END; 假设所有变量均已说明,程序运行后S的值是 A)72 B)52 C)33 D)16 (23)有下列函数说明: FUNCTION F(A,B,C:INTEGER):INTEGER; VAR T:INTEGER; BEGIN A:=3*A;T:=B DIV C;F:=A4*T END; 则表达式F(F(1,F(1,2,3),3),2,3)的值是 A)21 B)3 C)7 D)25 (24)有下面程序: PROGRAM PP5(OUTPUT); VAR I,N,K:INTEGER; BEGIN N:=15469;K:=2; FOR I:=1 TO K——1 DO N:=N DIV 10; N:=N MOD 10; WRITELN(N) END 该程序执行后的输出是 A)9 B)6 C)2 D)1 (25)设有下面四个循环程序段 |
|
(1)A:=0;(2)A:=0;I:=1; I:=1;WHILE I《=5 DO REPEAT BEGIN I:=I1;A:=A1; A:=A1 I:=i1 UNTIL I》6;END; (3)A:=0;(2)A:=0;I:=1; FOR I:=1 TO 5 DO REPEAT A:=A1;I:=I1; A:=A1 UNTIL i》5; 有三个程序段执行后A的值相同,另一个不同的是 A)(1)B)(2)C)(3)D)(2) (26)计算并输出下式 S= 中S的值的正确程序是 A)PROGRAM P36(OUTPUT);B)PROGRAM P36(OUTPUT); VAR S,S1:REAL;VAR S,S1:REAL; I:INTEGER;I:INTEGER; BEGIN BEGIN S:=0;S1=0;S:=0;S1:=1; FOR I:=1 TO 50 DO FOR I:=2 TO 50 DO BEGIN BEGIN S1:=S1I;S1:=S1I; S:=S1/S1 S:=S1/S1 END END; WRITELN(S:10:3)WRITELN(S:10:3) END END C)PROGRAM P36(OUTPUT);D)PROGRAM P36(OUTPUT); VAR S,S1:REAL;VAR S,S1:REAL; I:INTEGER;I:INTEGER; BEGIN BEGIN S:=0;S1=0;S:=0;S1:=1; FOR I:=1 TO 50 DO FOR I:=2 TO 50 DO S1:=S1I;S:=S=1/(S1I); S:=S1/S1;WRITELN(S:10:3) WRITELN(S:10:3)END END (27)设A,B,W为实型变量,OPER为字符型变量,用IF语句改写下面的程序段: CASE OPER OF '':W:=AB; '——':W:=A——B; '*':W:=A*B; '/':W:=A/B END 在下列写法中,错误的是 A)IF OPER=''THEN W:=AB;B)IF OPER='*'THEN W:=A*B IF OPER='——'THEN W;=A——B;ELSE IF OPER='/'THEN W:=A/B; IF OPER='*'THEN W:=A*B IF OPER=''THEN W:=AB IF OPER='/'THEN W:=A/B;ELSE IF OPER='——'THEN W:=A——B |
|
C)IF OPER=''THEN W:=AB D)IF OPER=''THEN W:=AB ELSE IF OPER='——'THEN W:=A——B;ELSE IF OPER='——'THEN W:=A——B; IF OPER='*'THEN W:=A*B IF OPER='*'THEN W:=A*B ELSE W:=A/B;ELSE IF OPER='/'THEN W:=A/B; (28)有下面程序: PROGRAM PP4(OUTPUT); VAR X,Y,Z:INTEGER; PROCEDURE PROC(VAR A,B:INTEGER;C:INTEGER); BEGIN A:=AB;B:=B3; C:=AB;Y:=YC; WRITELN(A:3,B:3,C:3) END BEGIN X:=1;Y:=2;Z:=3; PROC(X,X,X); WRITELN(X:3,Y:3,Z:3) END 该程序执行后的输出是 A)2 4 6 B)5 5 10 C)2 5 7 D)2 4 6 2 8 3 5 12 3 2 9 3 4 8 3 (29)有下列程序 PROGRAM TEST(INPUT,OUTPUT); VAR S:INTEGER; CH:CHAR; COUNT:ARRAY['A'……'Z']OF INTEGER; BEGIN FOR CH:='A'TO 'Z'DO COUNT[CH]:=0; READ(CH); WHILE NOT EOLN DO BEGIN IF(CH》='A')AND (CH《='Z')THEN COUNT[CH]:=COUNT[CH]1; READ(CH) END; S:=0; FOR CH:='B'TO 'Y'DO S:=SCOUNT[CH]; WRITELN(S) END 运行程序,输入一行正文'WE ARE PROUD OF OUR COUNTRY!'则程序的输出是 A)10 B)22 C)11 D)23 (30)已知有如下说明: TYPE T1=^REC; REC=RECORD X:INTEGER; NEXT:T1 END; PROCEDURE PRINTLIST(P:T1); VAR Q:T1; BEGIN WHILE P^。NEXT《》NIL DO BEGIN Q:=P; WHILE (Q^。NEXT)^。NEXT《》NIL DO Q:=Q^。NEXT; WRITE((Q^。NEXT)^。X:3); Q^。NEXT:=NIL END; WRITELN END; 若已有链表如图所示(HEAD是T1型变量,/表示结点的NEXT域为空): HEAD |
|
则执行过程调用PRINTLIST(HEAD);后的输出结果是 A)4 3 2 B)4 3 2 1 C)1 2 3 D)1 2 3 4 二.填空题(每空2分,共40分) 请将每空的正确答案写在答题卡1~20序号的横线上,答在试卷上不得分 (6)函数CHECK检查整数N中是否含有数字3,5,7.含有这些数字之一则返回TRUE;否则返回FALSE. 例如:当N=13722或N=2549,则CHECK返回TRUE; 当N=21689或N=9148,则CHECK返回FALSE. FUNCTION CHECK(N:INTEGER);BOOLEAN; VAR YES:BOOLEAN; BEGIN REPEAT YES:=(N MOD 10)IN___________; N:=N DIV 10 UNTIL________OR YES; CHECK:=YES END; (7)设有以下程序: PROGRAM T3(INPUT,OUTPUT); VAR N:INTEGER; PROCEDURE P(……); BEGIN A;=A=B;B:=B*A END; BEGIN N:=8; P(N,N); WRITELN(N:3) END 若过程首部的形式参数部分(……)分别为以下四种形式,则该程序执行后输出结果是 (1)(A,B:INTEGER)输出结果是_____________ (2)(A;INTEGER;VAR B:INTEGER)输出结果是___________ (3)(VAR A:INTEGER:B:INTEGER)输出结果是______________ (2)(VAR A:INTEGER;VAR B:INTEGER)的输出结果是____________ (8)设有以下程序: PROGRAM T5(INPUT,OUTPUT); VAR A,X,Y,Z:INTEGER; PROCEDURE P(X,Y:INTEGER;VAR Z:INTEGER); BEGIN Z:=Y——X——Z; WRITELN(X:3,Y:3,Z:3){输出1} END; FUNCTION Q(M:INTEGER):INTEGER; BEGIN Z:=ZM; Q:=SUCC(M) END; BEGIN X:=4;Y:=6;Z:=3; P(5,XYZ,X); |
|
WRITELN(X:3,Y:3,Z:3);{输出2} A:=Q(2)*Q(Z); WRITELN(A:3,Z:3){输出3} END 该程序执行后,依次的输出结果: (1)输出1的结果是___________; (2)输出2的结果是___________; (3)输出3的结果是___________; (9)下面程序实现将数组A赋于如下的值,请填空完成该程序 1 1 1 1 1 4 1 1 1 1 3 4 1 1 1 2 3 4 1 1 1 2 3 4 1 PROGRAM T1; VAR A:ARRAY[1.。5,1.。5]OF INTEGER; I,J,K:INTEGER; BEGIN FOR I:=1 TO 5 DO FOR J:=1 TO 5 DO IF (I——J=4)OR(__________)THEN A[I,J]:=1 ELSE BEGIN K:=_____________; CASE KOF 1:A[I,J]:=4; 2:A[I,J]:=_____________; 3:A[I,J]:=2 END END END (10)已知有类型说明:TYPE COLOR——(RED,YELLOW,BLACK,BLUE,ORANGE,GREEN,WHITE); COLORSET=SET OF COLOR; 函数ELEMENTSINSET返回集合A中元素的个数: FUNCTION ELEMENTSINSET(A:COLORSET):INTEGER; VAR C:INTEGER; X:COLOR; BEGIN X:=RED;C:=0; WHILE A《》[]DO BEGIN WHILE NOT (X IN A)DO X:=______________; C:=___________; A:=A——___________ END ELEMENTSINSET:=C END 1997年4月全国计算机等级考试二级笔试试卷 基础知识和PASCAL语言程序设计 答案及评分标准 一.选择题 1.C 2.D 3.A 4.D 5.B 6.D 7.B 8.A 9.A 10.C 11.B 12.B 13.A 14.C 15.B 16.B 17.D 18.D 19.D 20.C 21.D 22.D 23.B 24.D 25.C 26.A 27.B 28.B 29.B 30.D 二.填空题(1~20,每空2分,共40分) (6)[3,5,7]集合中数的顺序不限 |
|
(N=0)或(0=N)若无()扣1分 (7)8 128 16 256 (8)5 13 4 评分标准:3个数中按顺序有1~2个正确者给1分 4 6 3 评分标准:3个数中按顺序有1~2个正确者给1分 18 10评分标准:第一个数为18给1分,第二个数为10给1分 (9)J》=I或I《=J或NOT(JJ) I——J或与此等价的表达式 3 (10)SUCC(X) C=1或者说SUCC(C)或1C [X] |
|
·1994年4月全国计算机等级考试二级笔试Pascal语言
·1995年全国计算机等级考试二级笔试Pascal语言 ·1996年4月全国计算机等级考试二级笔试Pascal语言 ·1996年9月全国计算机等级考试二级笔试Pascal语言 |
| 【关闭窗口】 | |