⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1998年4月二级笔试试题pascal.txt

📁 c++的大量习题,对二级考试大有帮助. 希望大家满意.
💻 TXT
字号:
1998年4月二级笔试试题PASCAL 

基础知识和PASCAL语言程序设计 

一. 选择题(1~40每小题1分,41~50每小题2分,共60分) 
下列各题A)B)C)D)四个选项中,只有一个正确的,请将正确选项涂写在答题卡相应位置上,答在试郑上不得分 
(21)下面是对PASCAL程序组成结构的四条描述,其中错误的是 
A) PASCAL程序必须有程序首部 
B) 程序的注释部分只能写在程序中一条语句的最后 
C) 程序首部的参数部分可有可无 
D) 一个完整的PASCAL程序的主程序只能有一个 
(22)设A,B,C为整型变量,且有A:=5;B:=2;下面能使C的值为1的正确语句是 
A)C:=(A-2)/B; B)C:=A MOD (B+2。0); 
C)C:=A DIV (B+1); D)C:=(A-2)DIV (B/1); 
(23)设有常量定义:CONST A=0;B=22768;下面对常量引用正确的是 
A)READLN(A); B)A:=A=1; 
C)PROCEDURE P(C:B。。1); D)VAR C:A。。B; 
(24)下面函数值等于FALSE 的 
A)ODD(TRUNC(-7。49)) B)ROUND((ABS(-9。5)))C)NOT (TRUE=7 
(25)设有说明VAR COLOR;(RED,GREEN,YELLOW,BLUE); 
A:BOOLEAN; 
下面语句正确的是 
A)COLOR:='GREEN'; B)WRITELN(GREEN); 
C)WRITELN(COLOR); D)IF RED30 AND 7015 C)1520 
(28)标准PASCAL程序说明部分的正确顺序是 
A)LABEL-CONST -VAR -TYPE B)VAR-CONST-LABEL-TYPE 
C)LABEL-CONST-TYPE-VAR D)CONST-VAR-TYPE-LABEL 
(29)下列说法中正确的是 
A) 一个没有压缩的数组所占存储单元是压缩数组的4倍 
B) 使用压缩数组的程序比使用未经压缩数组的程序执行起来要慢 
C) 只有字符数组才可以压缩 
D) 压缩数组中的元素是不可单独存取的 
(30)设有如下说明: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; 
(31)下面满足当(aA)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); 
(35)下面程序段,能正确输出5行"HELLO"的信息是 
A)X:=1; B)X:=0; 
WHILE X BEGIN BEGIN 
WRITELN('HELLO'); WRITCLN('HELLO'); 
X:=X+1 X:=X+1 
END; END; 
C)X:=0; D)X:=1; 
WHILE BEGIN WHILE X WRITELN('HELLO'); BEGIN 
X:=X+2 WRITELN('HELLO'); 
END X:=X+1 
END; 
(36)设有集合运算[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] 
(37)设有下面过程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,C+B,C); 
(38)程序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 
(39)要求程序的功能是:依次读入数据,当输入数据的范围在50-100(含50和100)的数满5个时计算这5个数的和并输出。下面程序段能实现此功能的是 
A) SUM:=0;N:=0; 
REPEAT 
READLN(A); 
IF (A=50) THEN 
BEGIN 
SUM:=SUM+A; 
N:=N+1 
END; 
UNTIL N=5; 
WRITELN(SUM) 
B)SUM:=0;N:=0; 
REPEAT 
READLN(A); 
IF(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=50) THEN 
SUM:=SUM+A; 
N:=N=1 
UNTIL N=5; 
WRITELN(SUM) 
D)SUM:=0;N:=0; 
REPEAT 
READLN(A); 
IF (A=50) THEN 
BEGIN 
SUM:=SUM+A; 
N:=N+1 
END 
UNTIL N6; 
WRITELN(SUM) 
(40)设有下面程序: 
PROGRAM P1(OUTPUT); 
VAR J,K,Z:INTEGER; 
BEGIN 
Z:=0; 
FOR J:=1 TO 10 DO 
BEGIN 
Z:=Z+1; 
FOR K:=1 TO 10 DO Z:=Z+1 
END 
WRITELN(Z) 
END 
执行此程序后的输出是 
A)10 B)20 C)100 D)110 
(41)欲输出被2,3,5除余数均为1的最小的10个正整数,下列不能实现此功能的程序是 
A) PROGRAM X1(INPUT,OUTPUT); 
VAR COUNTER,NUMBER:INTEGER; 
BEGIN 
COUNTER:=0; 
NUMBER:=0; 
REPEAT 
NUMBER:=NUMBER+1; 
IF (NUMBER MOD 2=1)AND (NUMBER MOD 3=1)AND (NUMBER MOD 5=1) 
THEN BEGIN 
WRITELN(NUMBER); 
COUNTER:=COUNTER+1 
END 
UNTIL COUNTER=10; 
END 
b)PROGRAM X2(INPUT,OUTPUT); 
VAR COUNTER,NUMBER:INTEGER; 
BEGIN 
COUNTER:=0; 
NUMBER:=0; 
WHILE COUNTER BEGIN 
NUMBER:=NUMBER+1; 
IF (NUMBER MOD 2=1) AND (NUMBER MOD 3=1) 
AND (NUMBER MOD 5=1) 
THEN BEGIN 
WRITELN(NUMBER); 
COUNTER:=COUNTER+1 
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:=NUMBER+2*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:=NUMBER+2*3*5 
VRITELN(NUMBER); 
END; 
WRITELN(NUMBER) 
END 
(42)设有如下过程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中 
(43)已知有下面程序段: ... 
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; 
(44)已知有如下说明: VAR a:ARRAY[-3..3]OF Integer; 
k,i:Integer; 
程序段: 
k:=0; 
FOR i:=-3 TO 3 DO 
IFiELSE a[i]:=k+2; 
Writeln(a[3]-a[-3]); 
输出的是 
A)10 B)7 C)2 D)1 
(45)设有说明 
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 
(46)已知有变量说明: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[i+2]) 
输出的是 
A)5.9和0 B)5.7和5.9 C)5.9和5.9 D)6.0和5.9 
(47)已知函数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)a+b的值 
(48)设有如下函数说明 
FUNCTION ack(m,n:Integer):Integer; 
BEGIN 
IF m=0 THEN ack :=n+1 
ELSE IF (m0)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 
(49)设有如下图所示的单链表 
info next info next info next info next 

