pascal语言笔试试题答案.docx
- 文档编号:29987009
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:11
- 大小:21.21KB
pascal语言笔试试题答案.docx
《pascal语言笔试试题答案.docx》由会员分享,可在线阅读,更多相关《pascal语言笔试试题答案.docx(11页珍藏版)》请在冰豆网上搜索。
pascal语言笔试试题答案
girl873
pascal语言笔试题及答案
回复1楼2013-01-21
pascal语言笔试题及答案
一、单选题(每小题2分,共60分)
1、在结构化程序设计中所说的程序的三种基本结构是指()。
a)主函数、函数、过程b)顺序、选择、循环
c)程序首部、说明部分、语句部分d)while、repeat、for
2、以下各组运算中运算优先级最低的一组是()。
a)+,-,orb)*,/c)div,mod,andd)>=,in
3、数学表达式sin(60o)的正确pascal表达式是()。
a)sin(60)b)sin(3.14159*60)
c)sin(3.14159*60/180)d)sin(60*3.14159/360)
4、下列表达式中正确的是()。
a)8/2mod2b)not(1=0)and(32)c)\a\+2d)2+false
5、当n为任意正奇数时,值总为true的表达式是()。
a)nmod2=0b)ndiv2=1c)n-(ndiv2)=1d)n-trunc(n/2)*2=1
6、表达式pred(chr(ord(\a\)+4))的值是()。
a)\c\b)\dc)69d)70
7、下列表达式值为5的是()。
a)pred(8div2)b)abs(round(23/4))
c)succ(trunc(22/(26mod7)))d)((8mod5)*3+1)div3
8、下面变量说明中错误的是()。
a)vars:
setofchar;b)vars:
setofinteger;
c)vars:
setof1..100;d)vars:
setof(sun,mon,tue,wed,thu,fri,sat);
9、不能作为for语句循环控制变量的是下列哪种类型变量()。
a)整型b)布尔型c)实型d)字符型
10、至少被执行一次的循环语句是()。
a)for语句b)repeat-until语句
c)while语句d)for、repeat-until和while语句
11、下面关于for循环不正确的叙述是()。
A)在循环体中不能改变循环控制变量的值
B)在执行过程中初值和终值不会改变
c)分为递增型和递减型两种
d)循环控制变量不必在程序的说明部分说明
12、设m,n均为整数类型变量,且两者的数值均不大于1000。
下面语句
m:
=m+n;n:
=m-n;m:
=m-n;执行后,产生的结果是()。
a)m,n的值保持不变b)m,n的值进行了交换
c)m,n的值均为原来m的值d)m,n的值均为原来n的值
13、一个文件文件的基类型不可以是()。
a)文件b)数组c)实数d)记录数组
14、下列过程中,其功能是创建并打开一个文件的是()。
a)assignb)resetc)rewrited)write
15、已知有说明
consta=1;b=2;c=3;d=4;
varw,x,y,z:
integer;
执行语句x:
=a;x:
=c;y:
=a+2;z:
=b;w:
=d-a+b;后,其值相等的变量是()。
a)x,yb)x,zc)x,wd)y,z
16、程序段:
fori:
=1to5do
forj:
=2toidowriteln(‘a’);
输出字符a的个数是()。
a)10b)15c)20d)25
17、设数组a和变量i,j,k,m,n,均已说明,且各自赋值如下
i=1;j=2;k=3;m=4;forn:
=1to9doa[n]:
=n;
下面数组元素的值等于3的是()。
a)a[i*j]b)a[mdivj]c)a[a[j+k-2]]d)a[a[k-i]+3]
18、有下面程序段:
a:
=false;b:
=false;c:
=false;x:
=15;
ifathenx:
=x-10
elseifbthenx:
=x-5
elseifcthenx:
=20elsex:
=25;
假设所有变量均已说明,程序运行后x的值是()。
a)25b)20c)15d)5
19、程序段
i:
=1;
repeat
n:
=i*i;i:
=i+1;
untiln>i
中循环体执行的次数是()。
a)1b)2c)3d)4
20、设有如下定义
typeset=(male,female);
varx,y:
set;
则下列合法的语句是()。
a)read(y,x)b)write(x,y)c)x:
=yd)x:
=succ(female)
21、以下表达式结论正确的是()
a)[sun,fri]*[mon,tue]的值为[sun,fri,mon,tre]
b)xin[i,j,k,m]等价于(x=i)or(x=j)or(x=k)or(x=m)
c)[sun,sat]-[mon,tue]的值为[sat,mon,tue]
d)[mon]-[mon,tue]的值为[tue]
22、有下列程序段
fori:
=1to10do
caseimod4of
0:
ch[i]:
=’a’;
1:
ch[i]:
=’b’;
2:
ch[i]:
=’c’;
3:
ch[i]:
=’d’
end;
fori:
=10downto1dowrite(ch[i]:
1);writeln;
运行后输出结果是()。
a)abcdabcdabb)bcdabcddcbc)cbadcbadcbd)dcbadcbadc
23、有下面程序
vara:
array[1..2,1..3]ofinteger;
i,j:
integer;
begin
fori:
=1to2doforj:
=1to3doread(a[i,j]);
readln;
fori:
=1to3doforj:
=1to2dowrite(a[j,i]:
3);
writeln
end.
此程序执行时若从键盘输入123456,则输出是()。
a)123456b)142536
c)456123d)536145
24、下列符合pascal语法规则的过程或函数是()。
a)functionf(x:
integer):
integer;b)procedurep(varx:
integer):
integer;
vary:
integer;vary:
integer;
beginbegin
y:
=3*x+2;x:
=y+1;
f:
=ywriteln(x)
end;end;
c)procedurep(x:
integer);d)functionf(x:
integer);
beginbegin
p:
=x+10f:
=x+10
end;end;
25、有如下程序
vara:
array[1..3]ofinteger;
i,j:
integer;
begin
fori:
=1to3doa[i]:
=i;
i:
=1;j:
=3;
repeat
a[i]:
=a[j]+l;i:
=i+l;j:
=j-1;
untili>3;
fori:
=1to3dowrite(a[i]:
5);
end.
该程序的运行结果是()。
a)432b)234c)453d)435
26、设有下列函数说明
functionfunc(n:
integer):
integer;
begin
ifn=0thenfunc:
=0
elseifn=1thenfunc:
=2
elsefunc:
=func(n-1)+func(n-2)
end;
表达式func(5)的值是()。
a)6b)8c)10d)12
27、有下列程序
vara,b,c:
integer;
procedurep(a,b:
integer;varc:
integet);
begin
c:
=a+b+c;
end;
begin
a:
=5;b:
=8;c:
=3;
p(a,b,c);writeln(a:
4,b:
4,c:
4);
end.
该程序执行后,正确的输出结果是()。
a)538b)5816c)585d)588
28、设有类型说明typearr=array[1..10]ofchar;请阅读下面过程
procedureproc(vara:
arr);
varn,k:
integer;
begin
n:
=ord(‘a’)-ord(‘a’);
fork:
=1to10do
ifa[k]in[‘a’..’z’]thena[k]:
=chr(ord(a[k]-n);
end;
此过程的功能是()。
A)把a中的所有小写字母变成大写字母
B)把a中的所有小写字母变成大写,大写字母变成小写
c)把a中的所有大写字母变成小写字母
d)把a中的每个字符按ascii码顺序改为它前面的第n个字符
29、按文件存储方式可以把文件分为()。
a)类型文件和文本文件b)顺序文件和随机文件
c)内部文件和外部文件d)程序文件和数据文件
30、有如下函数
functions(varf:
text):
integer;
varnum:
integer;
begin
reset(f);num:
=0;
whilenoteof(f)do
beginreadln(f);num:
=num+1end;
s:
=num
end;
该函数的功能是()。
a)统计文本文件中文本的行数
b)统计文本文件中每行的字符数
c)将文件指针调整到文件的最后一行开始位置,并返回该行的字符个数
d)统计文本文件中字符总数
二、程序填空题(每空4分,共40分)
请将每空的正确答案写在试卷后[1]至[10]序号的横线上。
1、下面程序段打印101—200之间所有既能被3整除也能被8整除的数,请填空完成。
x:
=101;
whilex<=200do
begin
if[1]thenwrite(x:
3);
[2]
end;
2、下面程序可以把从键盘输入的一个小于32767的十进制正整数转换为字符形式的十六进制数输出,请填空完成。
vark,i:
integer;a:
longint;
s:
array[1..10]ofchar;
functionntoc(a:
integer):
char;
begin
ifa>9thenntoc:
=[3]elsentoc:
=[4]
end;
begin
k:
=0;readln(a);
repeat
k:
=k+1;
s[k]:
=ntoc(amod16);a:
=[5];
until[6];
fori:
=kdownto1dowrite(s[i]);
writeln
end.
3、输出图形,请填空完成。
如:
输入:
748915
输出:
748915
574891
157489
915748
891574
489157
vari,j:
integer;
a:
array[1..6]ofinteger;
b:
array[1..6,1..6]ofinteger;
begin
write(\inputthearraya:
\);
fori:
=1to6doread(a[i]);
fori:
=1to6do
begin
forj:
=1to6dob[i,j]:
=[7];
forj:
=1toi-1dob[i,j]:
=[8];
end;
fori:
=1to6do
begin
forj:
=1to6dowrite(b[i,j]:
3);
writeln
end;
end.
4、输入正整数,如1234567,输出7654321。
递归编程如下,请填空完成:
varn:
longint;
proceduredown(n:
integer);
begin
[9];
n:
=ndiv10;
if[10]thendown;
begin
write(\n=:
\);readln(n);
down(n);
end.
请将每空的正确答案写在答题卡上[1]至[10]序号的横线上。
[1]_______________________[2]_______________________
[3]_______________________[4]_______________________
[5]_______________________[6]_______________________
[7]_______________________[8]_______________________
[9]_______________________[10]_______________________
pascal语言笔试试题答案
一、单选题
1
2
3
4
5
6
7
8
9
10
B
D
C
A
D
B
C
B
C
B
11
12
13
14
15
16
17
18
19
20
D
B
A
C
A
A
C
A
B
C
21
22
23
24
25
26
17
18
29
30
B
C
B
AA
D
C
B
A
B
A
二、程序填空题
[1](ymod3=0)and(xmod8=0)[2]x:
=x+1
[3]chr(a+55)[4]chr(a+ord(\0\)或chr(a+48)
[5]adiv16[6]a=0
[7]a[j-i+1][8]a[7-i+j]
[9]write(nmob10)[10]n<>0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 语言 笔试 试题答案