C语言 逻辑运算符及其优先次序(一)

举报
谦虚斯帕克 发表于 2022/03/22 14:42:25 2022/03/22
【摘要】 逻辑运算符及其优先次序(一)分为两篇C语言三中逻辑运算符双目运算符:&& 与运算 (与就是和,两者里一个为假则都为假)‖ 或运算( 或就是两者之中选一个,在这里就是若有一个不为0则结果还是真的) 单目运算符:! 非运算 非0的数表示真,为0的数表示假eg1. &&与运算: int i; i=7 && 4; i=1;( *3...

逻辑运算符及其优先次序(一)
分为两篇
C语言三中逻辑运算符
双目运算符:
&& 与运算 (与就是和,两者里一个为假则都为假)
‖ 或运算( 或就是两者之中选一个,在这里就是若有一个不为0则结果还是真的) 单目运算符:
! 非运算 非0的数表示真,为0的数表示假
eg1. &&与运算:

  int i; 
       i=7  &&   4;
       i=1( *35都不为0,都表示为真* ) 
 int i;
 i=1  &&  0;
 i=0(  *有一个0,都表示为假*  )

eg2. 或运算:

int i;    
i= 40;  
 i=1;(*一真一假,在或运算里,结果为真,所以还是i=1*)  

int i;  
  i=00; 
  i=0(*两个都是假的,则结果就是假的,则为0)

如果学会了,再来复杂一点的

 int i,a=7,b=3;  
   i=(a<b)&&a ; 
   i=?

自己可以先算结果是什么再看答案
答案是 i= 0
解析,a<b是假的,则结果为0, 所以式子为
i= 0 && 7;
&&为和运算,两者若有一个为假,则结果为假!
我们再来把&& 改为‖,
那么结果 i=1
单目运算
真的非就是假的,假的非就是真的
举个例子:

        int i; 
  i==9;  //9是真的// 
  !i;  (* !表示非,就是相反的意思,则1若i为真,则 !i为假,若i为假,则!i为真*)                 
     i==0; 
    运算符优先符的关系 
    !非运算 高于 && 与运算 高于‖ 或运算
     ! 非运算高于算数运算符(=),其他两个低于运算符
    . (*如果还想知道更多的可以看之前发的  运算符的高低  文章*)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。