1. 基本框架
    (1)头文件:
(2)命名空间:
(3)主函数:有且只有一个
 2. 数据类型
    2.1 整形(integer)
    (1)int:整形 范围:-21亿~21亿 -231~231-1
    (2)long long :长长整形 范围:-1018~1018 左右
    2.2浮点型
    (1)float: 单精度浮点型 (基本不用)
    (2)double: 双精度浮点型 (小数就用这个)
    2.3字符型
    (1)char: 定义单个字符
    字符: 字母、数字、符号等用单引号包起来的单个符号
    (2)ASCII码
    'A'=-65
    'a'=-97
    '0'=-48
    空格=-32
    2.4 字符串类型 string s;
    (1) 头文件 #include<string>
    (2) 计算长度 s.size(); s.length();
    (3) 输入字符串
    (a) cin>>s;(不带空格)
    (b) getline(cin,s);(带空格)
    (4) 比较大: 字典序(从小到大)
    比较方式:按住一个个比较过去,直到第一个不相同,谁大就谁大
    例子1:"123"<"2"
    例子2:"121">"12"
3.输入输出
3.1 输入
(1)单个变量或者字符串:cin>>变量名;
(2)printf: 格式化输出
(a)小数:printf("%.2f",变量名); 保留两位小数
(b)右对齐-空格:printf("%5d",123);
(c)右对齐-补0:printf("%05d",123);
 4. 条件分支语句
    (1) 单分支语句:如果条件成立,执行语句
    if(条件){
    语句;
    }
    (2)双分支语句
    if(条件){
    语句1;
    }
    else{
    语句2;
    }
    (3)三目运算符:条件?语句1;语句2
    如果条件成立,执行语句1;否则语句2
    例如:
(4)多分支语句
5.循环
(1) for循环
for(初始值;条件;变化量){
循环体;
}
初始值->条件->循环体->变化量->...
(2) while循环:当条件成立的时候,执行语句
while(条件){
循环语句;
}
 6. 数组
    (1) 定义:变量类型 数组名[数组空间];//数组空间=n的最大值+5~10
    (2)遍历范围:0~n-1 或者 1-n //注意循环范围
 7. 数位分离
    (1) 分离个位
8函数
(1)函数声明-省略
(2)函数定义
函数类型 函数名(变量类型 变量名1,变量类型 变量名2,...){
函数内容;
}
函数类型-返回(int/double/string...) 无返回(void)
(3)函数调用
函数名(变量名1,变量名2,...)//注意:类型需要一 一对应
9.sort
(1) 头文件:algorithm
(2) 模板:sort(数组名+开始下标,数组名+结束下标+1,排序方式);
(3) 升序:从小到大 sort(a,a+n);
(4) 降序:从大到小
10.结构体
struct 结构体类型名{
int 变量名1;
int 变量名2;
int 变量名3;
}结构体变量名/数组;
11.结构体排序