C语言小知识(2)
1 、常用数据类型的长度
int 4个字节
char 1个字节
short 2个字节
long 4个字节
指针 取决于计算机的位数
2、数据在计算机中的存储
数据在计算机中都是以二进制存储的 0 1
对于字符:ascii码对于int : 正整数,负整数,0 他们以补码的形式存储
1:
原码:0000 0000 0000 0000 0000 0000 0000 0001
反码:1111 1111 1111 1111 1111 1111 1111 1110
补码:0000 0000 0000 0000 0000 0000 0000 0001
-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表示符号位,反码取反(最高位不变),原码在反码的基础上+1
3、不同数据之间的计算
赋值:
如int->char 就是把int的补码传给char的内存 然后再显示出来
运算:
1、有符号与无符号运算 向无符号转换
2、int->unsigned->long->double<-float
溢出时:
上溢出,从最小值开始
下溢出,从最大值开始
4 、自增自减运算
++i 先执行i=i+1 在使用i
i++ 先使用i 在执行i=i+1
比如:
b=3; b=3;
a=++b; 先执行+1在赋给a a=b++;先赋给a在+1 则a=4 则a=3
5、字符字符串
字符用'' 变量用char型变量
字符串用"" 变量用char型数组
6、输入输出
scanf() printf()
getchar() putchar()
gets() puts()
注意:scanf()遇到空格会输入停止,因为空格作为分隔符