单选题
说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
** MAIN. PRG ** PROC1. PRG
SET TALK OFF PROC P1
X=10 PARA S1,S2
Y=5 S1=S1*5
SET PROC TO PROC1 S2=S2+5
DO P1 WITH X,Y RETURN
PROC P2
? X,Y &&第一次显示 PARAX,Y
X=10 X=5
Y=5 Y=X+20
DO P2 WITH X,Y RETURN
? X,Y &&第二次显示
X=10
Y=5
DO P1 WITH X+5,Y
? X,Y &&第三次显示
X=10
Y=5
DO P2 WITH X,Y+5
? X,Y &&第四次显示
SET PROC TO
SET TALK ON
RETURN
单选题 第一次显示结果为 ______。
【正确答案】 D
【答案解析】[解析] 调用P1时,实参变量X,Y按引用传递给P1中的形参S1,S2,在子程序中S1=S1* 5=10×5= 50,S2=5+5=10。按引用传递时,X,Y值随着传给子程序P1中对应变量S1,S2的变化而变化。
单选题 第二次显示结果为 ______。
【正确答案】 B
【答案解析】[解析] 调用P1时,实参X,Y按引用传递给P2中的形参X,Y,在子程序P2中,X=5,Y=25,所以主程序中X,Y的值也分别为5,25。
单选题 第三次显示结果为 ______。
【正确答案】 D
【答案解析】[解析] “DO P1 WHTH X+5,Y”语句调用P1时,实参X+5是按值传递给P1中的形参S1,在子程序中S1=75,S2=10,按值传递时,主程序中的X值不随着传给P1中的参数S1的值的变化而变化。所以主程序中X仍为10,Y值为10。
单选题 第四次显示结果为 ______。
【正确答案】 A
【答案解析】[解析] “DO P2 WITH X,Y+5”语用调用P2时,实参Y+5是按值传递给P1中的形参Y,在P1中Y=25,按值传递时,主程序中的Y值不随着P2中Y值的变化而变化,所以调用P2后,Y值仍为5,而X值已变化成5。