历年计算机软考程序设计模拟试题及答案.docx
- 文档编号:6717749
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:11
- 大小:19.09KB
历年计算机软考程序设计模拟试题及答案.docx
《历年计算机软考程序设计模拟试题及答案.docx》由会员分享,可在线阅读,更多相关《历年计算机软考程序设计模拟试题及答案.docx(11页珍藏版)》请在冰豆网上搜索。
历年计算机软考程序设计模拟试题及答案
计算机软件水平考试/真题题库
历年计算机软考程序设计模拟试题及答案
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。
每小题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时,下面语句输出的内容是(
)
ifx>7.5then
begin
x:
=90.0;
writeln('xis',x:
4:
2)
end
elsex:
=25.0;
writeln('xis',x:
3:
1);
A.xis90.00
B.xis90.00xis90.0
C.xis90.00xis25.0
D.xis25.0
5.下面各程序段中,()能在一行中输出五个'*'
A.I:
=0;
repeat
write('*');
I:
=I+1
untilI=5
B.I:
=0;
repleat
write('*')
untilI=5
C.I:
=0;
repeat
write('*');
I:
=I-1
untilI=5
D.I:
=0;
repeat
writeln('*')
I:
=I+2
untilI=5
6.函数的结果类型可以是()
A.数组类型和简单类型
B.记录类型和简单类型
C.文件类型和简单类型
D.指针类型和简单类型
7.设定义和说明如下:
TYPECOLORTYPE=(READ,BLUE,YELLOW,WHITE,BLACK);
PERSON=(MAN,WOMAN);
VARCOLOR:
COLORTYPE;
STUDENT:
PERSON;
下列()语句是不正确的
A.FORCOLOR:
=REDTOBLACKDOwrite('MAN');
B.WHILECOLOR=BLACKDOwrite('MAN');
C.IFCOLOR<>YELLOWTHENWRITE('YES');
D.IFWOMAN>REDTHENWRITE('NO');
8.若有定义:
TYPEAR=ARRAY[-2..2,-1..2]OFREAL;它表示AR类型是具有(
)的二维数组
A.4行5列
B.4行3列
C.3行4列
D.5行4列
9.动态变量的撤消必须使用标准过程()
A.NOTNEW(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*2div4*4的值为___________。
5.下面程序段的输出结果是___________。
ifsucc(6)=pred(4)thenwriteln('red')
elseifpred(7)=succ(5)thenwriteln('yellow')
elsewriteln('blue');
6.设ch为字符型变量,则条件(ch<>'x')and(ch<>'y')and(ch<>'z')用集合表示___________。
7.标准PASCAL规定,FOR语句执行完毕后,其循环控制变量的值___________。
8.设有以下说明:
vara,b,c:
integer;
则下面程序段的输出是___________。
a:
=5;b:
=8;c:
=1;
whileb-a>cdo
begin
a:
=b-a;b:
=b-a
end;
writeln(b);
9.下面程序的输出结果是___________。
programpp(output);
constm=10;n=5;
varx,y:
integer;
procedurep1;
vary:
integer;
begin
y:
=m+n;x:
=m
end;
y:
=m*n;
pl;
writeln(y)
end.
10.形式参数有___________,变量参数,过程参数和函数参数四种。
11.子界类型属于有序类型,上,下界属于同一有序类型,且要求上界___________下界。
12.设有以下说明:
typeweekday=(sun,mon,tue,wed,thu,fri,sat);
varday;weekday;
以下赋值语句:
day:
=succ(wed);
使用函数pred()来实现与上述语句等价的赋值语句是:
______________________。
13.在各种类型的数组变量中,只有___________数组变量可以作为输出语句的参数。
14.使用标准函数___________,可以判断是否读到文本文件一行的行尾字符。
15.设varp:
^T;则p是指针变量,而___________是类型为T的动态变量。
三、改错题(指出所给程序中的错误,在错误位置处打上横线标记,并注明其错误原因。
每题4分,共20分)
1.程序功能,求绝对值小于100的任意两个非零整型数据的积和商。
程序:
PROGRAMcalcA(input,output);
VARa,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中的最小者。
程序:
PROGRAMfindmin(input,output);
VARx,y,z,min:
INTEGER;
BEGIN
readln(x,y,z);
IFx
IFy
IFz
writeln(x:
4,y:
4,z:
4);
writeln('MINIMUMIS',min:
4)
END.
3.程序功能:
使用尝试法检验任一自然数是否为素数。
检验方法:
任一自然数n,如果从2开始到根号n为止的所有自然数都不能整除(除尽)n,则n即为素数(也称质数)。
程序:
PROGRAMprime2(input,output);
VARi,n:
INTEGER;
isprime:
BOOLEAN;
BEGIN
readln(n);
FORi:
=2TOtrunc(sqrt(n))DO
IFnMODi=0
THENisprime:
=FALSE
ENDDO;
IFisprime
THENwriteln(n,'isaprime!
')
ELSEwriteln(n,'isnotaprime!
')
END.
4.程序功能:
用自定义的过程计算一个任意整数的随机数,然后再将计算出的随机数与测试数据test运算后输出,整数r的随机数x可用如下公式计算:
x=((r*168+2159)MDO32767)/32767
(设机器正整数为32767)
程序:
PROGRAMcalc(input,output);
CONSTtest=200.88;
VARa,b:
REAL;
PROCEDURErandom(VARr,rnd:
INTEGER);
BEGIN
rnd:
=(r*168+2159)MODMaxInt
md:
=trunc(rnd/MaxInt)
END;
BEGIN
random(400+test,a);
random(400-test,b);
writeln('a=',a,'b=',b);
END.
5.程序功能:
将数组A中的数据复制到数组B中。
程序:
PROGRAMcopyarray2(input,output);
VARa,b:
ARRAY[10..1]OFINTEGER;
BEGIN
readln(a);
b:
=a;
write(b);
END.
四、阅读程序(阅读给出的程序,将其运行结果写在横线上。
第1、2题各4分,第3、4题各5分,第5题7分,共25分)
(以下↙表示回车换行符)
1.programp5(input,output);
varch:
char;
n:
integer;
begin
n:
=0;
read(ch);
repeat
n:
=n*2+ord(ch)-ord('0');
read(ch)
untilch='#';
write(n)
end.
执行该程序,当输入1011#↙时,其输出为:
______________________
2.programp6(output)
varn,k,i,s:
integer;
begin
forn:
=9to10do
begin
s:
=0;
k:
=1;
fori:
=1tondo
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(chin['x','y','z']或not(chin[‘x.'..'z'])
7.已无定义(或无确定的值,或等价的文字说明)
8.3
9.50
10.值参数
11.必须大于(或大于等于)
12.day:
=pred(fri)(不区分大小写字母)
13.字符(或紧凑字符)
14.eoln或eoln()(不区分大小写字母)
15.p↑(不区分大小写字母)
三.改错题(每题4分,共20分)
注:
①错误原因说明除这里给出的外,可为其他等同含义的描述。
②错误位置指明除这里标明的外,可视具体程序灵活考虑。
评卷时要根据以上两面三刀点恰当评分。
1.错误位置:
PROGRAMcalcA(input,output);
VARa,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.错误位置:
PROGRAMfindmin(input,output);
VARx,y,z,min:
INTEGER;
BEGIN
readln(x,y,z);
(1)
(2)Ifx
(1)
(2)Ify
(1)
(2)Ifzwriteln(x:
4,y:
4,z:
4);
writeln('MINIMUMIS',min:
4)
END.
错误说明:
(1)各个关系式中的小于号(<)应该为小于等于号(<=)否则,对于相等的特殊情形将找不出最小数。
(2)THENIF应改为THENIF。
评分标准:
指出错误位置每种及错误原因说明每个各1分。
*其他形式的正确程序段参考:
形式一IFx<=yTHENIFx<=zTHENmin:
=x;
IFy<=xTHENIFy<=zTHENmin:
=y;
IFz<=xTHENIFz<=yTHENmin:
=z;
形式二IFxTHENIFx<=z
THENmin:
=x
ELSEmin:
=z
ELSEIFy<=z
THENmin:
=y
ELSEmin:
=z;
3.错误位置:
PROGRAMprime2(input,output);
VARi,n:
INTEGER;
isprime:
BOOLEAN;
BEGIN
(1)→readln(n);
FORi:
=2TOtrune(squr(n))DO
IFnMODi=0
THENisprime:
=FALSE
(2)→ENDDO;
IFisprime
THENwriteln(n,'isaprime!
')
ELSEwriteln(n,'isnotaprime!
')
END.
错误说明:
(1)循环语句之前缺少对变量isprime赋初值的语句:
isprime:
=TRUE;
(2)ENDDO应划去(为非法、多余成分)。
评分标准:
指出错误位置每种及错误原因说明每个各1分。
4.错误位置:
PROGRAMcalc(input,output);
CONSTtest=200.88;
VARa,b:
REAL;
PROCEDURErandom(VARr,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.错误位置:
PROGRAMcopyarray2(input,output);
VARa,b:
ARRAY[10..1]OFINTEGER;
(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.527
2.7(每个数字各1分)
1.head→(4)()→
(2)()→(4)()→(6)()→(8)(nil)
(各结点值的顺序及值正确,每一结点1分,共5分)
2.357111317
每个数字各1分
五.编程题(第1、2、题各4分,第3题10分,第4、5题各6分,共30分)
1.①100to999(1分)
②idiv100;(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:
=ndiv10(或n:
=trunc(n/10));(1分)
③inverse:
=t(1分)
④inverse(n)(1分)
3.①w:
=b[i](1分)
②1to5(1分)
③a[j]:
=wmod10(或a[b-j]:
=wmod10)(1分)
④s:
=s+a[j](1分)
⑤writeln(‘',s)(1分)
4.①fileofinteger;(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分)
历年计算机软考程序设计模拟试题及答案.doc[全文共5768字]编号:
6113577
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 计算机 程序设计 模拟 试题 答案