嵌入式--C++程序入门
Posted 稚子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式--C++程序入门相关的知识,希望对你有一定的参考价值。
C++是在C语言基础上为支持面向对象程序设计而研制的一个通用程序设计语言。
第一个程序
#include <iostream>
using namespace std;
int main(void)
cout << "hello word"; // 打印输出不换行
cout << "hello word" << endl; // 不加这条语句using namespace std;会报错
std::cout << "hello word" << std::endl; // 这种打印输出的方式,不需要加using namespace std;
return 0;
int a = 3;
double b = 4.0;
#include <iostream>
C++的头文件,这些头文件包括了程序中必须的或有用的相关信息。注:不需要加.husing namespace std;
告诉编译器使用std命名空间,命名空间是C++中的一个概念cout << "hello word";
打印输出不换行cout << "hello word" << endl;
打印输出(自动换行)- 在C++中,cout是一个输出流对象,用于向标准输出设备(通常是屏幕)输出数据。在输出数据时,我们需要使用插入运算符 << 将要输出的数据插入到cout对象中。endl是一个控制符,用于输出一个换行符并刷新输出缓冲区。如果需要在输出字符串后换行并刷新输出缓冲区,可以在字符串后面使用endl。
- endl:end of line
main()函数的变体
int main(void) // void不写也行
int main()
int main(int agrc, const char* argv[])
常用关键字和标识符
C++语言字符分为6类:标识符、关键字、运算符、分隔符、常量、注释符
常用关键字
关键字 | 含义 |
---|---|
bool | 布尔类型 |
char | 字符类型 |
int long short | 整型、长整型、短整型 |
float double | 单精度、双精度浮点数 |
class struct union enum | 类、结构、联合体、枚举 |
const | 常量 |
unsigned 、signed | 无符号、有符号整型 |
void | 函数不返回值,或无类型指针 |
static | 静态变量或函数 |
extern | 外部变量 |
private protected public | 私有、保护、公有成员 |
friend | 友元函数 |
virtual | 虚函数 |
template | 模板 |
namespace | 命名空间 |
typedef | 类型别名 |
inline | 内联函数 |
语句定义符号
关键字 | 含义 |
---|---|
sizeof | 类型大小 |
new delete | 创建、释放对象 |
continue | 略过本次循环、进入下一个循环 |
throw | 抛出一个异常 |
try | 执行一段可能抛出异常的代码 |
catch | 处理抛出的异常 |
static_cast、const_cast、dynamic_cast、reinterpret_cast | 类型转换 |
this | 当前指针 |
false、true | 布尔假、布尔真 |
预处理命令
指令名称 | 功能 |
---|---|
## | 连字符 |
#error | 在编译过程中显示一条错误 |
#line | 设置行和文件信息 |
#pragma | 执行一条编译指令 |
#undef | 取消一个未定义变量 |
数据类型
#include <iostream>
using namespace std;
int main(void)
cout << "bool的字节大小:" << sizeof(bool) << endl;
cout << "char的字节大小:" << sizeof(char) << endl;
cout << "int的字节大小:" << sizeof(int) << endl;
return 0;
基本数据类型:1个字节8位(1111 1111), 2 8 = 256 2^8 = 256 28=256
- char:一个字节,表示字符或小整数
数据在内存中的存储:
所有数据在计算机中存储时,都是以字节(byte)为基本单位的,字节是计算机存储空间的最小计量单位,1个字节为8bit
常量与转义字符
String是C++专有的数据常量
#include <iostream>
using namespace std;
int main(void)
string strA = "";
string strB = "A";
string strAC = "ABC";
string strD = "我爱C++";
cout << "strA=" << strA << "strB=" << strB << endl;
return 0;
符号常量:const
符号常量在声明时一定要赋初值,在程序中不能改变其值。
在声明变量时,可以一次声明多个变量。
const int A = 1; // const 数据类型 常量名 = 常量值;
int const A = 1; // 数据类型 const 常量名 = 常量值;
int A = 10,B=20; // 一次声明多个变量
运算符优先级
从左到右
() [] -> . :: ++ –
自动转换与强制转换
自动转换规则:小类型总是被提升为大类型,从而减小精度损失。
强制转换:
(float) a; // 把a转换为float类型
(int) (x+y); // 把x+y的结果转换为整型
C++特有的类型转换
- static_cast 静态类型转换
- reinterpret_cast 重新解释类型转换
- dynamic_cast 子类和父类之间的多态类型转换,动态类型转换
- const_cast 去掉const属性转换
一般结论:在C语言中能进行隐式转换的,在C++中,可用static_cast()进行类型转换。
在C语言中不能进行隐式类型转换的,在C++中可以用reinterpret_cast<>()进行强制转换。
嵌入式入门书籍推荐
嵌入式技术现在非常火爆,吸引了许多人进入这个领域。那么想要学习嵌入式,有哪些嵌入式入门书籍推荐呢?下面我来一一列举。
Linux基础
1、《Linux与Unix Shell 编程指南》
2、《嵌入式Linux应用程序开发详解》
C语言基础
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5、《高质量程序设计指南:C++/C语言(第3版)》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明着
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O‘Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
以上就是嵌入式入门书籍推荐,对于基础学习也好,进阶提升也好都是非常不错的选择。当然华清远见星创客的嵌入式精英训练营也是不错的选择,在那里有最新的项目实战和职场老鸟的带领,对未来就业发展很有帮助。
看完嵌入式入门书籍推荐,学习嵌入式的启明星。这篇文章,希望对你的嵌入式学习之路有所帮助。
以上是关于嵌入式--C++程序入门的主要内容,如果未能解决你的问题,请参考以下文章