数据类型
- 变量
- 变量代表内存中具有特定属性的存储单元,变量名实际是符号化的内存地址
- 先定义后使用
- 常量
数据的进制表示
-
字节(Byte)
- 计算机中存储的单位,数据读取的最小单位
- 位(bit)/比特
- 计算机中数据存储的最小单位
- 以0/1存储
- 1Byte = 8 bit
-
十进制
-
二进制
-
八进制(少)
-
十六进制
-
进制转换
- 十转二进制
- 短除法
- 十六进制转二进制
- 每位转换为四位二进制数
- 八进制转二进制
- 每位转换位三位二进制数
- 二进制转10进制
- 第几位是2的几次方
- 十转二进制
基本数据类型
整型
在c语言中,通常以short、int、long来声明
- int
- int a;代表在内存中开辟一片区域,称为a,用来存放整数
- 变量a所占用的内存大小,在不同的系统中是不一样的,c语言没有固定定义int 和long,只定义了相对别的类型的大小,在 64位机中,int占4字节
- long
- 8字节
- long long
- short
- short被规定至少占用两个字节
5.下列不属于C语言的类型的是:(D)
A)signed short int B) unsigned long int
C)unsigned int D) long short
码制
- 原码
- 反码
- 补码
浮点型
-
float
- 4字节
-
double
- 8字节
-
long double
- 12字节
IEEE754标准
符号码 | 阶码 | 尾数码 |
---|---|---|
1 | 8 | 23 |
最常用的为double类型
c语言中所有的小数都是double类型,系统默认赋予的类型
定义float类型在后面加上f或者F
定义long double 在后面加上l或者L
字符型
- char
- 本质还是整型数字,在内存中以数字存储
- 可以和数字进行加减
- 转义字符
- 一个字符除了可以用它的实体
布尔型
- 布尔型数据只有真、假两种取址,非零为真,零为假
- 在c语言中,使用布尔型bool定义变量时,需要包含系统头文件stdbool.h
数据类型的尺寸
-
概念:整型数据尺寸是指某种整型数据所占内存空间的大小
-
C语言标准并未规定某些整形数据的具体大小,只规定了之间的相对大小
- short比int短
- long比int短
- long型数据长度等于系统字长
-
系统字长:CPU一次处理的数据长度,称为字长,也就是CPU的数据总线字节长度,64位操作系统就是64位,8字节
-
一些典型尺寸
char short int long long long 1字节 2字节 16 2 |32/64 4 系统字长 32 4 64 8
-
数据类型的转换
不一致但相互兼容的数据类型,在同一表达式中将会发生类型转换
-
转换模式
- 隐式转换: 系统按照隐式规则自动进行转换
- 强制转换: 用户自定义的转换
- (数据类型)变量
-
隐式规则
- 从占位小的向占位大的进行转换
- 保证不丢失精度
- 最低运算类型为int,低于int的运行都要转换为int