初赛试题及答案(讲解)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档