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

📄 1999年9月二级笔试试题pascal.txt

📁 c++的大量习题,对二级考试大有帮助. 希望大家满意.
💻 TXT
📖 第 1 页 / 共 2 页
字号:
(41)设集合x=[2,4,6,8],y=[2,3,4,5,6],下面能使a=[ ]的赋值语句是 
A)a:=x-y+[8] B)a:=(x+x)*(x-y) 
C)a:=x*y-x D)a:=(y-x)-(x-y) 
(42)有程序: 
PROGRAM prog(Input,Output) 
VAR a,b:Integer 
PROCEDURE p(VAR x:Integer;y:Integer) 
BEGIN 
x:x+y 
END 
BEGIN 
a:=5;b:=10 
p(a,b) 
p(a,a MOD b) 
Writeln(a,',',b) 
END 
则运行结果为 
A)10,10 B)20,20 C)10,20 D)20,10 
(43)有下列程序: 
PROGRAM exam2(Input,Output) 
VAR i:Integer 
FUNCTION ss(n:Integer):Boolean 
VAR i:Integer;b:Boolean 
BEGIN 
i:=3;b:=True 
WHILE(iBEGIN 
IF n MOD i=0 THEN b:=False 
i:=i+2 
END 
ss:=b 
END 
BEGIN 
i:=3 
WHILE iBEGIN 
IF ss(i) AND ss(i+4) AND ss(i+10) THEN 
Writeln(i) 
i:=i+2 
END 
END 
则程序的功能是 
A)找出100以内的全部质数(即素数). 
B)找出100以内质数的个数. 
C)找出100以内满足i,i+4,i+10都是质数的i的个数. 
D)找出100以内满足i,i+4,i+10都是质数的所有整数i. 
(44)设有说明 
VAR a,b,c:Integer 
FUNCTION ff(x,y,z,j:Integer;VAR a:integer):Integer 
VAR i:Integer 
BEGIN 
ff:=0;a:=j 
FOR i:= a TO 3 DO 
BEGIN 
ff:=(z-y) DIV x 
x:=x+1 
END 
END 
执行语句c:=ff(ff(2,4,16,1,a),6,8,3,b)后变量c,a,b的值分别是 
A)0,1,1 B)0,3,1 C)0,3,3 D)0,1,3 
(45)下面哪个类型说明是错误的? 
A)TYPE rec1=RECORD B)TYPE rec2=RECORD 
a:Integer a:Integer 
CASE flag:'A'..'C' OF CASE flag:'X'..'Z' OF 
'A':(x:Char) 'X':(x:Char) 
'B':(y:Char) 'Y':(y:Char) 
'C':(z:Char) 'Z':(z:Char) 
END END 
C)TYPE rec3=RECORD D)TYPE rec3=RECORD 
a:=Integer x:Integer 
CASE flag:'A'..'C' OF CASE flag:'X'..'Z' OF 
'A':(a:Char) 'X':(a:Char) 
'B':(b:Char) 'Y':(b:Char) 
'C':(c:Char) 'Z':(c:Char) 
END END 
(46)设有类型和变量说明如下: 
TYPE t1=RECORD 
a,b:Integer 
END 
t2=RECORD 
a:Char;b:t1 
END 
VAR x:t2 
下面哪组语句有错误? 
A)x.a:='A' B)WITH x,b DO 
x.b.a:=1 BEGIN 
x.b.b:=2 a:='A';b:=5 
END 
C)WITH x DO D)x.a:='C' 
BEGIN WITH x,b DO 
WITH b DO BEGIN 
BEGIN a:=1; b:=2 
a:=1; b:=2 END 
END 
a:='C' 
END 
(47)设n是整型变量,阅读下面的程序段 
Readln(n) 
REPEAT 
IF n MOD 2=0 THEN 
n:=n+1 
ELSE 
n:=n+2 
UNTIL n=1000 
关于输入数据的正确描述是 
A)只有输入的n是偶数时才会出现死循环 
B)只有输入的n是奇数时才会出现死循环 
C)只有输入的n大于或等于1000时才会出现死循环 
D)输入任何数时都会出现死循环 
(48)下面程序的输出是 
PROGAM bs23(Output) 
VAR a:ARRAY[1..10] OF Char 
k:Integer; ch:Char 
BEGIN 
FOR k:=1 TO 10 DO 
a[k]:=Chr(Ord('A')+k) 
FOR k:=1 TO 10 DO 
BEGIN 
ch:=a[k] 
a[k]:a[11-k] 
a[11-k]:=ch 
END 
FOR k:=1 TO 10 DO 
Write(a[k]) 
Writeln 
END 
A)ABCDEFGHIJ B)BCDEFGHIJK C)JIHGFEDCBA D)KJIHGFEDCB 
(49)设文件file2.dat中是一行若干个大写字母(没有行结束符),请阅读下面的程序 
PROGRAM bs24(Input,Output) 
VAR f1,f2:Text 
ch:Char;j:Integer 
s:SET OF 'A'..'Z' 
BEGIN 
s:=[ ] 
Assign(f1,'file2.dat') 
Assign(f2,'out2.dat') 
Reset(f1) 
Rewrite(f2) 
WHILE NOT Eof(f1) DO 
BEGIN 
Read(f1,ch) 
s:=s+[ch] 
END 
FOR ch:='A' TO 'Z' DO 
IF ch IN s THEN 
Write(f2,ch) 
Close(f1) 
close(f2) 
END 
此程序的功能是 
A)把file2.dat中不重复的字母写入文件out2.dat(即只保留出现一次的字母). 
B)把file2.dat中重复出现的字母写入文件out2.dat(即只保留出现多次的字母) 
C)把file2.dat中重复出现的字母中多余的字母滤去后,写入文件out2.dat(即若 有 
多个字母相同,则只保留一个) 
D)把file2.dat中的所有字母写入文件out2.dat. 
(50)设有说明 CONSRT n=10 
TYPE arr=ARRAY[1..n] OF Integer 
要求函数func从数组a中查找一个等于x的数并返回此数的下标,如果a中没有此数, 
则返回0,下面哪个函数不能完全正确地实现上述功能. 
A)FUNCTION func(a:arr;x:Integer):Integer 
VAR found:Boolean; k:Integer 
BEGIN 
found:=False; k:=1 
WHILE (kIF x=a[k] THEN 
found:=True 
ELSE 
k:=k+1 
IF found THEN 
func:=k 
ELSE 
func:=0 
END 
B)FUNCTION func(a:arr; x:integer):Integer 
VAR found:Boolean; k:Integer 
BEGIN 
k:=0 
REPEAT 
k:=k+1 
found:=x=a[k] 
UNTIL(k=n) OR found 
IF found THEN 
func:=k 
ELSE 
func:=0 
END 
C)FUNCTION func(a:arr;x:Integer):Integer 
VAR k:Integer 
BEGIN 
k:=1 
WHILE (ka[k]) DO 
k:=k+1 
IF kn THEN 
func:=0 
ELSE 
func:=k 
END 
D)FUNCION func(a:arr;x:Integer):integer 
VAR k:Integer 
BEGIN 
k:=0 
REPEAT 
k:=k+1 
UNTIL(a[k]=x) OR (k=n) 
IF kn THEN 
func:=0 
ELSE 
func:=k 
END 
二.填空题(每空2分,共40分) 
请将每一个空的正确答案写在答题卡___1___至___20___序号的横线上, 答在试卷上不得 
分. 
(1)DOS命令分为内部命令与外部命令,PATH命令是___1___命令. 
(2)设当前盘为A盘,当前目录为\X\Y,A盘上的一个文件QR.C 在当前目录下的子目录W中. 
现已将A盘的当前目录改为\D\XY,当前盘改为C盘,如果需指定A盘上该文件应写成___2___. 
(3)为了得到XCOPY命令的在线帮助,可使用的DOS命令之一为___3___. 
(4)在DOS系统下,代表键盘与显示器的设备文件名为___4___. 
(5)在DOS系统下,可以直接执行的文件的扩展名除.EXE外,还有两个是___5___. 
(6)设有说明 TYPE 
list=^node 
node=RECORD 
data:Char 
next:list 
END 
下面过程letterlist的功能是:对输入的一串字母(限定为小写字母), 按输入顺序建立 
一个字母链表(当输入的是非小写字母时停止建表). 
PROGCEURE letterlist(VAR head:list) 
VAR 
h,p:list 
ch:Char 
BEGIN 
head:=NIL 
Read(ch) 
WHILE ch IN ['a'..'z'] DO 
BEGIN 
___6___; 
p^.data:=ch 
___7___:=NIL 
IF head=NIL 
THEN head:=p 
ELSE___8___:=p 
h:=p 
Read(ch) 
END 
Readln 
h^.next:=NIL 
END 
(7)过程pl计算并输出两个四位整数m和n的乘积, 乘积分别放在两个整型变量hi 和lo 
中,hi存放乘积的高4位数,lo存放乘积的低4位数. 
例如,m=4567,n=5678,则计算结果为4567* 5678= 25931426,乘积的前4位数2593 
存入hi,乘积的后4位数1426存入lo. 
PROCEDURE pl(m,n:Ineger;VAR hi,lo:Integer) 
VAR i:Integer 
BEGIN 
i:=n;hi:=0;___9___; 
REPEAT 
i:=i-1;lo:=lo+m 
IF lo =10000 THEN 
BEGIN 
lo:=lo-___10___; 
___11___; 
END 
UNTIL___12___; 
Write(hi:4,',',lo:4) 
END 
(8)一个数如果正好等于其因子之和,就称其为"完数".例如6的因子是1,2,3,并且6=1+2+3, 
所以6是一个"完数".下面的程序可以输出2──n之间的所有完数之和.其中n为2

⌨️ 快捷键说明

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