c语言学习:数据类型1
一.数据类型分类
二、常量和变量
三.整数型数据存储
四.范围
五.浮点型
六、字符型
一、数据类型分类
1.基本类型
整型、浮点型(单精度型、双精度型)、字符型、枚举类型
2.构造类型
3.指针类型
4.空类型
二、常量与变量
1.定义:在程序运行过程中,其值不能被改变的量称为常量;在程序运行过程中,其值可以被改变的量称为变量。
(1)整型常量
123(十进制数据)、0x123(十六进制数据)、0123(八进制数据)。
进制:满x进1 逢x进一
计算机的世界只有二进制。
十进制:0~9、10~20....
十六进制:0~9、10-a、11-b、12-c、13-d、14-e、15-f、10~19、1a~1f
进制转换:
十进制-->二进制:短除法/辗转相除法/除2取余(求得的余数从低位到高位)
二进制-->十进制:加权求和
十六进制 -->二进制: 一位十六进制数 对应 四位二进制数 (8421码)
八进制-->二进制 方法: 一位八进制数 对应 三位二进制数(0-8的8421码去掉最高位0)
(2)整型变量
语法:
数据类型 变量名;
整型数据类型:int、short、long 、long long
规则: 1.数字,字母,下划线组成 2.不能数字开头 3.不能与关键字重名 4.名字是区分大小写
5.不要和库函数的名字 以及 预处理的命令重名
变量定义 --- 本质就是开空间 (内存开空间)
(3) 类型的大小 --->决定表示的数据范围
int(4字节)、short(2字节)、long(8字节)、long long(8字节)
三、数据的存储
数据存储到几个字节中: 字节序 (大端模式 、 小端模式--高高低低 )
高位数据 存放在高地址处
低位数据 存放在低地址处
所有的整数,存储在计算机,用的都是 补码的形式
正数:
补码 = 原码 = 反码
负数:
补码 = 反码 + 1
反码 = 原码 按位取反 (符号不变)
对补码 再求补码 会得到原码
四、数据类型大小 (决定了 数值表示的范围)
int(默认是signed int )
unsigned int(最小值 0、最大值2^32-1 --> 4,294,967,295)
signed int
正数(0)
-2^31 =>-2147483648 ~ ~ +2^31-1
对于(-0:1000 0000 0000 0000 0000 0000 0000 0000)这个值最高位既充当符号位,也充当数值位。
short
unsigned short (最小值 0、最大值2^16 -1 =》 65,535)
signed short[-32768,32767]
整型溢出
eg:最高位32167+1输出的是-327678
五.浮点型
1.常量:一般默认为double
eg:1.234、1.234e3、1.234e-3
2.变量
float 单精度 4字节
double 双精度 8字节
long double 16字节
3.浮点数的存储
int f = -6.25;
规则:
s1: 将十进制小数转换为二进制形式的小数
整数部分 --- 除2取余法
小数部分 --- 乘2取整法
s2: 将二进制形式的小数 写成 科学计数法形式
s3:符号位(1)+指数位(8)+尾数位(23)
为了不再处理指数位符号+偏移量(127)
尾数越多越精确
六、字符型
1.字符常量
'a' (存的是ASCII 编码97)
2.变量(小整型)
eg: char ch;
unsigned char [0,255]
signed char [-128,127]
转义字符:
\表示转义 ,转换了含义 看着有两个符号,但是代表一个字符
'\n' // 换行的字符
'\t' 制表符 一个tab 占 8个字符
'\b' 退格
'\r' 回车
更多推荐
所有评论(0)