C语言入门(三)>>> 操作符

文章目录

  • 操作符


操作符

算术操作符

+  -   *   \   %
#include 

int main()
{
	int a = 5 % 2;//取模
	printf("%d\n", a);
	return 0;
}

移位操作符

>>   <<
#include 
#include 

int main()
{
	//移(2进制)位操作符
	//<< 左移
	//>> 右移
	int a = 1;
	//整型1占4个字节-32bit位
	//00000000000000000000000000000001
	int b = a << 2;
	printf("%d\n", b);
	printf("%d\n", a);
	return 0;

}

结果如下:

4
1

注:左移之后a仍然是1,没有改变

位操作符

&	^	|
#include 
#include 

int main()
{
	//(2进制)位操作
	//& 按位与
	//| 按位或
	//^ 按位异或
	int a = 3;
	int b = 5;
	int c = a & b;

	int d = 3;
	int e = 5;
	int f = d | e;

	int g = 3;
	int h = 5;
	int j = g ^ h;//不是次方-是异或
	//异或的计算规律
	//对应的二进制位相同,则为0
	//对应的二进制位相异,则为1
	//011
	//101

	printf("%d\n", c);
	printf("%d\n", f);
	printf("%d\n", j);
	return 0;

}

结果如下:

1//001
7//111
6//110

赋值操作符

=	+=	-=	/=	&=	^=	|=	>>=  <<=
#include 
#include 

int main()
{
	int a = 10;
	a = 20;// = 赋值   == 判断相等
	a = a + 10;
	a += 10;
	a = a - 20;
	a -= 20;
	a = a & 20;
	a &= 20;
	// 复合赋值符
	// += -= *= /= %= >>= <<= &= |= ^=

	return 0;

}

单目操作符

//逻辑反操作
-			//负值
+			//正值
&			//取地址
sizeof		//操作数的类型长度(以字节为单位)
~			//对一个数的二进制按位取反
--			//前置,后置--
++			//前置,后置++
*			//间接访问操作符
(类型)		//强制类型转换
#include 
#include 

//单目操作符
//双目操作符
//三目操作符
int main()
{
	int a = 10;
	int b = 20;
	int c = 0;
	c = a + b;//+ 双目操作符
	printf("%d\n", c);
 
	//c语言中我们表示真假
	//0代表假
	//1代表真
	int d = 10;
	printf("%d\n", d);
	printf("%d\n", !d);

	return 0;

}

结果如下:

30
10
0
#include 
#include 

int main()
{
	int arr[10] = { 0 };//10个整型元素的数组
	int sz = 0;
	//10*sizeof(int) = 40
	printf("%d\n", sizeof(arr));
	//计算数组的元素个数
	//个数 = 数组总大小/每个元素的大小
	sz = sizeof(arr) / sizeof(arr[0]);
	printf("sz = %d\n", sz);

	

	int a = 10;
	//sizeof 计算的是变量/类型所占空间的大小,单位是字节
	printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof a);

	return 0;
	 

}

结果如下:

40
sz = 10
4
4
4

注:仔细观察备注//后边的注释,自己可以复制程序运行一下,将会有更深的理解。
注:仅供学习参考使用。

你可能感兴趣的:(C语言,c语言,开发语言,算法)