C语言操作符(上半部分)

位操作符:

& 按位与

int a=3;
int b=5;
int c=a&b;
//a:000000000000000000000011
//b:000000000000000000000101
//c:000000000000000000000001

| 按位或

int a=3;
int b=5;
int c=a|b;
//a:000000000000000000000011
//b:000000000000000000000101
//c:000000000000000000000111 

^ 按位异或

int a=3;
int b=5;
int c=a&b;
//a:000000000000000000000011
//b:000000000000000000000101
//c:000000000000000000000110
//相同为零,相异为一

复合赋值操作符:

+=       , -=:

*=      ,  /=:

%=     , >>=:

<<=     , &=:

|=         , ^=:

以上几种复合赋值操作符的意思即:

int a=3;
int b=5;
a=a+b;
a+=b;

单目操作符:

(类型)强制类型转换
逻辑反操作
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
~对一个数的二进制按位取反
--

前置,后置--

++前置,后置++
*间接访问操作符(解引用操作符)——指针变量

(在c语言中一般1就是真,但真不一定为1,0为假)

跟强制类型转换有关的讲解:

int a=(int)3.14

//3.14为双浮点型应使用double,在此通过强制类型转换,将其转换为整型

跟指针变量有关讲解

int main()
{
int a=3;
int* p=&a;
*p=20;
printf("%d\n",a);//a=20
return 0;
}



 跟sizeof计算有关讲解:

#include<stdio.h>
int main()
{
	int a = 10;
	char c = 'r';
	char* p = &c;
	int arr[10] = { 0 };
char ch[10]={0};
	printf("%d\n", sizeof a);//4
	printf("%d\n", sizeof(int));//4

	printf("%d\n", sizeof c);//1
	printf("%d\n", sizeof(char));//1

	printf("%d\n", sizeof(arr));//4*10=40
	printf("%d\n", sizeof(int[10]));40

printf("%d\n",sizeof(ch));//1*10=10
		return 0;
}

 跟~按位取反有关讲解:

int main()
{
int a=0;
printf("%d\n",~a)
  return 0;
}
//在此处~按二进制按位取反
//a:00000000000000000000000000000000
//11111111111111111111111111111111——就是~a的补码
//反码加一等于补码
//11111111111111111111111111111110——就是反码
//10000000000000000000000000000001——这就是~a的原码
//所以~a打印出来为-1

跟++有关的讲解:

int a=10;
printf("%d\n",++a);//前置++,先++,后使用,打印结果为11
printf("%d\n",a);//打印结果为11

int c=12;
printf("%d\n",c++);//后置++,先使用,后++,打印结果为12
printf("%d\n",c);//打印结果为13

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值