C语言基本数据类型
C语言学前储备知识
1.计算机如何执行C语言程序
计算机的基本组成部分:CPU、存储器、输入设备、输出设备
CPU:运算器 + 控制器
存储器:
内存:掉电数据丢失、空间小、读写效率高、价格昂贵
硬盘:掉电数据不丢失、空间大、读写效率低
cache:高速缓存设备
执行程序的过程:
(1)编译器编译的二进制指令集合存放硬盘
(2)当执行该二进制程序时,该程序通过CPU被加载在内存中
(3)CPU通过总线访问内存中的数据并做运算和处理
2.计算机中数据的单位
Bit 位 0/1
Byte 字节(计算机中的存储单位) 8Bits = 1Byte
KB 1024Bytes = 1KB
MB 1024KB = 1MB
GB 1024MB = 1GB
TB 1024GB = 1TB
3.进制转换
二进制:0 1
八进制:0 1 2 3 4 5 6 7
十进制:0 1 2 3 4 5 6 7 8 9
十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制、八进制、十六进制转十进制.
规则:对应位*对应位的权值,累加求和
十进制转二进制、八进制、十六进制.
短除法:要转的数据/进制数取得的余数逆序
二进制转八进制、十六进制.
8421编码:3位二进制 <=> 1位八进制;4位二进制 <=> 1位十六进制
一、基本数据类型、表达式及运算符
1.C语言中的数据类型
(1)整数类型:
1)整形数据分类:
short 短整形(内存中:2字节 = 16 bits)
unsigned short 无符号短整形 数据范围:(0,2^16 - 1)
short(signed short) 有符号短整形 数据范围:(–2^15,2^15–1)
int 整形(内存中:4字节 = 32 bits)
unsigned int 无符号整形 数据范围:(0,2^32–1)
int(signed short) 有符号整形 数据范围:(–2^31,2^31–1)
long 长整形(内存中:8字节 = 64 bits)
unsigned long 无符号长整形 数据范围:(0,2^64 - 1)
long(signed long) 有符号长整形 数据范围:(–2^63,2^63–1)
2)整形数据在内存中的存储方式:
无符号整形(补码 = 原码)
有符号整型(正数:补码 = 原码,负数:补码 = 反码 + 1)
最高位:符号位(正数:1,负数:0)
其他位:数据位
(2)字符类型:
char 字符形(内存中:1字节 = 8 bits)
unsigned char 无符号字符型 数据范围:(0,2^8–1)
char(signed char) 有符号字符型 数据范围:(–2^7,2^7–1)
ASCII码:字符和整形数据之间的转换标准
(3)浮点类型:
float 单精度浮点型(内存中:4字节 = 32 bits)
精度范围:6-8位
IEEE标准规定,float类型在内存中以符号位(1bit)、指数位(8bits)、尾数位(23bits)的方式存储
double 双精度浮点型(内存中:8字节 = 64 bits)
精度范围:12-16位
IEEE标准规定,float类型在内存中以符号位(1bit)、指数位(11bits)、尾数位(52bits)的方式存储
(4)缺省类型(空类型void):
函数的形参和返回值,不传递参数,不返回数据
万能指针:void*
(5)泊尔类型(bool):
bool 逻辑类型(内存中:1字节)
取值:true = 1,false = 0
头文件需包含:#include <stdbool.h>