【2023最新版C++】实战项目教程,清华武老师带你零基础一套快速学会c++

变量
int a,b;
标识符
常量
符号常量(不推荐) #define PI 3.14
使用const限定符 const int Zero = 0;
数据类型
基本数据类型(算术类型和空类型void)
整型(char ,short ,int ,long,bool,long long)8 16,16,32,
sizeof
unsigned short/int/long/long long
48 '0' 65 97 'A' 'a'
字面值常量;整型,浮点类型(f,L,),字符,字符串,转义字符(‘\’),布尔值字面值常量(true,false)
类型转换:自动类型转换(bool 非零为1,零为0)大转小(存在精度丢失)
表达式
复合赋值运算符(+=、-=、/=、%=、*=、<<=)
++、--、
关系和逻辑运算符:算术运算符优先级高于关系运算符
!逻辑非、&& 逻辑与、|| 逻辑或
条件运算符:? : 三元运算符
位运算符:移位运算符、位逻辑运算符

隐式类型转换
强制类型转换

流程控制语句:顺序、分支、循环
表达式+;
空语句:;
复合语句(块):{} 空块
单分支、双分支、多分支
while/do while/for

跳转:break,continue,goto,return
数组:相同数据类型
元素个数为常量
数组:多维数组
选择排序
int arr[]={5,9,2,7,4,3,12,6,1,5,7}
STL:标准模板库
vector(容器,安全检查,越界):默认初始化、列表初始化(拷贝初始化)、直接初始化,添加方法push_back(),长度size()
固定长度的数组使用array(c++11),不固定长度的数组使用vector
string 类 与vector 类似
访问字符串
“hello”+“world” 报错(c语言中的字符数组)关系字符串的重载
c=cin.get()、cin.get(c)
getline()、cin.get(str4,20) 读取一行
cin<<str<<str1
结构体
struct StudentInfo {
string name ;
int age;
double score;
}
枚举
enum week{
Mon,Tue,Wed,Thu,Fri,Sat,Sun
}
无效指针(野指针)
空指针 :int* ptr = nullptr; ptr=NULL; ptr =0;
void* 指针(比较地址,作为函数的输入输出)
二级指针(指向指针的指针)
指向常量的指针 const int*
指针常量 int* const 别名
指针数组 int* arr[5]
数组指针 int (* arr)[5]
别名:引用 in& ref =a; 声明时使用(快捷方式)必须初始化 语法糖
引用的引用:int& rref =ref;
对常量的应用(不能进行修改操作):
const int zero = 0;
const int & cref = zero;
绑定指针的引用:
int* ptr = &a;
int *& prefer= ptr;
没有指向引用的指针(没有空间)
P68-P72
函数
作用域:局部变量,全局变量
生命周期:自动对象,静态对象
传值(值传递)、传引用
数组引用
递归
函数重载(底层const):形参的数量和类型
const :常量作为形参,跟不加const完全等价
函数指针 使函数可作为形参