初赛试题及答案(讲解)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(2×20=40)
1、数学表达式sin(60o)的正确PASCAL表达
式是 ( )。
A) sin(60) B) sin(3.14159*60)
C) sin(3.14159*60/180)
D) sin(60*3.14159/360)
2、下列表达式中正确的是 ( )。
A) 8/2 mod 2 B) not(1=0) and (3>2)
C) 'a'+2 D) 2+false
3、当n为任意正奇数时,值总为true的表
达式是( )。
A) n mod 2=0 B) n div 2=1
C) n-(n div 2)=1
D)n-trunc(n/2)*2=1
4、表达式Pred(Chr(Ord('A ')+4))的值是( )。
A) 'C ' B) 'D '
C) 69 D) 70
5、已知有说明
const a=1; b=2; c=3; d=4;
var w,x,y,z:integer;
执行语句 x:=a; x:=c; y:=a+2; z:=b;
w:=d-a+b; 后,其值相等的变量是
()。
A) x,y B) x,z
C) x,w D) y,z
6、程序段: for i:=1 TO 5 do
for j:=2 TO i do
w riteln(‘A’);
输出字符A的个数是()。
A) 10 B) 15 C) 20 D) 25
7、设数组a和变量i,j,k,m,n,均已说明,
且各自赋值如下
i=1; j=2; k=3; m=4; for n:=1 to 9 do a[n]:=n;
下面数组元素的值等于3的是()。A) a[i*j] B) a[m div j]
C) a[a[j+k-2]] D) a[a[k-i]+3]
8、有下面程序段:
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
9、程序段
i:=1;
REPEAT
n:=i*i; i:=i+1;
UNTIL n>i
中循环体执行的次数是()。
A)1 B)2 C)3 D)4 10、已知数组a中,每个元素a[i,j]在存储时要占3个字节,设i从1变化到8,j从1变化到10,分配内存时是从地址sa开始连续按行存储分配的。试问:a[5,8]的起始地址为()
A)sa+141 B)sa+180
C)sa+222 D)sa+225
11、有下列程序段
for i:=1 to 10 do
case i mod 4 of
0: ch[i]:=’a’;
1: ch[i]:=’b’;
2: ch[i]:=’c’;
3: ch[i]:=’d’
end;
for i:=10 downto 1 do
write(ch[i]:1); writeln;
运行后输出结果是()。
A)abcdabcdab B) bcdabcdabc
C) cbadcbadcb D) dcbadcbadc
12、有下面程序
VAR a:array[1..2,1..3]of integer;
i,j:Integer;
BEGIN
for i:=1 to 2 do for j:=1 to 3 do read(a[i,j]);
readln;
顺德华侨中学信息学奥赛辅导班测试题(6)
for i:=1 to 3 do for j:=1 to 2 do write(a[j,i]:3);
writeln
END.
此程序执行时若从键盘输入1 2 3 4 5 6,
则输出是()。
A) 1 2 3 4 5 6 B) 1 4 2 5 3 6
C) 4 5 6 1 2 3 D) 5 3 6 1 4 5
13、下列符合Pascal语法规则的过程或函
数是()。
A)FUNCTION f(x:integer):integer;
B) PROCEDURE p(var x:integer):integer; VAR y:Integer; VAR y:Integer;
BEGIN
BEGIN
y:=3*x+2;
x:=y+1;
f:=y;
writeln(x);
END; END;
C) PROCEDURE p(x:integer);
D) FUNCTION f(x:integer);
BEGIN
p: =x+10;f:=x+10;
END;
14、有如下程序
VAR a:array[1..3] of integer;
i,j:integer;
BEGIN
for i:=1 to 3 do a[i]:=i;
i:=1; j:=3;
repeat
a[i]:=a[j]+l; i:=i+l;
j:=j-1;
until i>3;
for i:=1 to 3 do write(a[i]:5);
END.
该程序的运行结果是()。
A) 4 3 2 B) 2 3 4
C) 4 5 3 D) 4 3 5
15、设有下列函数说明
FUNCTION func(n:integer):integer; begin
if n=0 then func:=0
else if n=1 then func:=2
else
func:=func(n-1)+func(n-2)
END;
表达式func(5)的值是()。
A) 6 B) 8 C) 10 D)12
16、有下列程序
VAR a,b,c:integer;
PROCEDURE p(a,b:integer; var
c:integer);
BEGIN
c:=a+b+c;
b:=b-3;
END;
BEGIN
a:=5;b:=8;c:=3;
p(a,b,c); writeln(a:4,b:4,c:4); END.
该程序执行后,正确的输出结果是()。
A) 5 8 3 B) 5 8 16
C) 5 8 5 D) 5 5 16
17、设有类型说明type arr=array[1..10] of char;请阅读下面过程
PROCEDURE proc(var a:arr);
VAR n,k:Integer;
BEGIN
n:=o rd(‘a’)-o rd(‘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个字符
18、设有如下说明:
const a=1;b=2;c=3;
var x:array[1..5] of integer;