您当前的位置:首页 > 互联网教程

C语言逻辑运算符分别是什么

发布时间:2025-05-13 10:53:54    发布人:远客网络

C语言逻辑运算符分别是什么

一、C语言逻辑运算符分别是什么

1、C语言逻辑运算符分别是:或(||)、且(&&)、非(!),分别对应于命题逻辑中的 OR、AND、NOT运算。

2、逻辑运算符:或||。在命题逻辑中,当P=1或Q=1时,P||Q等于1。

3、逻辑运算符:且&&。在命题逻辑中,当P=1且Q=1时,P&&Q才等于1。

4、逻辑运算符:非!。在命题逻辑中,当P等于0时,!P等于1,反之亦然。

5、比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补0)位移。例如,将11100011右移3比特,算术右移后成为11111100,逻辑右移则为00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

6、运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

二、在C语言中运算符的运算顺序是如何的

运算符也有个运算顺序问题,先算乘除再算加减。单目正和单目负最先运算。取模运算符(%)用于计算两个整数相除所得的余数。例如:

最终a的结果是3,因为7%4的余数是3。

那么有人要问了,我要想求它们的商怎么办呢?b=7/4;

这样b就是它们的商了,应该是1。

也许有人就不明白了,7/4应该是1.75,怎么会是1呢?这里需要说明的是,当两个整数相除时,所得到的结果仍然是整数,没有小数部分。要想也得到小数部分,可以这样写7.0/4或者7/4.0,也即把其中一个数变为非整数。

那么怎样由一个实数得到它的整数部分呢?这就需要用强制类型转换了。例如:a=(int)(7.0/4);

因为7.0/4的值为1.75,如果在前面加上(int)就表示把结果强制转换成整型,这就得到了1。那么思考一下

单目减运算符相当于取相反值,若是正值就变为负值,若是负数就变为正值。单目加运算符没有意义,纯粹是和单目减构成一对用的。

三、C语言与与或非运算的区别是什么

1、在C语言中,与、或、非分别使用以下运算符:

2、与运算:当两个操作数都为真(非零)时,结果为真(非零),否则结果为假(零)。

3、int c= a& b;//二进制结果为 0010,即十进制的2

4、或运算:当两个操作数中至少一个为真(非零)时,结果为真(非零),否则结果为假(零)。

5、int c= a| b;//二进制结果为 0111,即十进制的7

6、非运算:对操作数的每一位取反,即将每个 0变为 1,将每个 1变为 0。

7、int b=~a;//二进制结果为 1100(取反后的结果),即十进制的-4

8、需要注意的是,与、或、非运算通常用于处理二进制数据,而不是普通的整型数据。