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

admin2010-01-10  27

问题 有定义语句:“int a=1,b=2,c=3,x;”,则以下选项中各程序段执行后,x的值不为3的是(  )。

选项 A、if(c<a)x=1;    elseif(b<a)x=2;    elsex=3;
B、if(a<3)x=3;    elseif(a<2)x=2;    elsex=1;
C、if(a<3)x=3;    if(a<2)x=2;    if(a<1)x=1;
D、if(a<b)x=b;    if(b<c)X=c;    if(c<a)x=a;

答案4

解析 选项A首先判断if语句条件中表达式的值3<1为假,然后执行最近的else后面的语句,该else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值2<1为假,程序执行其最近的else后面的语句,将3赋值给x。选项B中首先判断if语句条件中表达式的值1<3为真,然后执行最近的else后面的语句x=3,后面的else不再执行,最后x的值为3。选项C中,首先执行第一条if语句,由于1<3为真,执行此if后面的语句x=3,接着执行第二条if语句,由于1<2为真,执行此if后面的语句x=2,接着执行第三条if语句,由于1<1为假,后面的语句不执行,所以最后的x值为2不为3。选项D中,首先执行第一条if语句,由于 a<b为真,执行此if后面的语句x=b:接着执行第二条if语句,由于b<c,为真,执行此if后面的语句x=c,接着执行第三条if语句,由于c<a为假,后面的语句不执行,所以最后的x值为c,即为3。所以,4个选项中选项C符合题意。
转载请注明原文地址:https://jikaoti.com/ti/LSI0FFFM
0

最新回复(0)