C语言笔记 第十五课 逻辑运算符分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42187898/article/details/84940048

第十五课 逻辑运算符分析

逻辑运算符&&,||和!真的很简单吗?

下面的程序运行结束后,i,j,k的值分别是多少?
int i = 0;
int i = 0;
int i = 0;
++i || ++j && ++
结果:
i = 1
j = 0
k = 0
15-1 初探逻辑运算符

程序中的短路

||从左向右开始计算:
当遇到为真的条件时停止计算,整个表达式为真
所有条件为假时表达式才为假
&&从左向右开始计算:
当遇到为假的条件时停止计算,整个表达式为假
所有条件为真时表达式才为真

逻辑运算符分析

逻辑表达式中,&&比||具有更高的优先级
在这里插入图片描述
在&&和||混合运算时,整个表达式被看做||表达式,编译器从左向右开始计算&&表达式,当某个&&表达式的值为真是,停止计算,整个表达式的值为真。
15-2 程序中的短路规则

C语言中的逻辑非“!”只认得0,是0返回1,不是0,返回0。

15-3 逻辑非运算符的使用
小结:
程序中的逻辑表达式遵从短路规则
在&&与||混合运算时:
整个表达式被看做||表达式
从左向右先计算&&表达式
最后计算||表达式
逻辑非!运算符只认得0
碰见0返回1,否则统统返回0
只有0才代表假,其余的所有值均代表真

猜你喜欢

转载自blog.csdn.net/weixin_42187898/article/details/84940048
今日推荐