若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )?

A,(exp==0) B,(exp!=0) C,(exp==1) D,(exp!=1)
exp表示的是什么?
exp()不是代表e的多少次方么?

答案是B

麻烦帮我详细讲解下 A C D为什么不行

原因如下

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。

参考资料来源:百度百科-条件表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
exp 是一个变量。
这个条件表达式的意思是,如果(exp)为真,则执行 a++,否则执行b--。
而只要变量exp的值不为0(也就是false),(exp)都为真(true)。比如exp==2或者exp==-1,(exp)都为真。
所以(exp)等价于(exp!=0),也就是使用 (exp!=0)?a++:b-- 程序也能达到同样的效果。所以选B 。本回答被提问者和网友采纳
第2个回答  2011-01-01
exp 是一个变量。
这个条件表达式的意思是,如果(exp)为真,则执行 a++,否则执行b--。
而只要变量exp的值不为0(也就是false),(exp)都为真(true)。比如exp==2或者exp==-1,(exp)都为真。
所以(exp)等价于(exp!=0),也就是使用 (exp!=0)?a++:b-- 程序也能达到同样的效果。所以选B 。,..`
第3个回答  2017-03-11
是C/C++二目条件运算符,如果条件为真,执行?子句,否则执行:子句
例如:exp为a&&b,则exp!=0相当于a&&b!=0,而&&及!=同优先级且均为左运算符,这时先算&&再算!=,故选D;当然,如果exp中有位运算符且无()保护,由于其优先级最低,则!=运算符优先计算,这时ABCD四个答案中没有一个正确!
在这里,exp是express的缩写
第4个回答  2012-01-10
B
C语言中,0为假,不为0时都是真,虽然0做逻辑反得到1,但是所有不为0的数的逻辑反都是0,所以这里等价的是(exp!=0) 即表示(exp) 意思是 若exp为真时 ...
exp为真时并不是说exp等于1是,要明白C中的 “真” 表示的 是 “不为0的”

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网