设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是?
B.if(a>b){ c=a,a=b,b=c;}
C.if(a>b) c=a;a=b;b=c;
D.if(a>b){ c=a;a=b;b=c;} 展开
选择答案C,C的纤薯丛执行结果为2,3,3。与其他的选项不同,其他选项的执行结果为1,2,3。
A选项的语句执行,因为a=1,b=2,if后面只有一条语句,而且a>b不成立,所以if后的语句不会执行,所以不会改变a,b,c的值。所以输出结果为1,2,3。同理可以手亮分析B、C两个选项if后面的语句不会执行,所以不会改变a,b,c的值。输出结果同为1,2,3。
C选项的执行,因毁樱为if只控制后面的一条语句,而且条件不成立所以不执行,执行a=b后a等于2,执行b=c后b为3,所以输出结果为2,3,3。
扩展资料:
由于if else 语句可以根据不同的情况执行不同的代码,所以也叫分支结构或选择结构。
if和else的配对情况:
if 语句嵌套时,要注意 if 和 else 的配对问题。C语言规定,else 总是与它前面最近的 if 配对。
if语句的一般形式如下:
if(表达式)语句1
[else语句2]
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。
if语句使用注意:
1、if语句所控制的语句如果只有是一条语句的话,可以省略大括号不写。
2、如果if控制的是两条语句及以上的语句,那么我们必须加大括号。不然可能会导致错误。if语句的控制体没有加大括号是其后跟的一条语句。
a=b;b=c;是俩个单独的表达式
c:a=2 b=3 c=3 其他的都衫毁闭没变
其余的三斗笑个选项 执行后:a = 1, b = 2 , c = 3
综上乎铅,空顷含所以答案选C
2011-03-23