计算机程序试题答案,历年计算机软考程序设计模拟试题及答案

f5b7d0eb1dbd46acec5391965ece0840.png

一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。每小题1分,共10分)

1.下面的( )是pascal中有效的用户自定义标识符

A. Program

B. prog#2

C. 2ndone

D. prog2

2.在ASCII码字符集中,字符'A'的序数是65,字符'B'的序数是66。变量A='B',则ord('A')和ord(A)的值分别是(

)

A. 65和65

B. 65和B

C. 65和66

D. A和66

3.假设要通过read语句分别给变量a和b赋值5和7,数据键入的顺序是:57。则(

)的格式是正确的(表示空格)

A. read(ab)

B. read(b,a)

C. read(ab)

D. read(a,b)

4.下面程序段当x的值为9.95时,下面语句输出的内容是(

)

if x>7.5 then

begin

x:=90.0;

writeln('x is',x:4:2)

end

else x:=25.0;

writeln('x is',x:3:1);

A. x is 90.00

B. x is 90.00 x is 90.0

C. x is 90.00 x is 25.0

D. x is 25.0

5.下面各程序段中,( )能在一行中输出五个'*'

A.I:=0;

repeat

write('*');

I:=I+1

until I=5

B.I:=0;

repleat

write('*')

until I=5

C.I:=0;

repeat

write('*');

I:=I-1

until I=5

D.I:=0;

repeat

writeln('*')

I:=I+2

until I=5

6.函数的结果类型可以是( )

A. 数组类型和简单类型

B. 记录类型和简单类型

C. 文件类型和简单类型

D. 指针类型和简单类型

7.设定义和说明如下:

TYPE COLORTYPE=(READ,BLUE,YELLOW,WHITE,BLACK);

PERSON=(MAN,WOMAN);

VAR COLOR:COLORTYPE;

STUDENT:PERSON;

下列( )语句是不正确的

A. FOR COLOR:=RED TO BLACK DO write('MAN');

B. WHILE COLOR=BLACK DO write('MAN');

C. IF COLOR<>YELLOW THEN WRITE('YES');

D. IF WOMAN>RED THEN WRITE('NO');

8.若有定义:TYPE AR=ARRAY[-2..2,-1..2]OF REAL;它表示AR类型是具有(

)的二维数组

A. 4行5列

B. 4行3列

C. 3行4列

D. 5行4列

9.动态变量的撤消必须使用标准过程( )

A. NOT NEW(P)

B. DELETE(P)

C. DISPOSE(P)

D. ERASE(P)

10.记录变量进行赋值运算时,要求这两个记录变量类型(

)

A. 相同

B. 相容

C. 一致

D. 赋值相容

二、填空题(每空1分,共15分)

1.程序的功能模块设计是指程序模块应该按照程序执行的功能来划分。这种程序模块应具有简单性、___________和完整性。

2.在PASCAL中,四种标准类型是:整型,实型,___________和布尔类型。

3.表达式odd(succ (pred(5)))的值为___________。

4.表达式5 * 2 div 4 * 4的值为___________。

5.下面程序段的输出结果是___________。

if succ(6)=pred(4) then writeln ('red')

else if pred(7)=succ(5) then writeln('yellow')

else writeln('blue');

6.设ch为字符型变量,则条件(ch<>'x')and(ch<>'y')and(ch<>'z')用集合表示___________。

7.标准PASCAL规定,FOR语句执行完毕后,其循环控制变量的值___________。

8.设有以下说明:

var a,b,c:integer;

则下面程序段的输出是___________。

a:=5;b:=8;c:=1;

while b-a>c do

begin

a:=b-a;b:=b-a

end;

writeln(b);

9.下面程序的输出结果是___________。

program pp(output);

const m=10;n=5;

var x,y:integer;

procedure p1;

var y:integer;

begin

y:=m+n;x:=m

end;

y:=m*n;

pl;

writeln(y)

end.

10.形式参数有___________,变量参数,过程参数和函数参数四种。

11.子界类型属于有序类型,上,下界属于同一有序类型,且要求上界___________下界。

12.设有以下说明:

type weekday=(sun,mon,tue,wed,thu,fri,sat);

var day;weekday;

以下赋值语句:

day:=succ(wed);

使用函数pred()来实现与上述语句等价的赋值语句是:______________________。

