c语言中逻辑运算符优先级由高到低依次是:!(逻辑非)、&&(逻辑与)、||(逻辑或)。逻辑表达式的值为逻辑值;逻辑值分为逻辑真值和逻辑假值,在判断时,仅有零值被判断为逻辑假值(false),一切非零值均可被判断为逻辑真值(true)。

C 语言提供了以下三种逻辑运算符。

一元:!(逻辑非)。 二元:&&(逻辑与)、||(逻辑或)。

逻辑表达式的值为逻辑值,即布尔型(bool),该类型为 C99 新增的,一些编译器可能还不支持该类型。

逻辑值分为逻辑真值和逻辑假值。一般情况下,在判断时,仅有零值被判断为逻辑假值(false),一切非零值均可被判断为逻辑真值(true);在存储和表示时,通常,使用 1 表示逻辑真值,0表示逻辑假值。

逻辑与 && 运算符的运算规则:只有两个操作数均为逻辑真时,结果才为真。其余情况,结果均为假。

逻辑或 || 运算符的运算规则:只有两个操作数均为逻辑假时,结果才为假。其余情况,结果均为真。

int a=3,b=5;

则有:

!a:由于 a 非零,为真,!a 为假,其值为 0。

a||b:由于 a 和 b 均非零,均为真,故逻辑或的结果为真,其值为 1。

a&&b:由于 a 和 b 均非零,均为真,故逻辑与的结果为真,其值为 1。

!a||b&&2:由于逻辑非 ! 优先级最高,首先与 a 结合,而 && 优先级高于 ||,相当于(!a)||(b&&2), 即 0||1 为真,其值为 1。

逻辑与 &&、逻辑或 || 均有“短路”特性:

逻辑与&&“短路”:当逻辑与&&的左操作数为逻辑假时,就足以判断该逻辑运算的结果为假了,故右操作数就不再被执行。

逻辑或||“短路”:当逻辑或||的左操作数为逻辑真时,就足以判断该逻辑运算的结果为真了,故右操作数就不再被执行。

推荐教程:《C语言》

更多相关文章

  1. 逻辑运算符两侧运算对象的数据类型是什么?
  2. 熔断器 Hystrix 源码解析 —— 命令执行(一)之正常执行逻辑
  3. 熔断器 Hystrix 源码解析 —— 请求执行(四)之失败回退逻辑
  4. 5个原因告诉你:为什么在成为数据科学家之前,“逻辑回归”是第一个
  5. 【机器学习笔记】:逻辑回归实战练习(二)
  6. 【机器学习笔记】:从零开始学会逻辑回归(一)
  7. JavaScript加密逻辑分析与Python模拟执行实现数据爬取
  8. Python 为什么能支持任意的真值判断?
  9. centos LVM(逻辑卷管理)

随机推荐

  1. 分享十个PHP安全的必备技巧
  2. PHP协程框架Hyperf日志查看组件
  3. 解析PHP标准库SPL数据结构
  4. 创建 PSR-4 的 Php 包
  5. 看看PHP 多进程处理任务
  6. 一定要改掉 这5个PHP编程中的不良习惯!
  7. PHP安全问题汇总
  8. 详解PHP中被忽略的性能优化利器:生成器
  9. 教你使用PHP实现查找你想要的附近人
  10. 你可能要纠正这5个PHP编码小陋习!