数据类型是为了告诉编译器 这个数据占用多大内存空间。
常量指在程序运行过程中其值不允许改变的量,常量一般出现在表达式或赋值语句中。
整型常量 2,-3、0;
实型常量 2.5, 3.14;
字符常量: ‘a’,'b';
字符串常量:“abcd”,“123456”;
变量指在程序运行过程中其值可以改变,变量使用前必须先定义,变量定义时必须说明数据类型。
变量名字 只能是字母、数字、下划线组成。 名字第一个字符必须是字母或下划线开头。
同一个{}内不允许出现两个名字相同的变量定义
。
变量的初始化 int b =10;
变量的赋值 b=200;
变量的声明 和 定义
变量声明不占用内存空间 extern int c; /*只是声明没有空间就不能赋值*/
变量定义 int a=10;
int a; /*这种即使声明又是定义,此时的“声明”的时候创建空间*/
在main函数之前 extern int a=100; /*这是全部变量的声明占用内存空间*/
const int b =10; const 修饰变量为
只读。只读的变量
类似于常量。
数据在计算机当中是以
补码的形式存储的。
数据传输习惯以bit为单位。 1 bit
计算机存储最小单位是byte字节。1 Byte
1 Kb = 1024 bits
1 KB =1024 Bytes
10进制转化为2进制, 10进制的数除以2分别取商和余数,循环进行,当商为0的时候,余数倒着数转化的结果就是2进制。
小数的存储不准确,小数十进制存储,
小数部分乘以2,得到整数,循环进行,循环次数为小数位数。 顺着看三次乘以2的整数部分结果即为转换后结果。0.432 转换时候循环3次转换后为0.011
56.432存储时整数部分和小数部分分开存储
八进制和二进制转换:八进制的1位对应二进制的3位。
十六进制和二进制转换:十六进制进制的1位对应二进制的4位。
八进制和十六进制转换,先借助二进制转换为二进制再进行转换。
十进制正常表示,如 int a=123 。printf("十进制=%d\n",a);
八进制以0开头,如 int b=0123。 printf("八进制=%o\n",a); /*o为小写字母o*/
十六进制以0x开头 如 int c=0x123 printf("十六进制=%x\n",a); /*x X大小写都行,x对应小写的abc, X对应大写的ABC*/
二进制:C语言不能直接表示二进制。
原码、反码、补码
计算机以
补码的形式存储数字。
原码:站在用户的角度存原始的二进制。
对于正负数最高位为0代表正数,最高位为1代表负数。
+1 : 0000 0001
-1 : 1000 0001
+0: 0000 0000