若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )。 A. (exp==0)
4个回答
展开全部
原因如下
exp 是一个变量。
这个条件表达式的意思是,如果(exp)为真,则执行 a++,否则执行b--。
而只要变量exp的值不为0(也就是false),(exp)都为真(true)。比如exp==2或者exp==-1,(exp)都为真。
所以(exp)等价于(exp!=0),也就是使用 (exp!=0)?a++:b-- 程序也能达到同样的效果。所以选b 。
扩展资料:
条件表达式其一般形式如下:
x=<表达式1>?<表达式2>:<表达式3>
其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。
例如:
min=(a<b)?a:b;
效果是将a、b中较小的那个赋给min。 [1]
公式注意:
若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。
注意:此表达式后边无需加 “;”。
例如: a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为:1。
参考资料来源:百度百科-条件表达式
展开全部
B 原因如下
exp 是一个变量。
这个条件表达式的意思是,如果(exp)为真,则执行 a++,否则执行b--。
而只要变量exp的值不为0(也就是false),(exp)都为真(true)。比如exp==2或者exp==-1,(exp)都为真。
所以(exp)等价于(exp!=0),也就是使用 (exp!=0)?a++:b-- 程序也能达到同样的效果。所以选B 。
exp 是一个变量。
这个条件表达式的意思是,如果(exp)为真,则执行 a++,否则执行b--。
而只要变量exp的值不为0(也就是false),(exp)都为真(true)。比如exp==2或者exp==-1,(exp)都为真。
所以(exp)等价于(exp!=0),也就是使用 (exp!=0)?a++:b-- 程序也能达到同样的效果。所以选B 。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
条件表达式
表达式1?表达式2:表达式3
当表达式1为真时,执行表达式2,反之执行表达式3
exp就是e,不是0,所以执行a++
表达式1?表达式2:表达式3
当表达式1为真时,执行表达式2,反之执行表达式3
exp就是e,不是0,所以执行a++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正解:
B
B
追问
求解
追答
if()判断其实需要true和false
c++中非0就是true
0就是false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询