C语言学习-第四章 选择结构程序设计②

170 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情

逻辑运算符和逻辑表达式

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

逻辑运算符及其优先次序

有3种逻辑运算符:

  • 与(AND) && 两个都为真则为真
  • 或(OR) || 有一个为真则为真
  • 非(NOT) ! 取反

&&||是双目(元)运算符,要求两个运算对象 !是一目(元)运算符,只要求有一个运算对象

逻辑运算符的优先次序:

  • !(非) ——> &&(与)——> ||(或)
  • 逻辑运算符中的 &&|| 低于关系运算符, ! 高于算术运算符

image.png

逻辑表达式

逻辑表达式的值应该是一个逻辑量 1代表, 0代表

示例

a = 4; 
=> !a = 0

a = 4, b = 5;
=> a&&b = 1,  a||b = 1, !a||b = 1

4 && 0 || 2 = 1

// 表达式自左向右扫描

在逻辑表达式的求解中, 并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

示例:

  • a && b && c. 只有a为真才判定b,只有a和b都为真才判定c的值
  • a || b || c. 只要a为真就不必判定b和c
  • 判别用year表示的某一年是否为闰年,用一个逻辑表达式来表示(闰年需满足条件:①能被4整除,但不能被100整除,如2008。②能被400整除,如2000) (year % 4 == 0 && year % 100 != 0) || year % 400 == 0

条件运算符和条件表达式

条件运算符由两个符合 ? : 组成,必须一起使用,要求3个操作对象,称为三目(元)运算符

条件运算符的一般形式为: 表达式1 ? 表达式2 : 表达式3

如:

max = a > b ? a : b; 
a > b ? max = a : max = b;