13.在各种类型的数组变量中,只有___________数组变量可以作为输出语句的参数。

14.使用标准函数___________,可以判断是否读到文本文件一行的行尾字符。

15.设var p:^T;则p是指针变量,而___________是类型为T的动态变量。

三、改错题(指出所给程序中的错误,在错误位置处打上横线标记,并注明其错误原因。每题4分,共20分)

1.程序功能,求绝对值小于100的任意两个非零整型数据的积和商。

程序:PROGRAM calcA(input,output);

VAR a,b:INTEGER;

multi,div:REAL;

BEGIN

readln(a,b);

multi=a*b; div=a/b;

writeln(a:4,b:4,multi:8:2,div:8:2)

END.

2.程序功能,找出任意三个整型数据x、y、z中的最小者。

程序:PROGRAM findmin(input,output);

VAR x,y,z,min:INTEGER;

BEGIN

readln(x,y,z);

IF x

IF y

IF z

writeln(x:4,y:4,z:4);

writeln('MINIMUM IS',min:4)

END.

3.程序功能:使用尝试法检验任一自然数是否为素数。

检验方法:任一自然数n,如果从2开始到根号n为止的所有自然数都不能整除(除尽)n,则n即为素数(也称质数)。

程序:PROGRAM prime2(input,output);

VAR i,n: INTEGER;

isprime: BOOLEAN;

BEGIN

readln(n);

FOR i:=2 TO trunc(sqrt(n)) DO

IF nMOD i=0

THEN isprime:=FALSE

ENDDO;

IF isprime

THEN writeln(n,'is a prime!')

ELSE writeln(n,'is not a prime!')

END.

4.程序功能:用自定义的过程计算一个任意整数的随机数,然后再将计算出的随机数与测试数据test运算后输出,整数r的随机数x可用如下公式计算:

x=((r*168+2159) MDO 32767)/32767

(设机器正整数为32767)

程序:PROGRAM calc(input,output);

CONST test=200.88;

VAR a,b: REAL;

PROCEDURE random(VAR r,rnd:INTEGER);

BEGIN

rnd:=(r*168+2159) MOD MaxInt

md:=trunc(rnd/MaxInt)

END;

BEGIN

random(400+test,a);

random(400-test,b);

writeln('a=',a,'b=',b);

END.

5.程序功能:将数组A中的数据复制到数组B中。

程序:PROGRAM copyarray2(input,output);

VAR a,b: ARRAY[10..1] OF INTEGER;

BEGIN

readln(a);

b:=a;

write(b);

END.

四、阅读程序(阅读给出的程序,将其运行结果写在横线上。第1、2题各4分,第3、4题各5分,第5题7分,共25分)

(以下↙表示回车换行符)

1. program p5(input,output);

var ch:char;

n:integer;

begin

n:=0;

read(ch);

repeat

n:=n*2+ord(ch)-ord('0');

read(ch)

until ch='#';

write(n)

end.

执行该程序,当输入1011#↙时,其输出为:______________________

2.program p6(output)

var n,k,i,s:integer;

begin

for n:=9 to 10 do

begin

s:=0;

k:=1;

for i:=1 to n do

begin

s:=s+i*k;

k:=-k

end;

writeln(s)

end

end.

一.单项选择题(每小题1分,共10分)

1.D

2.C

3.D

4.B

5.A

6.D

7.D

8.D

9.C

10.A

二.填空题(每空1分,共15分)

1.独立性

2.字符型

3.TRUE(不区分大小写字母)

4.8

5.yellow(大写字母不给分)

