嵌入式学习day2----数据类型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

算法处理的对象是数据,而数据是以某种特定的形式存在的(例如整数、实数、字符等形式)。不同的数据之间往往还存在某些联系(例如由若干个整数组成一个整数数组)。所谓数据结构指的是数据的组织形式。由此,本篇文章梳理了C语言中数据类型的知识点。

一、数据类型是什么?

数据类型主要是指数据的种类划分。
C语言提供了以下几种数据类型:
在这里插入图片描述
本篇文章主要讲的是基本数据类型。

二、常量与变量

1.常量

在程序运行过程中,其值不能被改变的量成为常量。

  1. 整型常量:
    1005 //十进制的整型常量
    085 //八进制的整型常量
    0x95 //十六进制的整型常量
    各种进制转换规则

  2. 实型常量(浮点型常量)
    1.85
    1.85e-4 //科学计数法1.85*10^-4(e也可写作E)

  3. 字符型常量
    ‘a’、‘b’…

  4. 标识符代表一个常量
    #define PRICE 30:
    定义 PRICE 代表常数 30, 此后凡在本程序中出现的PRICE 都代表 30,可以和常批一样进行运算

2.变量

变量代表内存中具有特定属性的一个存储单元,它用来存放数据,在程序运行期间,值是可以改变的

  1. 变量的命名规则:
    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

  1. 将10进制小数转化为二进制小数
    整数部分:除2取余法——1100
    小数部分:×2取整法——0001
    二进制形式:1100.001

  2. 将二进制形式写成科学计数法形式:1.100001*2^3

  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 //储存在计算机中的样子

  4. double
    1位 符号位|11位 指数位 |52位 尾数位
    ( +1023)

4、浮点数的比较

  1. 代码中出现的浮点型常量默认识别为double型
  2. 在比较浮点数时应注意,可以转化为同一精度比较。

五、字符型常量

1、字符型常量变量

  1. 0~32 控制字符(不可见字符)
    48~57 数字字符 ‘0’ ~ ‘9’
    65~90 英文的26个大写 字母的符号
    97~122 英文的26个小写 字母的符号

  2. 字符型变量
    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语言中格式化输出总结

总结

基本数据类型的知识梳理,主要从数据类型的常量、变量分析、数据类型的大小范围、数据类型怎么储存到计算机中这几部分分析,今天的分享到此结束。

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值