int main()
{
int a = 0;
printf("%d\n",~a);//输出-1
return 0;
}

~按二进制位取反,把所有二进制数中0变1、1变0

整数在内存中存储的是补码

一个整数的二进制数表示有三种

原码

反码

补码

负数的计算方法如下     正整数原码、反码、补码相同

-1

1000 0000 0000 0000 0000 0000 0000 0000(原码)

1111 1111 1111 1111 1111 1111 1111 1110(反码)

1111 1111 1111 1111 1111 1111 1111 1111(补码)

int main()
{
int a = 10;
int b = ++a;//前置++ 先++ 后使用
int b = a++;//后置++ 先使用 后++
printf("%d\n",b);
printf("%d\n", a);
return 0;
}
int main()
{
int a = 1;
int b = (++a) + (++a) + (++a);
printf("%d\n",b);//b=12
return 0;
}

三目操作符

? :

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//三目操作符 ? :
int main()
{
int a = 5;
int b = 3;
int MAX = 0;
//if (a > b)
// MAX = a;
//if (a < b)
// MAX = b;
MAX = a > b ? a : b;

printf("%d\n",MAX);
return 0;
}

, ,

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//三目操作符 , ,
int main()
{
int a = 1;
int b = 3;
int c = 4;
int d = (a=b+a,c=a+3,d=a+c);
//逗号表达式从左往右依次计算
//表达式的结果是最后一个表达式计算的结果
printf("%d\n",d);
return 0;
}

  []下标引用操作符

()函数调用操作符