【程序】** MAIN. PRG ** PROC1. PRGSET TALK OFF PROC P1X=10 PARA S1,S2Y=5 S1=S1*5SET PROC TO PROC1 S2=S2+5DO P1 WITH X,Y RETURN PROC P2? X,Y &&第一次显示 PARAX,YX=10 X=5Y=5 Y=X+20DO P2 WITH X,Y RETURN? X,Y &&第二次显示X=10Y=5DO P1 WITH X+5,Y? X,Y &&第三次显示X=10Y=5DO P2 WITH X,Y+5? X,Y &&第四次显示SET PROC TOSET TALK ONRETURN
单选题 第一次显示结果为 ______。
【正确答案】 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。