函数和过程练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题:

1、下列函数首部或过程首部合法的为()

A、function total(x:real);

B、procedure ab(a,b:real):real

C、procedure sum

D、function f(var f:real):integer;

2、设有过程首部procedure pro(var x,y:integer); 若a,b 为整型变量,其值分别为5,6,则合法的过程调用语句是A、pro(5,6) B、pro(b-1,2*a-4)

C、pro(‘a’,’b’)

D、pro(a,b)

3、若有以下程序

program exam1(input,output);

var x,y:real; a,b,c:integer;

procedure p1(a,b,c:real);

var x:integer;

begin

……

end;

begin

……

end.

则下列说法中正确的是()

A、主程序中x的作用域包含过程p1

B、过程p1中x的作用域包含主程序

C、主程序中x的作用域和过程p1中x的作用域相同

D、主程序中x的作用域不包含过程p1

4、若有以下程序

program exam2(input,output);

var x,y:real; a,b,c:integer;

procedure p2(a,b,c:real);

var x:integer;

begin

……

end;

begin

……

end.

则下列说法中正确的是

A、y的作用域包含过程p2

B、y的作用域不包含过程p2

C、y的作用域只限于过程p2

D、y的作用域和x的作用域相同

5、program test1(output);

var x,y,z:integer;

procedure silly1(x:integer; var y:integer);

begin

x:=5; y:=6; z:=7;

writeln(x,y,z)

end;

begin

x:=1; y:=2; z:=3;

silly1(x,y);

writeln(x,y.z)

end.

以上程序运行结果为

A、5 6 7

B、5 6 7

5 6 3 5 6 7

C、5 6 7

D、5 6 7

1 6 7 1 6 3

6、program test2(output);

var x,y,z:integer;

procedure silly2(x:integer; var y:integer);

begin

x:=5; y:=6; z:=7;

writeln(x,y,z)

end;

begin

x:=1; y:=2; z:=3;

silly1(y,x);

writeln(x,y.z)

end.

以上程序运行结果为

A、5 6 7

B、5 6 7

5 6 3 6 2 3

C、5 6 7

D、5 6 7

1 6 3 1 6 7

7、program prog1(input,output);

var x,y:integer;

procedure proc1(i1,i2:integer);

begin i1:=x+y; i2:=i1*y; end;

begin

x:=5; y:=10;

proc1(x,y);

writeln(x,y)

end.

以上程序执行后的正确输出是()

A、5 10

B、5 150

C、15 150

D、15 10

8、program prog2(input,output);

var x,y:integer;

procedure proc2(i1:integer, var i2:integer);

begin i1:=x+y; i2:=i1*y; end;

begin

x:=5; y:=10;

proc2(x,y);

writeln(x,y)

end.

以上程序执行后的正确输出是()

A、5 10

B、5 150

C、15 150

D、15 10

9、program main(output);

var x,m,n:integer: y:real;

procedure a (var x:integer; y:real);

var m:integer;

begin x:=x+1; m:=x+1; y:=m*3; n:=m

end;

begin

x:=8; m:=5; n:=3; y:=1; a(m,y);

writeln(x,m,n,y:4:1)

end.

以上程序运行后的正确输出是

A、8 5 3 1.0

B、9 10 10 3.0

C、8 7 7 21.0

D、8 6 7 1.0

10、program main(output);

function p(x:real; n:integer):real;

begin

if n=0 then p:=1.0

else if odd (n) then p:=x*sqr(p(x, n div 3))

else p:=sqr(p(x, n div 3))

end;

begin

writeln(p(2.0,7):6:1)

end.

以上程序运行后的正确输出是

A、1.0

B、2

C、2.0

D、7

11、program exam(output);

var a,b,c:integer;

procedure proc(var a:integer; b:integer);

begin

a:=1; b:=2; c:=3;

end;

begin

a:=5; b:=6; c:=7;

proc(a,b);

writeln(a:2,b:2,c:2)

end.

以上程序的运行结果是()A、1 6 3

B、1 2 3

C、1 6 7

D、5 6 7

12、program exam(input,output);

var x:integer;

procedure a;

var x:integer;

begin writeln(x:1); x:=2; writeln(x:1) end; begin x:=1; a; writlen(x:1) end.

以上程序的运行结果是()

A、29254(随机数)

B、1

2 2

1 1

C、29254(随机数)

D、1

2 2

2 2

13、已知函数说明如下:

function f(n:integer):integer;

begin

if n=0 then f:=0

else if n>0 then f:=f(n-2)

else f:=f(n+3)

end;

则函数调用f(5)的值是

A、0

B、1

C、-1

D、-2

14、program aa (output);

var x,y,z: integer;

procedure p(x,y:integer; var z:integer);

begin z:=y-x-z end;

begin x:=5; y:=7; z:=4;

p(7, x+y+z, x); writeln(x,y,z)

end.

以上程序运行后的结果是()

A、-2 7 4

B、5 7 -2

C、5 7 4

D、4 7 4

15、program prog1(input,output);

var a,b:integer;

procedure p1(x:integer; var y:integer);

begin y:=x+y; writeln(x:3,y:3) end;

begin a:=5; b:=8; p1(a,b);

p1(a+b,a); p1(a div b,b)

end.

以上程序执行后的输出是()

A、5 13

B、5 13

C、5 13

D、5 13

18 5 18 23 18 5 18 23 1 13 1 13 1 14 1 14 16、有下列函数:

function f1(a:integer):integer;

var n,d:integer;

begin n:=0; d:=2*a;

while d>=a do

begin d:=d div 3; n:=n+1 end;

f1:=n

相关文档
最新文档