c语言条件表达式问题

有条件表达式(exp)?i++:j-- 下面与表达式中exp等价的是
A(!exp==0) B(exp!=0) C(exp==1) D(exp!=1)
那个对 解释一下

LS两位错误。
C语言中,逻辑表达式(这里也包括关系表达式)的值是0或1,0表示逻辑假,1表示逻辑真。
但当任何其它非构造(struct等)类型表达式值作为逻辑表达式时,非零值(二进制位不都为0)表示真,零值(所有的二进制位都为0,例如0、(void*)0、(float)0、NULL等,不论类型)表示假。
因此答案应该是AB。
(LZ可以上机试试exp==2的情况,就知道是否正确了。)
一些典型情况(以if示例):
if(exp)、if(exp!=0)、if(!exp==0)、if(!!exp)四者等价;
if(!exp)和if(exp==0)等价;
if(exp-x)、if(exp-x!=0)和if(exp!=x)等价。
----
[原创回答团]

参考资料:原创

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-24
A、当exp值为1时,!exp为0,!exp==0的值为1.
当exp值为0时,!exp为1,!exp==0的值为0。

B、当exp值为1时,exp!=0的值为1.
当exp值为0时,exp!=0的值为0。

C、当exp值为1时,exp==1的值为1.
当exp值为0时,exp==1的值为0。

D、当exp值为1时,exp!=1的值为0.
当exp值为0时,exp!=1的值为1。

故答案为:( )()(),嘿嘿,自己可以得出了吧。本回答被提问者采纳
第2个回答  2009-11-24
给分吧!
题目出的不怎么的,应该是:把下面那个表达示可以等价于exp

即:exp等于任何数或表达时,exp值等同于以下那个选项的值
A

A:exp逻辑取反(逻辑取反后就自动转为BOOL型)后看是不是假,也就是判断exp是否为真(非0);即,exp为真(非0)表达式为真。
B:exp=!0,表达示为真。
c:。。。exp值和1比较,如果exp为真(0)表达示为真,但,如果exp为2或别的数,exp为真,表达式却为假。
d:exp=!1,表达示为假

分真的真的少
第3个回答  2009-11-24
c正确

原因好像没有 规则就是这样的 整体是一个条件运算符 exp=1时 i++
反之,j--
如果没有明确表述条件,就默认为exp==1
第4个回答  2009-11-24
A
例如exp为1
验证如下 !1==0是正确的 显然是A

c语言中条件表达式的运算顺序不应该是自左向右吗?为什么a
在C语言中,条件表达式的运算顺序并非自左向右。首先,要理解关系运算符<的优先级高于逻辑运算符?。其次,逻辑运算符?:的结合性是右结合的。这意味着在条件表达式中,先从右向左进行计算。具体来说,对于表达式`a ? b : c`,首先计算`a`的值。若`a`非零(即为真),则整个表达式的值为`b`...

c语言条件表达式的结果是什么?
选择答案A,执行条件表达式后的结果为1。执行的结果:首先比较a和b的大小,当ab为1的时候那么会执行表达式c<d?c:d,然后比较c和d的大小,如果c小于d那么表达式的结果就为c,如果c大于d,那么表达式的结果为d。因为a=1,b=2,所以a

c语言什么情况if后面用两个等号
在C语言中,if语句的条件表达式中使用两个等号(==)表示相等比较运算符。当使用if语句时,条件表达式需要返回一个布尔值(true或false)。通过使用相等比较运算符,可以判断条件表达式的两个操作数是否相等,如果相等则条件表达式的结果为true,执行if语句中的代码块。下面是一个示例代码:```cint x = ...

1、在C语言中,条件分支结构中的条件表达式应该返回什么类型的值?_百 ...
在C语言中,条件分支结构中的条件表达式应该返回一个整数类型的值,即表达式的结果应该是一个整数,可以是int、char或enum类型。这是因为条件分支结构中的条件表达式需要判断真假,只有整数类型的值才能被判断为真或假。在C语言中,0被视为假,非0的整数被视为真。如果条件表达式返回的是其他类型的值(...

c语言条件表达式问题
LS两位错误。C语言中,逻辑表达式(这里也包括关系表达式)的值是0或1,0表示逻辑假,1表示逻辑真。但当任何其它非构造(struct等)类型表达式值作为逻辑表达式时,非零值(二进制位不都为0)表示真,零值(所有的二进制位都为0,例如0、(void*)0、(float)0、NULL等,不论类型)表示假。因此答案...

C语言——条件运算符和条件表达式
实例中的应用进一步展示了条件运算符在解决实际问题时的灵活性和便利性。通过灵活地结合表达式1、2和3,可以实现对不同逻辑条件的高效判断,进而根据判断结果执行相应的操作或输出。综上所述,掌握条件运算符的特性与用法是学习C语言过程中的重要一环。通过对上述例子的深入分析和实践,读者能够更好地理解...

C语言条件表达式?
条件表达式的一般形式为:表达式1?表达式2:表达式3 C语言的基本构成:1、数据类型 C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。2、常量与变量 常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,...

c语言中表达式! a< b的值是什么?
a = 10,b = 20,表达式!ab?a:c>d?c:d相当于a>b?a:(c>d?c:d)。

C语言问题:条件运算符选择题
?:这个是三目运算符。这个是条件表达式,表示如果a为真,则表达式值为b,如果a为假,则表达式值为c 条件表达式具体说明如下 条件语句:if(a>b) max=a;else max=b;可用条件表达式写为 max=(a>b)?a:b;执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。使用条件表达式时,...

条件运算符C语言条件运算符
条件运算符在C语言中是一种简洁的表达式形式,其基本形式为:表达式1 ? 表达式2 : 表达式3。其工作原理是首先求解表达式1的值,如果值为真(非零),则取表达式2的值;否则,取表达式3的值。这有助于在简单的条件判断中决定执行哪一段代码。例如,max=(a>b)?a:b,通过这个运算符,C语言会比较a...

相似回答