qq_36519547
2016-10-29 03:22
采纳率: 47.1%
浏览 859
已采纳

新人C语言问题求教求解答

图片说明求解答ABC什么意思

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • Xefvan 2016-10-29 06:23
    已采纳

    先普及以下&& 和 || 逻辑运算符

    对于逻辑与运算符(&&),当且仅当两个运算对象都为真的时结果为真;对于逻辑或运算符(||),只要两个运算对象中的一个为真结果就为真

    为追求效率,有个短路求值策略。

    对于逻辑与运算符(&&),当且仅当左侧运算符为真的时候才对右侧运算对象求值。例如a&&b ,如果a为假,整个表达式为假,而无需知道b

    对于逻辑或运算符(||),当且仅当左侧运算符为假的时候才对右侧运算对象求值。例如a&&b ,如果a为假,需知道b的真假,才能知道表达式的真假

    对于A选项:

     (a>=0 || b>=0) && (a<0 || b<0) 
    
    

    要想A选项输出真,左右两边必须满足一个条件,要么a大于等于0,b小于零,要么b大于等于0,a小于零,因此这个表达式所以可以用来判断两个数是否为一正一负

    对于B选项:

     (a>=0 && b>=0) && (a<0 && b<0) 
    
    

    可以吧括号拆开来看,则等价于

     a>=0 && b>=0 && a<0 && b<0
    
     有可以写成
    
     a>=0 && a<0 && b>=0 && b<0
    
    

    看到这应该可以明白,有这样的a,b同时满足又大于等于又小于0的数么?

    对于C选项:

     (a+b>0) && (a+b<=0) 
    
    

    你可以吧a+b看成c,那么满足c即大于等于零又小于零的数存在么?显然不存在

    已采纳该答案
    打赏 评论
  • guwei4037 2016-10-29 03:49

    A) a>=0或者b>=0(条件1),并且 a<0或者b<0(条件2) ,比如a=1,b=-1 即条件1和条件2都必须为真,所以各自必须满足一个条件,即a和b有一个为正,一个为负(0既不是正数也不是负数)

    B) a>=0并且b>=0,这个能保证a和b都是正数,后面a=0 && b>=0)|| (a<0 && b<0)就正确了

    C) a+b>0 只能说明a和b中正数比负数的绝对值要大,后面a+b<=0只能说明a和b中负数比正数的绝对值要大,中间用&&并且连接,就互相矛盾了。

    打赏 评论
  • AlbertS 2016-10-29 03:50

    1)A表示一个数大于等于0而另一个数小于0,等价于(a >=0 && b < 0) || (b >= 0 && a < 0)
    2)B和C的表达式中,不存在满足的条件的数

    打赏 评论
  • 东风玖哥 2016-10-29 05:20

    B和C分明不符合逻辑呀,都是永远为false

    打赏 评论
  • zsd747289639 2016-10-29 05:27

    A一看就不对,他用了或,那就有多种可能性了。怎么会纠结A呢?小同学

    打赏 评论
  • noble_ 2016-10-29 09:34

    果断A啊同学。
    你是在做noip模拟卷吗

    打赏 评论
  • orientlu 2016-10-29 09:51

    答案A : a 和 b 符号相反为True
    答案B: ab同时大于零且ab同时小于零,不可能出现, 永远为false
    答案C: a+b 大于零 并且 a+b小于零,矛盾,不能出现, 永远为false

    打赏 评论
  • || &&的使用,百度一搜就有

    打赏 评论

相关推荐 更多相似问题