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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux的vi命令详解_useradd命令详解

    linux的vi命令详解_useradd命令详解最近vi用的多,很多技巧不知道,备注一份,vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

    2022年9月22日
    0
  • java字符串的拆分_Java中的字符串分割 .

    java字符串的拆分_Java中的字符串分割 .java中的split函数和js中的split函数不一样。Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:java.lang.string.splitsplit方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回。stringObj.split([separator,[limit]])免费资源收…

    2022年5月12日
    43
  • OHEM算法及Caffe代码详解

    OHEM算法及Caffe代码详解这是CVPR2016的一篇论文,用于目标检测,本篇博文先介绍这个算法,然后介绍其Caffe代码。论文:TrainingRegion-basedObjectDetectorswithOnlineHardExampleMining论文链接:https://arxiv.org/abs/1604.03540算法概述:OHEM(onlinehardexampleminiing)算法的

    2022年5月22日
    34
  • arm cortex-a57 cpu_处理器a73和a53

    arm cortex-a57 cpu_处理器a73和a53在如今这个电子产品泛滥的年代,仅仅靠品牌或是外观已经不足以辨别产品的优劣,其内置的处理器自然也就成为了分辨产品是否高端的标准之一。那么我们今天就不妨好好了解一下近几年来电子产品中较为主流的RAM处理器。  在这之前让我们先简单认识一下处理器的架构。所谓处理器架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU指令集分类主要分有…

    2022年8月31日
    14
  • Java程序设计(高级及专题)- GUI「建议收藏」

    Java程序设计(高级及专题)- GUI「建议收藏」Java程序设计(高级及专题)- GUI

    2022年4月22日
    45
  • crontab 定时任务配置

    crontab 定时任务配置2019独角兽企业重金招聘Python工程师标准>>>…

    2025年5月27日
    0

发表回复

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

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