| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 500 人关注过本帖
标题:问下关于逻辑运算符的问题
只看楼主 加入收藏
者好爱程编
Rank: 2
等 级:论坛游民
帖 子:68
专家分:46
注 册:2011-8-22
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:3 
问下关于逻辑运算符的问题
#include <stdio.h>
void main ()
{
    int a=-5,i,j,k,l,m;
    float b=0.01;
    i=!a;j=a&&b;         
    k=a||b;              
    l=(5>3&&2||8<4-!0);  
    m='a'<'b'&&'5'>'9';  
    printf("i=%d, j=%d, k=%d, l=%d, m=%d\n",i,j,k,l,m);
}



运行结果
i=0, j=1, k=1, l=1, m=0
Press any key to continue


不明白
    i=!a;j=a&&b;         
    k=a||b;              
    l=(5>3&&2||8<4-!0);  
    m='a'<'b'&&'5'>'9';
这一堆是什么意思  只知道基本符号的意思
这些数怎么会是01110 呢  晕啊
搜索更多相关主题的帖子: include 
2011-10-28 21:01
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:5 
!单目运算符!a,若a等于0,则!a为真(1),否则为假(0)
||双目运算符a||b,若a和b都等于0,则为假(0),注意,如果a不等于0,b不运算。
&&双目运算符a&&b,若a和b都真,结果为真(1),注意,如果a为假(为0),b不运算。
<、>双目运算符,如a<b成立,其值为真,结果为真(1)
收到的鲜花
  • 者好爱程编2011-10-28 21:23 送鲜花  5朵   附言:好文章
2011-10-28 21:20
续写忧伤qcb
Rank: 2
等 级:论坛游民
帖 子:8
专家分:11
注 册:2011-10-14
收藏
得分:5 
你没有弄明白什么是按位运算符与逻辑运算符,|、&、~是按位运算符,||,&&,!是逻辑运算,i=!a,a不是0所以是真,取反就是假0为,j=a&&b,a、b都不是零,是真,&&后结果为真取1,同理得k为1。l=(5>3&&2||8<4-!0),逻辑运算符的优先级低于关系运算符,((5>3)&&2)||(8<4-!0),5>3为真取1,1&&2亦为真,1||(8<4-!0)肯定为真。 m='a'<'b'&&'5'>'9';5'>'9'为假取0,('a'<'b')&&0,为假取0。
C语言中没有布尔运算,0时为假,非0为真。
可能上面有的说法不太权威,有不当之处,不过大体是这样的,希望可以帮到你。还是建议你去看看那些权威的书,以免 我说错误导你,呵呵
2011-10-28 21:30
者好爱程编
Rank: 2
等 级:论坛游民
帖 子:68
专家分:46
注 册:2011-8-22
收藏
得分:0 
谢谢 啦  明白点了
2011-10-29 16:11
快速回复:问下关于逻辑运算符的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033356 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved