按位运算符

用于对位模式执行按位运算的位运算符。
与处理字节的常见逻辑运算符不同,位运算符可以检查或者设置字节中的每个单独位。

如果两个操作数的对应位为 1,则按位 AND 的输出为 1.
如果操作数的任一位为 0,则对应位的结果为 0。

十进制值被转换为二进制值,二进制值是位序列,按位运算符处理这些位。

C语言中的按位运算符

  • &(按位与)
  • | (按位或者)
  • ~(按位或者)
  • ^ (异或者)
  • <<(左移)
  • >>(右移)。

位运算和位运算的真值表:

| x | y | x | y | x & y | x^y |
|--- |--- |--- |--- |--- |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 |

运算符说明例子
&如果两个操作数中都存在二进制 AND 运算符,则将其复制到结果中。A & B
|如果
任一操作数中存在二进制 OR 运算符,则复制一点。
A | B
^二进制 XOR 运算符复制该位,如果
它在一个操作数中设置,但不能同时在两个操作数中设置。
A^B
~Binary One 的补码运算符
是一元的,具有“翻转”位的效果。
~A
<<二元左移运算符。左操作
数值向左移动
右操作数指定的位数。
A << 1
>>二元右移运算符。左操作数的
值向右移动
右操作数指定的位数。
A >> 1

按位运算符示例

#include
int main()
{
	int x=00101000; // 40
	int y=01010000; // 80
	int result=x&y;// 按位与操作
	printf("Result= %d",result);//结果为00000000 
	return 0;
}

杂项/特殊运算符

C语言还支持 一些其他重要的运算符,包括 sizeof? :

运算符说明例子
sizeof()返回变量的大小。大小是该变量的数据类型保留的字节。sizeof(a)
&返回变量的地址。& a;
*指向变量的指针。*a;
? :条件表达式。(a > b) ? X : Y,如果条件为真,然后返回值 X ,否则返回值 Y

其他运算符示例

#include
int main()
{
	int x=1;
	int y;
	y=sizeof x;
	printf("y= %d",y);
	return 0;
}
C语言 运算符

与其他编程语言一样,C 语言也支持一组运算符来对变量执行不同类型的操作。

什么是运算符?

运算符被定义为表示某些数学或者逻辑运算的符号。
它可能需要一个或者多个操作数来执行其操作。

例如,算术运算符执行算术运算,例如 加号 (+) 运算符执行加法运算。

操作数

操作数是运算符用来计算表达式或者操作的变量或者对象。

例如:'y + x' 是一个表达式,其中 'x' 和 'y' 是操作数,而 '+' 是一个运算符。
所有表达式必须至少有一个操作数。

欢迎来到之路教程(on itroad-com)

关系运算符:

关系运算符检查两个或者多个操作数之间的关系是真还是假。

在这里,我们可以借助给定的表查看 C 支持的所有关系运算符。

假设变量 A 为 10,变量 B 为 20,则

Operator描述例子
==如果两个操作数的值相等,则条件为真,返回 1,否则返回 0(假)。A==B。
!=如果值不相等,
则条件变为真并返回 1,否则返回 0(假)。
A != B。
>如果左操作数的值大于右操作数的值,则条件成立。A > B
<如果左操作数的值小于右操作数的值,则条件为真并返回 1,否则返回 0(假)。A < B
>=或者左操作数的值大于或者等于右操作数的值,则条件为真并返回 1,否则返回 0(假)。A>=B
<=或者左操作数的值小于或者等于右操作数的值,则条件为真并返回 1,否则返回 0(假)。A<=B

关系运算符示例

#include<stdio.h>
int main()
{
	int x=1;
	int y=5;
	int result=x<y;// result等于1或者0
	printf("Result %d",result);
	return 0;
}

逻辑运算符

逻辑运算符主要用于控制程序流程。
逻辑运算符的概念很简单。
逻辑运算符允许程序根据多个条件做出决定。
每个操作数都被认为是一个可以评估为真或者假值的条件。
然后使用条件的值来确定总体值。

下面是C语言支持的所有逻辑运算符表:

运算符描述例子
&&逻辑与运算符。如果两个操作数都非零,则条件为真并返回 1,否则返回假 0。A&B
||逻辑 OR 运算符。如果两个操作数中的任何一个为非零,则条件变为真并返回 1 否则返回假 0。A || B
!逻辑非运算符。它用于反转其操作数的逻辑状态。
如果条件为真,则逻辑非运算符将使其为假。
!A&&B

逻辑运算符示例

#include <stdio.h>
int main()
{
int x=1;
int y=5;
int result=(x<y)||(x>y);//Logical OR Operator
printf("result= %d",result);
return 0;
}

赋值运算符

在赋值运算符的帮助下,我们可以为变量分配一个新值。

下表列出了 C 语言支持的赋值运算符:

运算符描述例子
=简单的赋值运算符。
将右侧操作数的值分配给左侧操作数
C = A + B
+=添法 并 赋值运算符。
它将右操作数添加到左操作数并将结果分配给左操作数。
C += A
-=减法 并 赋值运算符。
它从左操作数中减去右操作数,并将结果分配给左操作数。
C -= A
*=乘以 并 赋值运算符。
它将右操作数与左操作数相乘,并将结果分配给左操作数。
C *= A
/=除以 并 赋值运算符。
它将左操作数与右操作数相除,并将结果分配给左操作数。
C /= A
%=模数 并 赋值运算符。
它使用两个操作数取模并将结果分配给左操作数。
C%=A
<<=左移 AND 赋值运算符。C <<3
>>=右移 AND 赋值运算符。C >>=5 ,等同于 C = C >> 5
&=按位 AND 赋值运算符。C &=5 与 C = C & 5 相同
^=按位异或者和赋值运算符。C ^= 2 ,等同于 C = C ^ 5
|=按位包含 OR 和赋值运算符。C |= 2 ,等于 C = C | 5

赋值运算符示例

#include
int main()
{
	int x;
	x=1;
	x+=5;// 加法并赋值
	printf("x= %d",x);
	return 0;
}

算术运算符

算术运算符执行一些数学运算,例如加法、减法、乘法和除法。

以下是C语言支持的算术运算符表:

Operator描述例子
+添加两个操作数。A + B
-从第一个操作数中减去第二个操作数。A-B
*将两个操作数相乘。A * B
/分子除以分母,得到商。乙/甲
%模数运算符:计算整数除法后的余数。B % A
++增量运算符将整数值加一。A++
递减运算符将整数值减一。A--

算术运算符示例

#include <stdio.h>
int main()
{
	int x=1;
	int y=5;
	int result=x+y;
	printf("5加1等于%d",result);
	return 0;
}

运算符类型

运算符可以这样分类:

  • 算术运算符
  • 关系或者比较运算符
  • 逻辑运算符
  • 按位运算符
  • 赋值运算符
  • 杂项/特殊运算符
日期:2020-09-17 00:09:16 来源:oir作者:oir