今天为大家带来逻辑运算符与表达式的详细教程
在C语言中,我们通常会进行真值与假值的判断,这时我们就需要用到逻辑运算符与逻辑表达式。如果表达式的值不为0,则通通返回为真值。只有当表达式的值为0时,才会返回假值。
1.逻辑运算符
在C语言中,逻辑运算符共有三种。使用这三种逻辑运算符可以将多个表达式捆绑在一起。C语言的逻辑运算符如下:
符号 | 功能 |
---|---|
&& | 与 |
! | 非 |
上述逻辑运算符除去 非 以外,其他两个逻辑运算符都是双目运算符。
2.逻辑表达式
逻辑运算符与逻辑表达式的作用在于可以将多个表达式绑定到一起判断,一般判断的格式如下:
表达式 逻辑运算符 表达式 ;
逻辑表达式一般在 if 和 while 等语句上使用,具体使用方法如下:
#include
#include
using namespace std;
int main()
{
int Num1, Num2, Num3, Num4;
Num1 = Num2 = 10;
Num3 = Num4 = 20;
bool Result;
// if 语句示例
if (Num1==Num2&&Num1==Num3)
{
cout << "这个语句是且 不符合条件 不输出" << endl;
}
cout << "------------------------------" << endl;
if (Num1 == Num2 && Num3 == Num4)
{
cout << "这个语句是且 符合条件 输出" << endl;
}
cout << "------------------------------" << endl;
}
以上代码的运行结果如下:
由此可见,逻辑表达式可以进行表达式绑定以及判断。
3.优先级与结合性
在C语言中,普通的运算符和表达式有优先级和结合性。关系运算符和关系表达式有优先级和结合性,不难看出,逻辑运算符和逻辑表达式也有其优先级和结合性。
逻辑运算符的优先级是 非! 最高,其次是 && 和 || 。在结合性方面,逻辑表达式遵循自左到右的原则。另外,值得一提的是,我们可以通过逻辑运算符将其他类型的数据强行转化为布尔型数据,例如:
#include
#include
using namespace std;
int main()
{
int Num1, Num2;
Num1 = Num2 = 10;
cout << "输出未强行转化的数值" << endl;
cout << Num1 << endl;
cout << "输出强行转化的数值" << endl;
cout << !!Num1 << endl;
}
上述示例代码的运行结果如下:
由此可以看出,我们可以使用逻辑运算符对变量进行强制数据类型转化。从上面的教程可以看出,布尔类型输出的值为非0,则为真。因为数据 10 不为 0 ,其本身就是真值。使用两次 单目逻辑非 就可以使数据类型变为布尔类型, 且因为使用了两次 单目逻辑非 ,其布尔值从真变为假后又变为真。
今天的内容就到这里,下期小编将带大家继续学习,请各位看官老爷关注转发~~~
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
180文章
7530浏览量
128643 -
逻辑
+关注
关注
2文章
818浏览量
29293 -
运算符
+关注
关注
0文章
163浏览量
10946
发布评论请先 登录
相关推荐
JAVA语言的运算符及表达式
JAVA语言的运算符及表达式3.5 运算符及表达式数据的类型除了限定数据的存储方式、取值范围之外,还定义了对该数据类型可进行的操作即运算。表
发表于 12-06 00:28
【跟我学单片机c语言】如何更好地使用C51运算符和表达式
`【跟我学单片机c语言】如何更好地使用C51运算符和表达式之前说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。这个语句就是 typedef,这是个很好用的语句,但我却不常用它,通常我定义
发表于 12-05 10:22
【跟我学单片机C语言】详解运算符和表达式的位运算符
【跟我学单片机C语言】详解运算符和表达式的位运算符学过汇编的朋友都知道汇编对位的处理能力是很强的,但是单片机C语言也能对运算对象进行按位操作,从而使单片机C语言也能具有一定的对硬件直接
发表于 12-07 13:51
关于C语言的运算符和表达式--笔记1
和1两种,也就是逻辑的真和假。当指定的条件满足结果为1,反之为0;关系表达式结果如下: 表达式1关系运算符表示式2例如:1):a>b: //假如a大于b,则
发表于 07-19 00:48
Java基础之Java运算符
; ((n++) < 2)问:b=?,n=?结果b=false n=3&&运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符
发表于 05-18 15:39
C语言基本的算术运算符及表达式
注意:自增和自减运算符只能用于变量,而不能用于常量或表达式
**C语言算术表达式和运算符的优先级与结合性 **
在表达式求值时,
评论