单选题
[程序]
* *ABC.PRG
SET TALK OFF
STORE 10 TO a,b,c
DO XYZ WITH a,a+b,10
? a,b,c
? i,m,n
SET TALK ON
RETURN
RETURN
* *XYZ.PRG
PARAx,y,z
PUBLIC i,m,n
STORE 5 TO i,m,n
? x,y,z
i=x+y
X=y+z
y=m+n
? x,y,z
单选题
第一次输出x,y,z的值分别为______。
A、
10 10 10
B、
30 10 20
C、
10 10 20
D、
10 20 10
【正确答案】
D
【答案解析】
[解析] 调用XYZ时,把实参a,a+b,10分别传递给XYZ程序中的x,y,z,所以第一次x,y,z的值分别为10,20,10。
单选题
第二次输出x,y,z的值分别为______。
A、
30 10 10
B、
30 10 20
C、
10 10 10
D、
30 10 20
【正确答案】
A
【答案解析】
[解析] 在XYZ程序中,i=x+y=10+20=30,x=y+z=20+10=30,y=m+n=5+5=10,此时,X,Y已被重新赋值,所以第二次输出x,y,z的值分别为30,10,10。
单选题
输出a,b,c的值分别为______。
A、
30 10 10
B、
30 10 20
C、
10 10 10
D、
10 20 10
【正确答案】
A
【答案解析】
[解析] 调用XYZ时,把实参a传递给XYZ中的x,又因a是自然属性的内存变量,所以a将随x值的改变而改变。而b,C的值仍为初值,所以输出a,b,c的值分别为30,10,10。
单选题
输出i,m,n的值分别为______。
A、
5 5 5
B、
5 10 10
C、
30 5 5
D、
30 10 5
【正确答案】
C
【答案解析】
[解析] 在XYZ中,i,m,n都被定义为公有属性的内存变量,公有属性的内存变量的作用范围是整个系统的所有程序。在XYZ程序中,i被重新赋值为30,而m,n仍为初值,所以输出i,m,n的值分别为30,5,5。
提交答案
关闭