当前位置: 代码迷 >> C语言 >> [求助]问两道小问题!
  详细解决方案

[求助]问两道小问题!

热度:69   发布时间:2006-12-03 09:54:21.0
[求助]问两道小问题!
问两道小问题!
1、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是
A.x/y*z B.x*(1/(y*z))
C.x/y*1/z D.x/y/z

答案为A。
5、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于
A.M = = 0 B.M = = 1
C.M ! = 0 D.M ! = 1
答案为C

解释一下这是为什么?
----------------解决方案--------------------------------------------------------
以下是引用zhanghuan_10在2006-12-3 9:54:21的发言:
问两道小问题!
1、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子(这里肯定是有个式子的)的C语言表达式是
A.x/y*z B.x*(1/(y*z))
C.x/y*1/z D.x/y/z

答案为A。
5、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于//觉得题目没有说清
A.M = = 0 B.M = = 1
C.M ! = 0 D.M ! = 1
答案为C

解释一下这是为什么?


----------------解决方案--------------------------------------------------------

以下是引用zhanghuan_10在2006-12-3 9:54:21的发言:
问两道小问题!
1、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是
A.x/y*z B.x*(1/(y*z))
C.x/y*1/z D.x/y/z

答案为A。
5、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于
A.M = = 0 B.M = = 1
C.M ! = 0 D.M ! = 1
答案为C

解释一下这是为什么?

(M)?(a++):(a--)等价于(M ! = 0 )?(a++):(a--)
就是这个意思


----------------解决方案--------------------------------------------------------
以下是引用我不是郭靖在2006-12-3 16:12:31的发言:

(M)?(a++):(a--)等价于(M ! = 0 )?(a++):(a--)
就是这个意思

等价吗?


----------------解决方案--------------------------------------------------------
以下是引用chenfuyuxin在2006-12-3 16:30:25的发言:

等价吗?

我不是郭靖 斑竹写的是等价的

(M)?(a++):(a--)
的意思是如果M的值不为0,那么执行问号后冒号前的语句,否则执行冒号后的语句
因为在C语言中0表示否(假),而在 ? : 表达式中如果问号前表达式为真,则执行问号后冒号前的语句,否则执行冒号后的语句

[此贴子已经被作者于2006-12-3 16:46:13编辑过]


----------------解决方案--------------------------------------------------------
呵呵!多谢了!
(M)不为零执行前面的语句!和(M != 0)是等价的!
----------------解决方案--------------------------------------------------------
  相关解决方案