问题 单项选择题

设有如下程序: public class Sun { public static void main (String args[ ]) {int x,y; x= (int) Math. sqrt (2) /2+ (int) Math. random ()*2/2; y= (int) Math. sqrt (3) /3+ (int) Math. random ()*3/3; if (x>y) System. out.println ("x>y"); else if (x==y) System.out.println("x=y");else System.out.println("x<y"); } } 程序运行的结果为( )。

A.x>y

B.x=y

C.x<y

D.以上都不对

答案

参考答案:B

解析: 本题是考查对if-else分支结构和几个标准函数语句的理解。程序第2、第3行赋值号右边的两个表达式分别求两个标准函数的值,再进行整除,根据我们对标准函数的理解,其中每项的值均为0,于是,两个表达式的值均为o,分别赋值给变量x和y,很容易判断出x是等于y的。进入分支结构后,if语句的条件x>y不满足,转去执行else if语句,条件x=y满足,执行System.out.println("x=y"),输出x=y。故本题答案是B。

计算题
单项选择题