阅读下面代码
if(x= =0){System .out .println(" 冠军 ") ; )
elseif(x> 一 3){System .Out.println(" 亚军 ") ;}
else{System .out .println(" 季军 ") ;}
若要求打印字符串”季军”,则变量X 的取值范围是 ( )。
正确答案: D
本题解析:
本题考查的是条件分支语句 if-else 。if-else 根据判定条件的真假来执行 两种操作中的一种。当条件为真时,执行 if 语句后面的代码块;当条件为假时,执行 else 后面的代码块。 题目中的代码段是一个 if-else 的嵌套语句, 根据 if-else 语句的执行过程 来进行分析。当 x 的值为 0 时,布尔表达式 "x= =0" 的结果为真,就输出”冠军”;当 x 的 值不为 0 时,则执行 else 语句中的内容。 else 语句中的代码又是一个 if-else 语句,还是 和上面一样进行分析。当 X 的值不等于 0 且大于 -3 时,布尔表达式” x> - 3”的结果为真, 输出 " 亚军 " ;当 x 的值不等于 0 且不大干 -3 ,也就是 X 的值不等于 0 同时 x 的值小于等于 -3 时,则输出 " 季军 " 。经过上述分析可知,要想输出 " 季军 " ,x 所满足的条件为 x!=O&x<=-3 , 但是当 x<=-3 时,x 的值一定不会为 0。所以, X 所满足的条件可以简写为 x<=-3 。因此,本 题的正确答案为 D。