c语言逻辑运算符!_c语言中关系运算符

c语言逻辑运算符!_c语言中关系运算符&|~^>><<&&||!运算符包括逻辑运算符与位运算符。逻辑运算符针对的就是真假问题,或者说01问题,也就是bool类型的。位运算符重点在于位操作,也就是对每一位进行操作。下面逐个介绍。&当&两边是bool类型的值时,该运算符作为逻辑运算符。作用如下:当运算符两边的表达式的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

& | ~ ^  >>  << && || !

运算符包括逻辑运算符与位运算符。

逻辑运算符针对的就是真假问题,或者说0 1 问题,也就是bool类型的。

位运算符重点在于位操作,也就是对每一位进行操作。下面逐个介绍。

 

  • 当 & 两边是bool 类型的值时,该运算符作为逻辑运算符。作用如下:

当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

  • 当 & 两边不是bool类型的时候,该运算符作为位运算符,将两边的值作为二进制展开,依次对每一位进行 按位与。作用如下:

11100101 & 01011010 = 01000000

 

&&

逻辑运算符,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&& 与 & 的 都作为逻辑运算符的区别:

  • 两个运算符运算结果一样。
  • &&又叫短路与,如果左边位flase,那么该结果就已经出来了,则不会再计算右边的布尔表达式,从而提高效率。而&即使左边位flase,还是会计算右边的。所以如果左边位flase时,&&的效率高于&。 

|

  • 当两边是bool运算符时,该运算符作为逻辑运算符。作用如下:

只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false。

  • 当 | 两边不是bool类型的时候,该运算符作为位运算符,将两边的值作为二进制展开,依次对每一位进行 按位或。作用如下:

11100101 | 01011010 = 11111111

 

||

逻辑运算符,只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false。

|| 与 | 的 都作为逻辑运算符的区别:

  • 两者运算结果一样
  • 使用短路或的时候,当发现左边的布尔表达式为true时,则不会运算右边的布尔表达式。使用单或的时候发现左边的布尔表达式为true,还是会运算右边布尔表达式。当左边位true时,|| 效率高于|

 

 

^

逻辑运算符,异或。也就是 只要两边的布尔表达式结果不一致,那么结果就为true,如果左右两边的布尔表达式一致,那么就为false。(相同为0,不同为1)。    

例如:00000101 ^ 00000011 = 00000110

 

逻辑运算符,非运算符。非0为1,非1为0.

 

 

~ 位运算符,对每一位进行取反。

例如:00000111 取反  11111000 

 

<< 

移位运算符,左移。

一个操作数进行左移运算的时候,结果就是等于操作数乘以2的n次方,n就是左移的位数.

 

>> 

移位运算符,右移。

一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是右移的位数。

 

? :

三元运算符

当使用三元运算符时,一定要定义一个变量来接受返回的结果, 

使用方法:变量 =  表达式 ?正确 :错误    

 

部分来自:http://blog.csdn.net/qq_34944851/article/details/52620454

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188573.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    8
  • JAVA 找不到符号

    JAVA 找不到符号写了一个新接口后莫名其妙报找不到符号,但是代码又看出任何问题,上网查了半天也没找到解决方法,然后把这个项目关了重开……顺利运行

    2022年7月9日
    23
  • windows10命令行进入指定目录_命令行返回上一级目录

    windows10命令行进入指定目录_命令行返回上一级目录假定我们想进入指定目录E:\Software\apache-tomcat\apache-tomcat\bin在命令行输入cdE:\Software\apache-tomcat\apache-tomcat\bin+回车发现……啊哦没反应改为先输入E:+回车再输入cdSoftware\apache-tomcat\apache-tomcat\bin+回车问题解决…

    2022年10月15日
    5
  • 与满二叉树完全二叉树

    与满二叉树完全二叉树

    2021年12月17日
    44
  • 重构区块链

    前言撰写这篇手册,并不简单的因为区块链是一个热门话题,更因为随着研究的深入,你会发现这是一个相当复杂的领域。关于这一话题的信息来源无外乎三个方面:技术文档和代码,商业机构的宣传,研究机构或个人的整理。但是每一种媒体都因其形式、渠道或作者而带有某种偏见。技术文档固然详细精确,但是不够通俗,视野也不够广阔;商业宣传必定带有一定的偏向性;而看似中立的研究机构和媒体也因其背后资助方或者受众市场的差异而…

    2022年4月8日
    37
  • cocos2d-x3.0 相对布局(一)「建议收藏」

    cocos2d-x3.0 相对布局(一)

    2022年1月16日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号