首页>计算机等级考试>历年真题>正文
2000年9月二级笔试试题PASCAL

www.zige365.com 2007-6-14 10:34:23 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

A) day1:=Wed B) day2:=Wed C) day1:=day2 D) day2:=Sun

(40) 有下面程序段:
a:=False; b:=False; c:=False;
x:=15;
IF a THEN x:=x-10
ELSE IF b THEN x:= x-5
ELSE IF c THEN x:=20
ELSE x:=25:
假设所有变量均已说明,程序运行后x的值是
A) 25 B) 20 C) 15 D) 5

(41) 设有程序:
PROGRAM p41(Input,Output);
TYPE arr=ARRAY[1..10] OF Char;
VAR a:arr;
i:Integer;
BEGIN
FOR i:=1 TO 10 DO
IF NOT Eoln THEN
REPEAT
Read(a[i])
UNTIL a[i]<>’ ’
ELSE a[i]:=’*’;
Readln;
FOR i:=1 TO 10 DO
Write(a[i]);
Writeln
END.
运行以上程序,输入I love You 则输出是
A) I love you B) Iloveyou C) I love you** D) Iloveyou**

(42) 设有程序:
PROGRAM p42(Input,Output);
VAR
x,s:Integer;
FUNCTION ms(a,b:Integer;VAR x:Integer):Integer;
BEGIN
x:=3*a-4*b+x;
ms:=x MOD 10
END;
BEGIN
x:=3;
s:=ms(ms(1,2,x),2*ms(1,2,x)x);
Writeln(‘x=’,x)
END
运行后,Writeln语句的输出结果是
A) x=-12 B) x=8 C) x=34 D) x=43

(43) 有下列程序段
VAR p,q,r:^Intetger;
BEGIN
New(p):p^:=1;
q:=p;q^:=2;
r:=p;r^:=3;
Dispose(r);
END;
执行后,p,q,r三个变量值的情况是
A) p^的值为1,q^的值为2,r的值无意义
B) p,q,r的值均无意义
C) p^的值为1,q^的值为2,r的值为3
D) p^的值为2,q^的值为2,r的值无意义

(44) 有条件语句
IF a<>b THEN IF a>b
THEN IF a<>c
THEN IF aTHEN S1 {设S1为PASCAL语句}
ELSE S2 {设S2为PASCAL语句}
ELSE S3 {设S3为PASCAL语句}
当a>b而同时a=c时,应执行的语句是
A) S3 B) S2 C) S1 D) 跳出该条件语句

(45) 设a,x为整型变量。有语句
CASE a OF
1,2,3,7; x:=a
END;
下列语句与该CASE语句不等价的是
A) IF a IN [1,2,3,7,] THEN x:=a;
B) IF a IN [7,1..3] THEN x:=a;
C) IF (a=1)AND(a=2)AND(a=3)AND(a=7) THEN x:=a;
D) IF (a=1)OR(a=2)OR(a=3)OR(a=7) THEN x:=a;

(46) 假定p,q,t分别为指向结点A,B,C的指针,每个结点中包含一个字符串和一个整数,如下图所示:

执行下列语句
p^:=q^; q^:=t^; t^:=p^;
后,p,q,t分别指向的结点和各结点内容正确的是

(47) 已知有函数定义
FUNCTION fn(a,b,c:Real);Real;
BEGIN
fn:=sin(a)/(sin(a-b)*sin(a-c))
END;
要计算下列m的值:

通过调用函数fn计算m的正确语句是
A) m:=fn(x,y,z)+fn(x,y,z)+fn(x,y,z)
B) m:=fn(x-y)+fn(y-z)+fn(z-x)
C) m:=fn(x,y,z)+fn(y,z,x)+fn(z,x,y)
D) m:=fn(x)+fn(y)+fn(z)

(48) 设有变量说明:VAR r,s:RECORD
a:Integer:b:Char
END;
x:Real; ch:Char;
下面赋值语句中错误的是
A) r:=s; B) s,b:=ch; C) x:=r,a; D) r,a:=x;

(49) 设有以下说明: TYPE t1=FILE OF Integer;
VAR f1:t1: n:Integer;
且abc.dat是t1型文件,下面正确的程序段是
A) Assign(f1,’abc.dat’); B) Assign(f1,’abc.dat’);
Write(f1,n); Reset(f1);
Rewrite(f1); Readln(f1,n);
Close(f1); Close(f1);
C) Assign(f1,’abc.dat’); D) Assign(f1,’abc,dat’);
Rewrite(f1); Rewet(f1);
Writeln(f1,n); Read(f1,n);
Close(f1); Close(f1);

(50) 设有类型说明TYPE arr=ARRAY[1..10] OF Char;请阅读下面过程PROCEDURE proc(VAR a:arr);
VAR n,k:Integer;
BEGIN
n:=Ord(‘a’)-Ord(‘A’);
FOR k:=1 TO 10 DO
IF a[k] IN [‘a’..’z’] THEN
a[k]:=Chr(Ord(a[k]-n)
END;
此过程的功能是
A) 把a中的所有小写字母变成大写字母
B) 把a中的所有小写字母变成大写,大写字母变成小写
C) 把a中的所有大写字母变成小写字母
D) 把a中的每个字符按ASCII码顺序改为它前面的第n个字符

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

本新闻共4页,当前在第3页  1  2  3  4  

我要投稿 新闻来源: 编辑: 作者:
相关新闻