6.not(ch in ['x','y','z']或not (ch in [‘x.'..'z'])

7.已无定义(或无确定的值,或等价的文字说明)

8.3

9.50

10.值参数

11.必须大于(或大于等于)

12.day:=pred(fri)(不区分大小写字母)

13.字符(或紧凑字符)

14.eoln或eoln()(不区分大小写字母)

15.p↑(不区分大小写字母)

三.改错题(每题4分,共20分)

注:①错误原因说明除这里给出的外,可为其他等同含义的描述。

②错误位置指明除这里标明的外,可视具体程序灵活考虑。

评卷时要根据以上两面三刀点恰当评分。

1.错误位置:PROGRAM calcA(input,output);

VAR a,b: INTEGER;

multi,div: REAL;

(1)

BEGIN

readln(a,b);

multi=a*b; div=a/b;

writeln(a:4,b:4,multi:8:2,div:8:2)

END.

错误说明:(1)div为(系统)保留字,不能用作变量名。

(2)赋值语句的赋值号应为“:=”,不是“=”。

评分标准:指出错误位置每处及错误原因说明每个各1分。

2.错误位置:PROGRAM findmin (input,output);

VAR x,y,z,min: INTEGER;

BEGIN

readln(x,y,z);

(1) (2) If x(1) (2) If y(1) (2) If z writeln(x:4,y:4,z:4);

writeln('MINIMUM IS',min:4)

END.

错误说明:(1)各个关系式中的小于号( (2)THENIF应改为 THEN IF。

评分标准:指出错误位置每种及错误原因说明每个各1分。

*其他形式的正确程序段参考:

形式一 IF x<=y THEN IF x<=z THEN min:=x;

IF y<=x THEN IF y<=z THEN min:=y;

IF z<=x THEN IF z<=y THEN min:=z;

形式二 IF x THEN IFx<=z

THEN min:=x

ELSE min:=z

ELSE IF y<=z

THEN min:=y

ELSE min:=z;

3.错误位置:PROGRAM prime2(input,output);

VAR i,n: INTEGER;

isprime:BOOLEAN;

BEGIN

(1)→readln(n);

FOR i:=2TO trune(squr(n))DO

IF n MOD i=0

THEN isprime:=FALSE

(2)→ENDDO;

IF isprime

THEN writeln(n,'is a prime!')

ELSE writeln(n,'is not a prime!')

END.

错误说明:(1)循环语句之前缺少对变量isprime赋初值的语句:isprime:=TRUE;

(2)ENDDO应划去(为非法、多余成分)。

评分标准:指出错误位置每种及错误原因说明每个各1分。

4.错误位置: PROGRAM calc(input,output);

CONST test=200.88;

VAR a,b: REAL;

PROCEDURE random(VAR r,rnd:INTEGER);

BEGIN

random(400+test,a);(1)(2)

random(400-test,b);(1)(2)

writeln(‘a=',a,'b=',b);

END

错误说明:(1)赋值不相容(形参为整型,实参为实型)。

(2)形参为变量参数时实参不能为表达式。

评分标准:指出错误位置每种及错误原因说明每个各1分。

5.错误位置:PROGRAM copyarray2(input,output);

VAR a,b: ARRAY[10..1]OF INTEGER;

(1)

BEGIN

Readln(a); (2)

b:=a;

write(b); (2)

END.

错误说明;(1)数组下标的上下界必须符合下界 (2)数值型数组变量不能作为输入、输出语句参数。或说:“数值型数组不能直接整体输入、输出。”

评分标准;错误(1)指出位置及说明各1分。

错误(2)指出位置每处0.5分,说明1分。

四.阅读程序(第1、2、题各4分,第3、4题各5分,第5题7分,共25分)

1.11

2.5(2分) -5(2分)

3.5 2 7

2.7 (每个数字各1分)

1.head→(4)()→(2)()→(4)()→(6)()→(8)(nil)

(各结点值的顺序及值正确,每一结点1分,共5分)

2.3 5 7 11 13 17

每个数字各1分

五.编程题(第1、2、题各4分,第3题10分,第4、5题各6分,共30分)

1.①100 to 999(1分)

②i div 100;(1分)

③(a=b)and (a< >c)or(a=c)and(a< >b)or(b=c)and(a< >b)(2分)

2. ①n>0(或n< >0)(1分)

②n:=n div 10 (或 n:=trunc(n/10));(1分)

③inverse:=t(1分)

④inverse(n)(1分)

3. ①w:=b[i](1分)

②1 to 5(1分)

③a[j]:=w mod 10(或a[b-j]:=w mod 10)(1分)

④s:=s+a[j](1分)

⑤writeln(‘',s)(1分)

4. ①file of integer;(1分)

②eof(f1)\ 可交换次序(1分)

③eof(f2)/ (1分)

④num1< >num2(1分)

⑤eof(f1)\可交换次序(1分)

⑥eof(f2)/(1分)

5.①p∧.next< >nil(1分)

②j+1(1分)

③find:=p(1分)

2829f2ca24f0d0090cbba57f30759f23.png

历年计算机软考程序设计模拟试题及答案.doc

下载Word文档到电脑,方便收藏和打印[全文共5768字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值