| 您的位置: 洪恩在线 -> 继续教育 -> 计算机考级 |
|
我要发言
|
1998年4月全国计算机等级考试二级笔试试卷基础知识和PASCAL语言程序设计
|
|||||||||||||
|
A)一个没有压缩的数组所占存储单元是压缩数组的4倍 B)使用压缩数组的程序比使用未经压缩数组的程序执行起来要慢 C)只有字符数组才可以压缩 D)压缩数组中的元素是不可单独存取的 (10)设有如下说明:TYPE PTR=^REC; REC=RECORD X:INTEGER; CH:CHAR END VAR P:PTR; 下面正确的赋值语句是(设已执行了NEW(P)) A)P^。X:=3;B)P.X^:=3;C)(P.X)^:=3;D)P.X:=3; (11)下面满足当(a《=b)and (c=d)时U:=W否则X:=Y的IF语句是 A)IF A表示回车符): 1 2 3 4 5 6 7 8 9 下列语句组中不能使A=1,B=7的是 A)READLN(A,B,B,B,B,B,B,C,C); B)READLN(A);C)READLN(A,C,C,C);D)READLN(A,C,C); READLN;READ(B);READLN(B,C,C); READLN(B); (15)下面程序段,能正确输出5行“HELLO”的信息是 A)X:=1;B)X:=0; WHILE X《5 DO WHILE X《5 DO BEGIN BEGIN WRITELN('HELLO');WRITCLN('HELLO'); X:=X1 X:=X1 END;END; C)X:=0;D)X:=1; WHILE 《=10 DO WHILE ODD(X)DO BEGIN WHILE X《10 DO WRITELN('HELLO');BEGIN X:=X2 WRITELN('HELLO'); END X:=X1 END; (16)设有集合运算[5,7,9.。11]——[3,11,7],正确的结果是 A)[5,3,9.。10]B)[5,9.。10]C)[5,3,9,10]D)[3,5,9.。10] (17)设有下面过程P1的说明(仅给出过程的主要部分) PROCEDURE P1(A,B:INTEGER;VAR C:REAL); …… BEGIN …… {调用P1} …… END; 下面给出的可以替换{调用P1}的正确语句是 A)P1(A,TRUE,C);B)P1(A/B,B,C); |
|
C)P1(A,B,4.5)D)P1(A DIV B,CB,C); (18)程序PROGRAM P1(OUTPUT); TYPE T1=(ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN); VAR X:T1;K:INTEGER; BEGIN X:=THREE; FOR K:=1 TO 5 DO X:=SUCC(X); WRITELN(ORD(X)) END 执行后的输出是 A)3 B)5 C)7 D)8 (19)要求程序的功能是:依次读入数据,当输入数据的范围在50——100(含50和100)的数满5个时计算这5个数的和并输出。下面程序段能实现此功能的是 A)SUM:=0;N:=0; REPEAT READLN(A); IF (A《=100 AND A》=50)THEN BEGIN SUM:=SUMA; N:=N1 END; UNTIL N》=5; WRITELN(SUM) B)SUM:=0;N:=0; REPEAT READLN(A); IF(A《=100)AND (A》=50)THEN BEGIN SUM:=SUM=A N:=N=1 END; UNTIL N》=5; WRITELN(SUM) C)SUM:=0;N:=0; REPEAT READLN(A); IF (A《=100)AND (A》=50)THEN SUM:=SUMA; N:=N=1 UNTIL N》=5; WRITELN(SUM) D)SUM:=0;N:=0; REPEAT READLN(A); IF (A《=100)AND (A》=50)THEN BEGIN SUM:=SUMA; N:=N1 END UNTIL N》6; WRITELN(SUM) (20)设有下面程序: PROGRAM P1(OUTPUT); VAR J,K,Z:INTEGER; BEGIN Z:=0; FOR J:=1 TO 10 DO BEGIN Z:=Z1; FOR K:=1 TO 10 DO Z:=Z1 END WRITELN(Z) END 执行此程序后的输出是 A)10 B)20 C)100 D)110 (21)欲输出被2,3,5除余数均为1的最小的10个正整数,下列不能实现此功能的程序是 A)PROGRAM X1(INPUT,OUTPUT); VAR COUNTER,NUMBER:INTEGER; BEGIN COUNTER:=0; NUMBER:=0; REPEAT NUMBER:=NUMBER1; |
|
IF (NUMBER MOD 2=1)AND (NUMBER MOD 3=1)AND (NUMBER MOD 5=1) THEN BEGIN WRITELN(NUMBER); COUNTER:=COUNTER1 END UNTIL COUNTER=10; END b)PROGRAM X2(INPUT,OUTPUT); VAR COUNTER,NUMBER:INTEGER; BEGIN COUNTER:=0; NUMBER:=0; WHILE COUNTER《10 DO BEGIN NUMBER:=NUMBER1; IF (NUMBER MOD 2=1)AND (NUMBER MOD 3=1) AND (NUMBER MOD 5=1) THEN BEGIN WRITELN(NUMBER); COUNTER:=COUNTER1 END END END C)PROGRAM X3(INPUT,OUTPUT); VAAR COUNTER,NUMBER:INTEGER; BEGIN NUMBER:=1; FOR COUNTER:=1 TO 9 DO BEGIN WRITELN(NUMBER); NUMBER:=NUMBER2*3*5 END; WRITELN(NUMBER) END D)PROGRAM X4(INPUT,OUTPUT); VAR COUNTER,NUMBER:INTEGER; BEGIN NUMBER:=1; FOR COUNTER:=1 TO 10 DO BEGIN NUMBER:=NUMBER2*3*5 VRITELN(NUMBER); END; WRITELN(NUMBER) END (22)设有如下过程P1的说明(仅给出过程的主要部分) PROCEDURE P1; VAR A,B:INTEGER;{**1**} C,D:CHAR; PROCEDURE P2(VAR E:INTEGER); VAR B,F:REAL; BEGIN …… END; PROCEDURE P3(G:CHAR); VAR B,C:INTEGER; BEGIN …… END; BEGIN …… END 在过程P1中,在标有{**1**}的程序行中对变量B的作用域最适当的描述是 A)在P1中不在P3中B)中P1中不在P2中 C)在P1中也在P2和P3中草药D)在P1中不在P2和P3中 (23)已知有下面程序段:…… REPEAT Readln(a); IF a=0 THEN f:=True ELSE f:=False UNTIL f; 其中a为整型变量,f为布尔型变量,下面哪个程序段与上面的程序段完全等价? A)Readln(a);B)Readln(a); |
|
IF a=0 THEN f:=True WHILE NOT f DO ELSE f:=False;BEGIN WHILE f DO IF a=0 THEN f:=True BEGIN ELSE f:=False; Readln(a);Readln(a) IF a=0 THEN f:=True END; ELSE f:=False END; C)f:=True;D)Readln(a); WHILE f DO IF a=0 THEN f:=True BEGIN ELSE f:=False; Readln(a);WHILE NOT f DO IF a=0 THEN f:=True BEGIN ELSE f:=False Readln(a); END;IF a=0 THEN f:=True ELSE f:=False END; (24)已知有如下说明:VAR a:ARRAY[——3.。3]OF Integer; k,i:Integer; 程序段: k:=0; FOR i:=——3 TO 3 DO IFi《0 THEN a[i]:=k1 ELSE a[i]:=k2; Writeln(a[3]——a[——3]); 输出的是 A)10 B)7 C)2 D)1 (25)设有说明 TYPE byte=0.。7; word=0.。15; num=Real; VAR a:byte;b,c:word;d:Integer;c:num;f:Char; 下面哪一组变量的类型是相容的而不是同一的? A)a和c B)c和f C)c和d D)c和d (26)已知有变量说明:VAR a:ARRAY[1.。5]OF Real; i:Integer; 且数组a的内容如下图所示: a[1]a[2]a[3]a[4]a[5] 则程序段:i:=3; a[i]:=a[Trunc(a[i——1]); Writeln(a[i]:3:1,'和',a[i2]) 输出的是 A)5.9和0 B)5.7和5.9 C)5.9和5.9 D)6.0和5.9 (27)已知函数f1如下: FUNCTION f1(a,b:Integer):Integer; BEGIN IF a=0 THEN f1:=b ELSE f1:=f1(Pred(a),Succ(b)) END; 函数f1返回的是 A)a——b的值B)b——a的值C)a*b的值D)ab的值 (28)设有如下函数说明 FUNCTION ack(m,n:Integer):Integer; BEGIN IF m=0 THEN ack :=n1 ELSE IF (m《》0)AND (n=0)THEN ack:=ack(m——1,1) |
|
ELSE ack:=ack(m——1,ack(m,n——1)) END; 若在主程序中执行Writeln(ack(2,1)),则输出结果是 A)1 B)2 C)4 D)5 (29)设有如下图所示的单链表 info next info next info next info next head →→…… ↑ p 则p^。next^。info的值是 A)19 B)47 C)64 D)93 (30)设有说明VAR infile,outfile:Text; ch:Char; 和程序段 WHILE NOT Eof(infile)DO BEGIN WHILE NOT Eoln(infile)DO BEGIN Read(infile,ch); Write(outfile,ch); END; Writeln(outfile) END; 对该程序段是否正确进行判断,并简要说明其功能,下面描述正确的是 A)错误,无限循环。B)正确。拷贝并显示文件infile. C)错误。仅能读入一行文件D)正确。拷贝文件infile到outfile. 二。填空题(每空2 分,共40 分) 请将每空的正确答案写在答题卡1——20序号的横线上,答在试卷上不得分。 (1)与十进制数101等值的二进制数为1 _____. (2)DOS命令为内部命令与外部命令,XCOPY命令属于2 命令 _____ (1)设当前盘为A盘,当前系统提示符为“》”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令3 ______ (2)自动批处理文件名必须是4 _____ (5)设在当前盘当前目录下有两个文件W.TXT 与P.TXT,现要将文件P 。TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为5 _____ (6)下面程序可从键盘输入一个大于0且小于1000的整数,然后输出此数的所有整数因子。 例如:输入12,则输出:quotient of 12:1 2 3 4 6 12 PROGRAM pp(Input,Output); VAR a,k:Integer; BEGIN Readln(a); IF(a》0)AND (a《1000)THEN BEGIN |
|
Write('quotient of',a:3,':'); FOR k:=1 TO 6 DO _____ IF 7 THEN ____ Write(k:3) END; Writeln END. (7)函数mutsym 可判断方阵a 是否关于主对角线对称,若对称则返回True;否则返回False.其中类型arr为:arr=ARRAY[1.。10,1.。10] OF Integer; FUNCTION mutsym(a:arr):Boolean; VAR k,j:Integer; flag:Boolean; BEGIN flag:=True; FOR k:=1 TO 8 DO ______ FOR j:=1 TO 9 DO ____ flag:=10 AND (a[k,j=a[j,k]); mutsym:=flag END; (8)由键盘输入一个正整数,找出大于或等于该的第一个质数。 PROGRAM sj52(Output); VAR k,a:Integer; f:Boolean; BEGIN f:=False; Read(a); WHILE NOT f DO BEGIN k:=2;f:=11 ____ WHILE f AND (k《(a DIV 2))DO IF (a MOD k)=0 THEN f:=12 _____ ELSE 13 _______ IF NOT f THEN a:=a1; END; Writeln(a); END. (9)下面程序可输出如下结果,请填空完成该程序。 1 ——1 ——12 1 12 123 ——1 ——12 ——123 ——1234 1 12 123 1234 ——12345 PROGRAM t2(Output); VAR m,n,k,s:Integer; BEGIN FOR m:=1 TO 5 DO BEGIN s:=14 ______ FOR n:=1 TO 15 DO _____ BEGIN s:s*10n; IF 16 THEN ____ Write(s:6) ELSE Write(——s:6) END; Writeln END END. (10)函数func返回数组a中与所有数的平均值最接近的那个数(此数可能大于也可能小于平均值)。若有多个数最接近平均值,则只返回其中之一类型arr为:TYPE arr =ARRAY[1.。10]OF Integer; FUNCTION func(a:arr):Integer; VAR n,k:Integer;b,s:Real; BEGIN 17 ______; FOR k:=2 TO 10 DO s:=s/10; n:=1; FOR k:=2 TO 10 DO |
|
IF 18 《19 THEN ____ ____ n:=k; func:=20 _____ END; 全国计算机等级考试二级笔试试卷 基础知识和Pascal语言程序设计 答案及评分标准 一。选择题(1——40题每题1 分,41——50题每题2 分,共60 分) (1)C (2)D (1)A (2)D (5)D (6)C (7)B (8)A (9)C (10)A (11)B (12)C (13)A (14)B (15)A (16)C (17)D (18)C (19)D (20)C (21)B (22)C (23)D (24)B (25)D (26)B (27)A (28)C (29)B (30)A 二。填空题(1——20共20空,每空2分) ①1.1100101或(1100101)2 ②2.外部(答外部命令不扣分) ③3.CD C:(CD与C:中间至少要有一个空格) ④4.AUTOEXEC.BAT ⑤5.COPY W.TXTP.TXT或COPY W.TXTP.TXT W.TXT ⑥6.a 7.a mod k=0 或a——(a div k)*k=0或a=(a DIV k)*k ⑦8.10 9.k——1 10.flag ⑧11.True 12.False 13.k:=k1 ⑨14.0 15.m 16.Odd(m)或m MOD 2《》0或m——(m DIV 2)*2《》0或m《》(m DIV 2)*2或其它当m为奇数时则为真的布尔表达式 ⑩17.s:=a[1] 18.Abs(a[k]——s) 19.Abs(a[n]——s) 20.a[n]或a[n]; |
|
·1994年4月全国计算机等级考试二级笔试Pascal语言
·1995年全国计算机等级考试二级笔试Pascal语言 ·1996年4月全国计算机等级考试二级笔试Pascal语言 ·1996年9月全国计算机等级考试二级笔试Pascal语言 |
| 【关闭窗口】 | |