head → → ... 
p 
则p^.next^.info的值是 
A)19 B)47 C)64 D)93 
(50)设有说明 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 命令 
_____ 
(3)设当前盘为A盘,当前系统提示符为"",在不改变当前盘的情况下, 显示C盘的当前目录路径,应使用命令 3 
______ 
(4)自动批处理文件名必须是 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(a0) AND (aBEGIN 
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 (kIF (a MOD k)=0 THEN f:= 12 
_____ 
ELSE 13 
_______ 
IF NOT f THEN 
a:=a+1; 
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*10+n; 
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 ____ ____ 
n:=k; 
func:= 20 
_____ 
END; 


全国计算机等级考试二级笔试试卷 
基础知识和Pascal语言程序设计 
答案及评分标准 
一.选择题(1---40题每题 1 分,41---50题每题 2 分,共 60 分) 
(1)C (2)D (3)A (4)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 (31)B (32)C (33)B (34)D (35)B 
(36)B (37)D (38)C (390B (40)D (41)D (42)D 
(43)D (44)D (45)C (46)C (47)D (48)D (49)C 
(50) 
二.填空题(1--20共20空,每空2分) 
① 1.1100101或(1100101)2 
② 2.外部(答 外部命令 不扣分) 
③ 3.CD C:(CD与C:中间至少要有一个空格) 
④ 4.AUTOEXEC.BAT 
⑤ 5.COPY W.TXT+P.TXT或COPY W.TXT+P.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:=k+1 
⑨ 14.0 15.m 
16.Odd(m)或m MOD 20或m-(m DIV 2)*20或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]; 



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -