提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
算法处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、实数、字符等形式)。不同的数据之间往往还存在某些联系(例如由若干个整数组成一个整数数组)。所谓数据结构指的是数据的组织形式。由此,本篇文章梳理了C语言中数据类型的知识点。
一、数据类型是什么?
数据类型主要是指数据的种类划分。
C语言提供了以下几种数据类型:
本篇文章主要讲的是基本数据类型。
二、常量与变量
1.常量
在程序运行过程中,其值不能被改变的量成为常量。
-
整型常量:
1005 //十进制的整型常量
085 //八进制的整型常量
0x95 //十六进制的整型常量
各种进制转换规则 -
实型常量(浮点型常量)
1.85
1.85e-4 //科学计数法1.85*10^-4(e也可写作E) -
字符型常量
‘a’、‘b’… -
标识符代表一个常量
#define PRICE 30:
定义 PRICE 代表常数 30, 此后凡在本程序中出现的PRICE 都代表 30,可以和常批一样进行运算
2.变量
变量代表内存中具有特定属性的一个存储单元,它用来存放数据,在程序运行期间,值是可以改变的
- 变量的命名规则:
1、由数字、下划线、字母组成
2、数字不能开头
3、不能与关键字重名
4、不要与预处理命令、库函数名重名
要先定义后使用。
.
三、整型数据
1. 整型数据类型
int —— 4个字节
short —— 2个字节
long —— 8个字节
long long —— 8个字节
unsigned 无符号数
signed 有符号数
一个字节是8位二进制数
数据类型的大小计算方式
sizeof(运算数) 计算运算数所代表的数据类型占用的内存空间的字节数
运算数 可以是一个类型名
sizeof(int)、sizeof(a)——可以是变量名
sizeof(10) 、 sizeof(a+10) ——可以是个常量或表达式
2. 变量的定义
数据类型+变量名
int a =10 ;(定义的同时给值==初始化)
int a; a=10; ( 赋值 )
3. 整型数据的储存
一个整型数据最终是以他补码的形式储存在计算机中。
·补码
正数:原码、反码、补码都是同一个
负数:最高位是符号位(0代表正数、1代表负数); 反码(符号位不变,其余求反);补码(反码+1)
补码再求补码为原码
整型数据以大小端的形式储存在计算机中
小端:高高低低(高位数据 存在 高地址 处;低位数据 存在 低地址处)
大端:高低低高
x86 体系机构 —————— 小端模式(计算机储存为小端模式)
51 单片机 ——————— 大端模式
4. 整型数据类型的取值范围
signed int ——有符号 int 型(-2^31 ~ 2 ^31-1)
unsigned int ——无符号 int 型 (0 ~ 2^32-1)
signed short ——(-2^15 ~ 2 ^15-1)
unsigned short ——— ( 0~ 2^16-1) //65535
signed long —— (-2^63 ~ 2 ^63-1)
unsigned long —— (0 ~ 2^64 -1)
四、浮点型数据
1、浮点型变量
1)关键字
float —单精度
double ---- 双精度
2)定义变量
float f
2、浮点型数据类型(大小)
1、float 4个字节
2、double 8个字节
3、 long double 16个字节
3、 浮点型数据的储存
例如12.25
-
将10进制小数转化为二进制小数
整数部分:除2取余法——1100
小数部分:×2取整法——0001
二进制形式:1100.001 -
将二进制形式写成科学计数法形式:1.100001*2^3
-
float
按照IEEE 754 标准存放
最高位(符号位)——8位指数位——23位 尾数
0 ——(3+127)10000010——100001
0100 0001 0100 0010 0000 0000 0000 0000
4 1 4 2 0 0 0 0 //储存在计算机中的样子 -
double
1位 符号位|11位 指数位 |52位 尾数位
( +1023)
4、浮点数的比较
- 代码中出现的浮点型常量默认识别为double型
- 在比较浮点数时应注意,可以转化为同一精度比较。
五、字符型常量
1、字符型常量变量
-
0~32 控制字符(不可见字符)
48~57 数字字符 ‘0’ ~ ‘9’
65~90 英文的26个大写 字母的符号
97~122 英文的26个小写 字母的符号 -
字符型变量
char ch=’a‘ //在计算机中存放的实际上时’a’的ASCII码值
char = tiny int (小整型)
2. 字符型数据大小
char 一个字节
unsigned char (0 ~ 2^8-1)255
signed char (-2^7 ~ 2 ^7-1)
3. 应用
0~32 控制字符(不可见字符)
48~57 数字字符 ‘0’ ~ ‘9’
65~90 英文的26个大写 字母的符号
97~122 英文的26个小写 字母的符号 .
%c----------输出字符
%d ---------输出十进制int型
%#0 --------- 输出八进制 int 型
%#x --------输出 十六进制 int 型
%hu --------输出 无符号数 (half)
C语言中格式化输出总结
总结
基本数据类型的知识梳理,主要从数据类型的常量、变量分析、数据类型的大小范围、数据类型怎么储存到计算机中这几部分分析,今天的分享到此结束。