(C语言)关于 您所在的位置:网站首页 c语言4级厉害吗 (C语言)关于

(C语言)关于

2024-07-10 03:49| 来源: 网络整理| 查看: 265

首先我们先来看一下运算的规则

PS:在C语言中非0为true,0为false

逻辑或:表达式1 || 表达式2 || 表达式3...如果表达式1的运算结果为true,则整个表达式的结果为true,同时不会再执行后面的表达式,如果表达式1的运算结果为false,则根据表达式2的运算结果继续判断。

逻辑与:表达式1 && 表达式2 && 表达式3...如果表达式1的运算结果为false,则整个表达式的结果为false,同时不会再执行后面的表达式,如果表达式1的运算结果为true,则根据表达式2的运算结果继续判断。

看上去规则很多,实际上非常好理解。

我们都知道逻辑或是用来判定左右两边的表达式至少有一个为真,才会输出真,否则则为假,当表达式1为真时,就已经满足了逻辑或输出为真的条件,所以后面的表达式就不需要计算了,最后的结果即为真。

而逻辑与则是判定左右两边的表达式全为为真,才会输出真,否则则为假,当表达式1为假时,就已经无法满足逻辑与输出为真的条件,所以后面的表达式就不需要计算了,最后的结果即为假。

运算的优先级

一定要记好一点 && 的优先级是比 || 高的

下面举个对比的例子👇

#include void main(){ int i=1 , j = 0, k = 0, z; z =( i++ || j++ )&& k++; printf("%d\n",z); }

 输出结果为0

PS:这里加小括号表示让 || 运算先执行。

#include void main(){ int i=1 , j = 0, k = 0, z; z = i++ || j++ && k++; printf("%d\n",z); }

输出结果为1

所以我们可以得出结论:

i++ || j++ && k++;

实际上是👇

( i++ ) || ( j++ && k++ ); 

我们再仔细一看,发现没有,这一串式子可以理解成👇

表达式1 || 表达式2

没错,这是一个逻辑或的表达式,它依然符合我们上面讲的运算规则,当我们判断表达式1为真时,也就是 i++ 为真时,整个表达式的值也就为真。

规律:在 && 和 || 混合运算时,整个表达式可以看成 || 的表达式,编译器从左向右开始计算&&的表达式,当某个&&表达式为真时,停止计算,整个表达式的值为真

自增、自减

在 || 与 && 的混合运算中,以i为例,我们会遇到i++、i--、++i和--i这样的单目运算,了解它们的朋友就会知道,i++依旧是先判断i的值,再加1;++i是先使i的值加1,再判断i的值。

但要注意一点:它们是否会参与运算,取决于 || 与 && 的混合运算中,是否已经满足结束整个表达式的条件,满足则不参与运算,不满足则否之。

总结

以上就是今天要讲的内容 ,如果有错误或者疑问,欢迎在评论区中留言,这是我的第一篇文章,讲得不好,还请多多包涵。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有