单选题
说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】 * * MAIN. PRG X1=1 X2=3 DO P1 W1TH
X1,(X2) ? “ X1=”+STR(X1,1),“X2=”+ STR(X2,1) X1=2 X2=4 DO P1 WITH
X1,X1+ X2 ?“X1=”+STR(X1,1),“X2=”+STR(X2,1) RETURN * * P1. PRG PARA
W1,W2 W1=W1 * 2 W2=W2 * 2 RETURN |
单选题
当第一次调用P1时,X1的输出结果为 ______。
【正确答案】
B
【答案解析】[解析] 主程序中的X1是按引用传递给子程序P1中的W1,主程序中X1的值随着子程序P1中 W1的变化而变化,W1=W1*2=1* 2=2,所以X1也为2。
单选题
当第一次调用P1时,X2的输出结果为______。
【正确答案】
A
【答案解析】[解析] 主程序中的X2是按值传递给子程序P1中的W2,主程序中X2的值不随着子程序P1中 W2的变化而变化,虽然W2=W2*2=3*2=6,但主程序中的X2仍为3。
单选题
当第二次调用P1时,X1的输出结果为______。
【正确答案】
D
【答案解析】[解析] 此时主程序中X1是按引用传递给子程序P1中的W1,主程序中X1的值将随着子程序 P1中的W1的变化而变化,W1=W1*2=2*2=4。所以X1也为4。
单选题
当第二次调用P1时,X2的输出结果为 ______。
【正确答案】
B
【答案解析】[解析] X1+X2按值传递给子程序中的W2,按值传递,主程序中的变量不随着子程序中相应参数的变化而变化,所以P1结束后X2仍为4。