C语言中数据形式:
变量:在程序运行过程中值会发生改变的量
定义:数据类型 变量名;
变量名取名规则:
1.由数字、字母、下划线构成
2.不能以数字开头
3.区分大小写
4.不要和系统中二级关键字重名 (include define)
5.不能和C语言中的关键字重名 (32个关键字)
6.不要和系统中库函数 重名
常量:在程序运行过程中值不会发生改变的量
C语言数据类型:
C语言数据类型包括:
基本数据类型:
整型(int,short,long,long long),浮点型(float,double),字符型(char)
构造数据类型
指针类型
空类型
整型:
常量:
十进制:123
十六进制:0x123
八进制:0123
最终计算机都会转换成二进制读取。
进制转换:
十进制—>二进制(除二取余法)
二进制——>十进制(加权求和法)
可以得到关于十进制转换的一种通用方法:
10进制转n进制:(除n取余法)
n进制转10进制:(加权求和法)
八进制和二进制 :一位八进制数字对应三位二进制数字
十六进制和二进制:一位十六进制数字对应四位二进制数字
变量:
定义:数据类型 变量名;
开辟的空间大小,与变量的数据类型有关:
想要查看对应类型所占空间大小,可以使用sizeof()。
既然开辟了空间来存储数据,那么又会有一个问题:数据是如何存储的,它的存储流程是什么?
字节序:
共有两种排序方法:大端,小端。
主要的排序方法都是小端,它的排序方法用四个字总结:高高低低。
高位数据 放在高地址处
低位数据 放到低地址处
51单片机 --- 大端存储。
arm芯片 --- 默认是小端,可以设置大端。
正整型 负整型 0
unsigned int (无符号的整型 非负数 )
signed int (有符号的整型 负数 0 正数 )
整数的存储:整数都是按照补码的形式存储。
正整数:原码,反码,补码三者相同。
负整数:补码=反码+1
整型的数据范围:
重点:整型数据的溢出
浮点类型——小数
常量:
1.234
1.234e3 //科学计数法 1.234 * 10 ^ 3
1.234E-3 // 1.234 * 10 ^ -3
变量
float——单精度——4字节
double——双精度——8字节
浮点类型如何存储进计算机?
据IEEE 754标准
(127为偏移量,2^7-1)
重点:浮点数的比较问题
在C语言中,它的常量和变量都有对应的数据类型。整型常量默认为int,浮点型常量默认为double。
(float和double在存储时也有差异,double的偏移值为1023)
字符型
在计算机中,字符都是通过数字表示。将字符译成数字称为译码,使用的码表是ASCII编码表。
1.字符型常量
'a' //单个字符
2.字符型变量
char //1字节大小
char ch = 'a';
3.空间大小
1字节大小
4.字符型数据的存储
char ch = 'a';
'a' ---ASCII编码值---97 //还是整数数值
char与整型之间是共通的。