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