C++基础思维导图
c++基础思维导图
预备知识
变量的使用
-
语法变量的类型 变量名 = 初始值;
-
变量存在的意义在于方便我们管理内存空间
-
变量的类型
- int
- float
- double
- short int
- long
- long long
常量的使用
-
#define 宏常量
- 语法: #define 常量名
常量值 (通常在文件的上方定义)
- 语法: #define 常量名
-
const修饰变量
- 语法: const 数据类型 常量名 =
常量值;(通常在变量定义前加关键字const,不可以修改)
- 语法: const 数据类型 常量名 =
文件中只能包含一个main() 函数,它是程序的入口
单行注释和多行注释
- 单行注释: //
- 多行注释:/**/
数据类型
short(短整型)2字节
int(整形) 4字节
long(长整形)windows是4字节;linux是4字节(32位);8字节(64位)
long long(长长整形) 8字节
字符串
- c类型:char str[] = "hello world";
- c++类型:string str2 = "hello world";(用之前需要包含一个头文件 #include)
关键字
- int;long;try;if;else;break;continue;for;goto;public;delete;true等等
标识符
- 标识符不能是关键字
- 标识符只能由字母、数字、下划线组成
- 第一个字符必须为字符或下划线
- 标识符中字母区分大小写
布尔数据类型
- bool flag = true;输出1代表true是1;flag = false;输出0代表false是0;在c++中非0的外的数字都是1;bool类型占一个字节
字符型
- char ch = 'a';字符型占一个字节,是单引号,字符型变量并不把字符本身放到内存中存储,而是将对应的acii编码放入到存储单元
转义字 符
- \
szieof关键字
- sizeof关键字可以统计数据类型所占内存大小
实型
- float 4字节
- double 8字节
数据输入cin
cin >> 变量;
cin输入数据的时候末尾不能添加换行符;
数据的输出cout
cout << 变量 << endl;(其中endl是换行符)
运算符
算数运算符
-
-
-
- / %
++ --
- / %
-
-
-
++i;前置递增( “ -- ”同理)
- 表示先执行自增语句
- a = 2;b = ++a; (a = 3;b=3)
-
i++;后置递增( “ -- ” 同理)
- 表示后执行自增语句
- a = 2;b = a++;(a=3,b=2)
-
使用/时注意,当数据所得结果除不尽时,向下取整
- a = 3/2;(a=1)
-
(表示除以2)
-
<<(表示乘以2)
逻辑运算符
- !
- &&
- ||
比较运输符
- ==
- !=
- <
-
=
- <=
赋值运算符
- =
- *=
- /=
- %=
- +=
- -=
程序流程控制
顺序结构
选择结构
- if elif else; (可以嵌套)
- switch(){case1:break;case2:continue;default:contine;}(可以嵌套)
循环结构
- while(..){..};do{...}while();(可以嵌套)
三目运算符
- 变量1 >变量2?变量1:变量2
跳转语句(break,continue,goto)
c++标准库
标准函数库(这个库是通用的、独立的,不属于任何类的函数组成的。函数库继承自c语言)
- 输入输出i/o
- 字符串和字符处理
- 数学
- 时间、日期本地化
- 动态分配
- 其他
- 宽字符函数
面向对象类库(这个库类及其相关函数的集合)
- 标准c++ I/O
- string类
- 数值类
- STL容器类
- STL算法
- STL函数对象
- STL迭代器
- STL分配器
- 本地化库
- 异常处理类
- 杂项支持库
数组
一维数组
- 一维数组案例-元素逆置
- int start = 0;
int end = sizeof(arr)/sizeof(arr[0]) -1 ;
while(start<end){
int temp = arr[start];
arr[start]=arr[end];
arr[end] = temp;
start++; end--;
}
- 冒泡排序
二维数组
函数
函数的定义
函数的调用
函数的值传递
函数的常见样式
- 有无参数,有无返回值
函数的声明
函数的分文件编写
- 记住需要包含头文件
指针
指针的定义和使用
指针所占用的内存空间
- 在32位操作系统之中指针都是占的4字节
- 在64位操作系统之中指针都是占8字节
空指针和野指针
- 空指针是指变量向内存中编号为0的空间(空指针是不能访问的)
- 空指针; int * p = NULL;
- 0~255之间的内存编号都是系统占用的,因此不可以访问
- 野指针表示指针标量指向非法的内存空间
const修饰指针
-
const修饰指针叫做常量指针
- 指针指向的值不能修改,但是指针的指向可以修改
- int a;
int b;
int *p=&a;
const int * p = &a;
-
const修饰常量叫做指针常量
- 指针指向的值可以修改,但是指针的指向不能修改
- int a;
int b;
int *p=&a;
int * const p = &a;
-
const即修饰指针,又修饰常量
- 指针指向和指向的值都不能改
- const int * const p = &a;
指针和数组
- int arr[10] = {1,2,3,4,5,6};
int *p = arr;//指针访问第一个元素
指针和函数
- 地址传递的作用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统