承接3月26号继续学习操作符
1按位取反~
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{//波浪号~是按位取反
int a = 0;
printf("%d", ~a);
return 0;
}
//0的二进制码是00000000 00000000 00000000 00000000
//按位取反后是 11111111 11111111 11111111 11111111
//
//补充:
//整数在内存中存储的是补码
//一个整数的二进制表示有三种
//原码
//反码
//补码
//-1(负数的计算)
//原码 10000000 00000000 00000000 00000001
//反码 11111111 11111111 11111111 11111110 符号位不变,其他相反
//补码 11111111 11111111 11111111 11111111 反码加一
//正整数原码反码补码相同
2++ --
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 10;
int b = 0;
b = ++a;//前置++,先++,后使用(a=a+1;b=a+1)
printf("%d\n", a);
printf("%d\n", b);
int c = 10;
int d = 0;
d = c++;//后置++,先使用,后++ (d=10,c=c+1)
printf("%d\n", c);
printf("%d\n", d);
return 0;
}
3强制类型转换
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{//强制转换类型
int a = (int)3.14;
printf("%d\n", a);
return 0;
}
4逻辑或和逻辑与
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 1;
int b = 0;
int c = 1;
printf("%d\n", a || b);//逻辑或
printf("%d\n", a && b);//逻辑与
return 0;
}
5条件操作符(三目操作符)
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//条件操作符(三目操作符)
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);
int max = 0;
max = a > b ? a : b;//a大于b吗,是执行a,不是执行b
printf("%d", max);
return 0;
}
6逗号表达式
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{//逗号表达式
int a = 1;
int b = 2;
int c = 3;
int d = (b = a + 2, c = b + 3, a = c + 1);
//逗号表达式是从左向右依次计算的,整个表达式的结果是最后一个表达式的结果
printf("%d", d);
return 0;
}
明天继续加油
疫情也加油!!!