//单目操作符:逻辑操作符(!)#include<stdio.h>int main(){//0表示假,非0表示真 int a = 0; printf("%d\n", !a);//=1,!是非的意思 if (a) {//如果a为真,做事 printf("真"); } if (!a) {//如果a为假,做事 printf("假"); }}//单目操作符:sizeof 计算类型或者变量的大小(以字节为单位)#include<stdio.h>int main(){ int abc = 10; //printf("%d\n", sizeof(int));//这里int和abc都表示整数,32位,4个字节 printf("%d\n", sizeof(abc)); printf("%d\n", sizeof abc); //sizeof不是函数可以省略() int arr[10] = { 0 };//10*4=40 printf("%d\n",sizeof (arr)); printf("%d\n", sizeof(arr[0])); int x = sizeof(arr)/sizeof(arr[0]); printf("%d\n", x);}//单目操作符:~对一个数的二进制按位取反//把所有二进制位中数字 1变成0,0变成1,整数在内存中存储的是补码#include<stdio.h>int main(){ int a = 0; printf("%d\n", ~a); return 0;}小知识点:整数在内存中存储的是补码,一个整数的二进制表示有3种:原码,反码和补码,正整数原反补码相同负数补码计算:Eg:-1(二进制时,第一位表示正负,0是正(+),1是负(-)原码:1000 0000 0000 0000 0000 0000 0000 0001反码:1111 1111 1111 1111 1111 1111 1111 1110//原码基础上符号不变,其他位按位取反补码:1111 1111 1111 1111 1111 1111 1111 1111//反码加1