我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重点说一说C语言中到底是非0表示真,还是1表示真?这就是说到C语言中的两个常见运算形式,即关系运算符和逻辑运算符。

为照顾急性子的同学,先直接说结论:

关系运算符和逻辑运算符用“真”和“假”表示运算的结果,非0的值在关系运算中被视为“真”,0表示“假”。逻辑运算的结果用整型数据1表示“真”,用整型数据0表示“假”。

下面详细来看,

一、关系运算

1.关系运算符

每个关系运算符对它左侧值和右侧值进行比较大小的运算

2.关系表达式

用关系运算符连接起来的式子。若关系为真,关系表达式的值为1;若关系为假,关系表达式的值为0;

3.优先级

关系运算符优先级低于算术运算符,高于赋值运算符。

下表显示了 C 语言支持的所有关系运算符。假设变量 A 的值为 1,变量 B 的值为 2,则:

二、逻辑运算

1.逻辑运算符

逻辑运算符的运算对象通常是关系表达式。

&& 逻辑与 两边运算量都为1时,结果为真

|| 逻辑或 两边运算量都为0时,结果为假,否则为真

! 逻辑非 使操作数的值0变1,1变0

说明:

&& 和||是‚双目运算符,要求有两个操作数。! 是单目运算符,只要求有一个操作数。

2.逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来的式子。

a&&b a、b均为1, 则a&&b为1

a||b a、b之一为1,则a||b为1

!a 若a为真,则!a为假

3.优先级

!运算符优先级高于算术运算符,与自增自减运算符同级。

&&运算符优先级高于||,两者的优先级都低于关系运算符,高于赋值运算符。

下表显示了 C 语言支持的所有逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

C语言中到底是非0表示真,还是1表示真?相关推荐

  1. C语言中的空字符'\0'

    C语言中的空字符'\0' 本博客整理自: http://blog.csdn.net/suluner/article/details/54408638 https://zhidao.baidu.com/ ...

  2. C语言中的结束符‘\0‘

    C语言中的结束符'\0' '\0'是C语言中的字符串结束标志.它的十进制输出:0,字符型输出:空字符(什么都没有,空空如也). (C语言中字符串是用英文输入法的双引号括起来,而字符是用英文输入法的单引 ...

  3. C语言中字符串结束符'\0'

    本质 '\0'就是8位的00000000,因为字符类型中并没有对应的这个字符,所以这么写.'\0'就是 字符串结束标志. '\0'是转义字符,意思是告诉编译器,这不是字符0,而是空字符.空字符\0对应 ...

  4. C语言中长度为0的数组

    前面在看Xen的源码时,遇到了一段代码,如下所示: 注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?--这篇文章主要针对该 ...

  5. 在c语言中整数除以0,整数除零在哪些平台上触发浮点异常?

    我不确定当前的情况如何,但是目前情况是FP异常检测支持与整数非常不同.整数除法陷阱很常见. 如果POSIXSIGFPE完全引发异常,则要求它引发. 但是,您可以找出它是哪种SIGFPE,以查看它实际上 ...

  6. c语言中空格的作用是什么,C语言中空格和\0的区别

    \0 为字符串结束符,比如说: abcd (空格)cdefg: 存入数组时,空格作为一个字符占有一个字节的空间,我们可以把它看着一个字符去处理.而"\0 " 则是这个字符串的结束标 ...

  7. 2.2 Go语言中的布尔型和整型

    变量类型 上一节对Go语言中的变量的定义方法进行了介绍,定义的方式一种是显示,一种为隐式.显示定义需要明确变量类型,而隐式定义则根据赋予的值来决定变量的类型.那么Go语言中到底有多少种变量类型呢?可以 ...

  8. C语言中空格,空字符,字符数组结束符的区别

    空格符号和空字符是不一样的,在ASCII里面,空格(space)符号的ASCII码是0x20,而空字符是0x0, 2个是完全不一样的2个字符呵呵. 空字符  一般来描述一个字符串的结尾,其实是控制符的 ...

  9. 位在c语言中用什么定义,C语言中位段的详细介绍

    C语言中位段的详细介绍 位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间.含有位段的结构体(联合体)称为位段结构.采用位段结构既能够节省空间,又方便于操作.以下是百 ...

最新文章

  1. Java项目:酒店管理系统(java+SSM+jsp+mysql+maven)
  2. HTML与CSS(图解4):表格
  3. html如何让边框变圆,CSS怎样做出自适应圆形边框?
  4. (四)java B2B2C Springboot仿淘宝电子商城系统技术解决方案
  5. pandas.read_csv——分块读取大文件
  6. uni-app 用户地理位置授权
  7. redis 启动加载mysql_Redis分析系列:启动加载过程
  8. cannot mount database in EXCLUSIVE mode
  9. Python机器学习:线型回归法008实现多元线性回归
  10. 小程序运行时相关信息
  11. 安卓(Android)+苹果(Ios)仿微信、陌陌 移动社交APP系统源码,手机IM聊天软件源码,企业即时通讯APP程序源码...
  12. 贪吃蛇游戏设计算法及创新
  13. 福禄克气体流量校准解决方案
  14. cc2530dma控制器功能_dma控制器是什么_dma控制器工作方式
  15. 计算机网络计费系统是什么意思,计费系统
  16. 高速公路二维码定位报警系统
  17. 原生爬虫爬取虎牙绝地求生直播热度排行榜
  18. esp8266 AMR转PCM
  19. 飞天技术汇 | 你用Kubernetes的样子很酷!
  20. 视觉SLAM笔记(21) 双目相机模型

热门文章

  1. react项目搭建出现的问题以及解决办法
  2. mybatis-mybatis中使用mysql数据库关键字问题
  3. Arduino 机械爪 (适合初学者-舵机-蓝牙-触点开关-小喇叭)
  4. Dr.com 小贴士
  5. 风投简介与IT风投的优势
  6. GMap.net升级日志
  7. contex A R M系列区别
  8. RuntimeError: Failed to init API, possibly an invalid tessdata
  9. 对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进
  10. 基于Photoshop的公益海报设计