问题 单项选择题

有定义语句:int a=1, b=2, c=3, x;,则以下选项中各程序段执行后,x的值不等于3的是______。

A.if(c<x=1; else if(b<x=2; else x=3;

B.if(a<3)x=3; else if(a<2)x=2; else x=1;

C.if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;

D.if(a<x=b; if(b<x=c; if(c<x=a;

答案

参考答案:C

解析: 选项A中表达式c<a(即3<1)的值为假,所以执行else if(b<a),因b<a不成立,结果为假,因此执行else语句x=3;,得x=3;选项B中表达式a<3(即1<3)成立,故执行语句x=3;,else后的语句不再执行,故x=3;选项D中首先执行if(a<b),因a<b即1<2成立。得x=b=2,然后执行if(b<c),因2<3成立,得x=c=3,执行if(c<a),因3<1不成立,语句x=a;不被执行,敞x=3;选项C中因a<3成立,故得x=3,执行if(a<2)因a<2成立,得x=2,执行if(a<1),因a<1不成立,故语句x=1;不被执行,所以x=2。

单项选择题
单项选择题