IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 嵌入式软件初学者 -> 正文阅读

[C++知识库]嵌入式软件初学者

C语言入门

1、基本数据类型

char
short
int
long
float
double
long long
bool
如何计算数据类型或者变量在内存中所占的字节数?

#include<stdio.h> 
#include<stdbool.h> 
int main()
 { 
//int类型所占的字节数
//printf将指定格式的字符串输出到屏幕终端上
//char
printf("char size:%lu\n",sizeof(char));
//short
printf("short size:%lu\n",sizeof(short));
//int
printf("int size:%lu\n",sizeof(int));
//long
printf("long size:%lu\n",sizeof(long));
//float
printf("float size:%lu\n",sizeof(float));
//double
printf("double size:%lu\n",sizeof(double));
//long long
printf("long long size:%lu\n",sizeof(long long));
//bool --布尔数据类型 要加 头文件
printf("bool size:%lu\n",sizeof(bool));
printf("true size:%lu\n",sizeof(true));
//true false 其实是整型数据 占 4个字节 tr
printf("false size:%lu\n",sizeof(false));
return 0;
}

使用运算符 sizeof(数据类型的名字 或者变量名)

特别注意:
## 布尔类型bool 要添加 #include<stdbool.h>

2、计量单位

1byte(字节) = 8个二进制数
1KB(千字节) = 1024字节
1M = 1024KB(千字节) 4
1G = 1024M
1T = 1024G
1G = 1024 * 1024*1024 字节

3、有符号数和无符号数

有符号数 (signed ) char a = -100 char a = 100; -->存储到内存中,最高位 表示符号位 1表示负数 0表示正数
无符号数 unsigned char a = 100;

4、数据溢出的知识点

在这里插入图片描述

 unsigned char 0~255
(signed)char -128 ~ +127
正数:+0 ~ +127
负数:-0 ~ -127
由于+0-0重复,-0表示 -128
unsigned short 0~65535(2^16-1) 
unsigned int 0~4294967295(2^32-1)
#include<stdio.h> 
#include<stdbool.h> 
int main()
{ 
 //值的溢出
unsigned char a = 257;
 //0-255
char b = 129; 
//-128~+127 
printf("a:%hhu\n",a);
 // u -->unsigned int h:half h:half 0 1 2
printf("b:%hhd\n",b); 

11 打印结果:
12 a:1
13 b:-127

5、整型数据在内存中的存储方式

整型数据(正数 、负数)在内存中是以二进制补码的方式存放的

在这里插入图片描述

总结1

1)当编译器 以整形的方式输出的时候(%d),它是以补码还原的方式进行解读。
2)当CPU将数据进行运算的时候,直接以内存中存放的形式进行运算,也就是数据运算的时候 使用补码
3) 以 %u的方式 输出 ,那么 值的范围 : 0 ~4294967295

1unsigned char a = 255; // 0-255
char b = 255; //-128~ +127
printf("%d %u\n",a,a);
printf("%d %u\n",b,b);
255 255
-1 42949672952) 
unsigned short a = -1; // 0 - 65535
int b = a; //a == 65535
printf("%d\n",a); //a == 65535
printf("%d\n",b); //b == 65535
(3)
unsigned char a = -1; // 0 - 255
unsigned int b = -1; // 0 ~4294967295
printf("%d %u\n",a,b); // 255 4294967295

6、char类型 数据 ----单个字符数据

 字符常量 'a' 'c' '1' 
char val1 = 'a'; 
char val2 = 'b'; 
printf("val1: %c %d\n",val1,val1);
printf("val2: %c %d\n",val2,val2);
val1: a 97
val2: b 98

97、98为ASCIL输出值

7、ascii 码

概念:char数据实际上是在内存存放的是一个小于255的编号(五符号整数)用来表示字符,这个编号叫做ASCII码。

如何查看 ascii 码??
直接在虚拟机 man acsll
在这里插入图片描述

8、转义字符概念:

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了不能显示的ASCII字符,如’\0’,’\t’,’\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。它告诉编译器需要用特殊的方式进行处理

1 ‘\n’ —表示换行
2 ‘\0’ —表示空字符 字符串的结尾 就是以 空字符 为结束 “hello” —>默认会在后面加上 \0 "
3 ‘\t’ --制表符 按下 table按键的时候

’\0dd’ ddd表示1到3位八进制数,打印效果为该数字对应的ASCII字符 ,
d 为 0
‘\xhh’ hh表示1到2位十六进制数,打印效果为该数字对应的ASCII字符

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 15:53:52  更:2022-01-03 15:55:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:36:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码