1、变量

用来暂存数据,其数据值可以变化更改

1)整数型

  • char:
空间大小: 1 Byte   (在绝大数的编译环境下是1B)
取值范围: 0 ~ 255  (无符号)  -128 ~ +127 (有符号)
  • short:
空间大小:>2B, <= int (32bit环境下是一般是2B)
取值范围:0 ~ 65535(无符号) -32768 ~ +32767(有符号)
  • int:
空间大小:一般等于CPU的字长(32bit环境下,一般为4B)
取值范围:0 ~ 4G(无符号)  -2G ~ +2G(有符号)
  • long:
空间大小: >=int(32bit环境下,一般为4B,同int)
取值范围:0 ~ 4G(无符号) -2G ~ +2G(有符号)
  • long long(GCC扩展类型,非标准):
空间大小:双倍的long(32bit环境下,一般为8B)
取值范围:0 ~ 10^20(无符号) -10^19 ~ +10^19(有符号)

2)浮点型

  • float(单精度浮点型):
空间大小:4B(IEEE标准下)
取值范围:+-10^+-38
精度:6~7位
  • double(双精度浮点型):
空间大小:8B(IEEE标准下)
取值范围:+-10^+-308
精度:15~16位 (最多保证16位精度,完全保证15位精度)

3)指针型 任何基本类型或构造类型都可以定义对应的指针类型。指针的大小固定,跟平台相关(32bit下是4字节)

int *p
char *p1;
struct student *pstu;

4)常量:一般用作直接参与运算,其数值在运行过程中不可变。

5)实数型

浮点: 3.14 1234.5678
指数: 3.14el, 1.23456e5, -1.45e-10 (科学计数法,e左边是系数<精度>,e右边是指数<10位底>)

6)字符型

字   符: 'a' 'b' '0' '1'
ASCII码: 97,98,48,49(C语言中字符用ASCII码表示,ASCII码是范围为0~127的整数)

7)字符串: “hello world”,“i love china”

2、计算机数据的存储

1Byte = 8bit

B:    1字节  8bit
KB    1千字  1024B 
MB:  1兆字  1024KB
GB:  1吉字  1024MB  
  • 原码:数据的直接二进制表示,其中有符号数的最高为代表符号为,负数置1,正数置0
  • 反码:符号位不变的情况下其余位按位取反。
  • 补码:反码的基础上加1
  例如:
  6<十进制>   ==  000000110<二进制> 
  符号位  数字
  1      0000110    -6的原码
  1      1111001    -6的反码
  1      1111010    -6的补码 

results matching ""

    No results matching ""