单选题
说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
PROCEDURE SUB
PARAMETERS A,B,C,D
D=B* B-4*A*C
DO CASE
CASE D<0
D=0
CASE D>0
D=2
CASE D=0
D=1
ENDCASE
ENDPROC
在主程序中执行如下命令:
STORE 1 TO A,C
STORE 2 TO B,D
DO SUB WITH A,B,C,D
? D
单选题 D的输出结果为 ______。
【正确答案】 B
【答案解析】[解析] 执行主程序DO SUB WITH A,B,C,D时,把实参1,2,1,2传递给形参A,B,C,D。在执行过程SUB中语句D=B*B-4*A*C后的D值为0,然后执行DO CASE/ENDCASE语句,条件CASED=0成立,宜新赋值D=1,最后返回主程序时,把形参A,B,C,D的值1,2,1,1传给对应实参A,B,C,D。此时D的值为1。
单选题 若将D=B* B-4*A*C改为D=A*A+B*B-C*C,则D的输出结果为 ______。
【正确答案】 C
【答案解析】[解析] 在执行过程中SUB语句D=A*A*+B*B-C*C后D值为4,然后执行DO CASE/ ENDCASE语句,条件CASE D>0成立,重新赋值D=2。
单选题 若将D=B*B-4*A*C改为D=A*A-B*C,则D的输出结果为 ______。
【正确答案】 A
【答案解析】[解析] 在执行过程SUB中语句D=A*A-B*C后D值为-1,然后执行DO CASE/ENDCASE语句,条件CASE D<0成立,重新赋值D=0。
单选题 若将? D改为? A,D,则A,D的输出结果分别为 ______。
【正确答案】 B
【答案解析】[解析] 由第(17)题分析可知,A、D的值均为1。