嵌入式--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++的头文件,这些头文件包括了程序中必须的或有用的相关信息。注:不需要加.h
  • using 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<>()进行强制转换。

猜你喜欢

转载自blog.csdn.net/qq_45355603/article/details/129915901