《C++新经典》第4章 逻辑运算和判断选择

92 篇文章 18 订阅
15 篇文章 2 订阅

4.1 关系运算符、关系表达式与逻辑运算符、逻辑表达式

4.1.1 关系运算符和关系表达式

  1. 关系运算符
    关系运算(比较运算),比较两个值。

优先级从低到高:
赋值运算符《 关系运算符《 算术运算符
!=,== 《 <,<=,>,>=

c > a+b
a>b == c
a = b>c
  1. 关系表达式
    关系运算符将两个表达式连接起来。
b+c < a

4.1.2 逻辑运算符和逻辑表达式

  1. 基本概念
  • 逻辑运算符
&&,逻辑与,and
||,逻辑或,or
!,逻辑非,not
  • 逻辑运算符连接关系表达式,构成逻辑表达式。
a && b,都真才真。
a || b,都假才假。
!a,真假互变。
0真,非0假。
  1. 优先级
    从低到高
    赋值运算符《 &&和|| 《 关系运算符《 算术运算符 《 !
a>b && x==y
  1. 求值问题

短路求值特性,当&&或||左侧结果能决定最终真假时,右侧将不再执行。
(1)a && b && c
当&&左侧为假时,右侧不再执行。

int a = 1;
3>5 && a=8;
printf("a=%d", a);

(2)a || b || c
当||左侧为真时,右侧不再执行。

int a = 1;
3<5 && a=8;
printf("a=%d", a);

4.2 if语句

4.2.1 if语句的三种形式

if(判断表达式) {
	一或多条语句;
}

if(判断表达式) {
	一或多条语句;
} else {
	一或多条语句;
} 

if(判断表达式1) {
	一或多条语句;
} else if(判断表达式2) {
	一或多条语句;
} else {
	一或多条语句;
} 

4.2.2 if语句的嵌套

if(判断表达式) {
	一或多条语句;
} else {
	if(判断表达式) {
		一或多条语句;
	} else {
		一或多条语句;
	} 
} 

4.3 条件运算符和switch语句

4.3.1 条件运算符

表达式1?表达式2:表达式3

先判断表达式1的真假。
真,执行表达式2,并返回;
假,执行表达式3,并返回。
表达式2和表达式3的值类型要一致。

4.3.2 switch语句

用于多分支语句。

switch(表达式) {//表达式值类型可以是整型、字符型或枚举型
default://位置任意放置
	一或多条语句;
	break;
case 常量表达式1:
case 常量表达式2://多个case可合并
	一或多条语句;
	break;//忽略break后,会继续执行下一个case
case 常量表达式3:
	一或多条语句;
	break;
//......
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值