![](https://img-blog.csdnimg.cn/direct/512fae595bc34420adfefd78e4299108.jpeg)
一、IDE。
所谓IDE(集成开发环境)即包含:
· 代码编辑功能。
**·**代码错误提示。
**·**程序调试。
· 代码编译。
等各类辅助程序开发的功能的集合体。
二、Clion说明。
Clion 是以工程管理代码,一般情况下,一个工程指代一个具体的程序开发任务。
即,标准使用场景下:
**·**每个程序的开发,都应有各自的工程。
· 由于main函数是程序入口,所以每个工程仅允许1个main函数。
三、快捷键。
shift + alt + 键盘上/下 控制当前行上下移动
ctrl + D 复制当前行
HOME,END 移动广播到行首、行尾
ctrl + 键盘左/右 光标左右跳单词
ctrl + A 全选
ctrl + C/V 复制、粘贴
四、常量。
常量包括字面常量和符号常量。
字面常量又包括以下类型:
**·**整型字面常量:整数,不带小数点的数字。
**·**实型字面常量:小数,带有小数点的数字。
**·**字符型字面常量:以单引号包围的单个字符(注意只能是一个字符,不能是0个或多个)。
**·**字符串字面常量:以双引号包围的任意个字符。
五、标识符和关键字。
在C++代码中,会涉及到许多命名的场景,比如变量、类和函数的命名。这些命名统一称之为标识符,即表示某类实体的符号(名称)。
标识符的内容限定:只允许由字母、数字、下划线组成,且不能以数字开头(也不可使用关键字)。
六、解决控制台输出中文乱码问题的方法。
方式一:
**·**在代码头部引入 #include "windows.h"
**·**在main()函数内部编写 SetConsoleOutputCP(CP_UTF8);
方式二:
**·**在main()函数内部编写 system("chcp 65001");
七、数据类型。
首先了解无符号和有符号的含义。
**·**无符号:仅正数。
**·**有符号:可以包含负数(默认都是有符号)。
如何定义无符号类型。
**·**需要主动使用 unsigned,如unsigned int num = 1;
**·**u_short、u_int、u_long 是无符号short、int、long的快捷写法。
整型数据的各种类型:
**·**short:占用2字节。
**·**int:占用4字节。
· long:windows为4字节,linux为4字节(32位),8字节(64位)。
**·**long long:占用8字节。
通过sizeof()函数可查看不同类型数据占用的内存空间。
实型数据的各种类型:
**·**float:占用4字节,有效位数为6~7位。
**·**double:占用8字节,有效位数为15~16位。
· long double:占用16字节,有效位数为18~19位。
实型不区分有无符号,全部有符号。有效位数为参考,具体看编译器的标准实现。
控制cout输出小数的格式:
cout.width(20); // 设置显示宽度
cout << fixed; // 设置小数显示
在C++中,字面量的类型是自动确定的。整数默认为int,如范围不足会自动扩容,顺序为:int ->unit ->long ->ulong ->long long ->u long long。浮点数默认为double,范围不足会自动扩容到long double。
字符串数据类型:
· char s[ ] = "abc"; 字符数组模式,不可更改变量值
**·**char *s = "abc"; 指针模式
· string s = "abc" string 类型模式
布尔数据类型(主要用于程序中的流程控制):
· true 本质上是数字1
· false 本质上是数字0
八、运算符。
运算符是一种符号,用于告诉编译器执行特定的数学或逻辑操作。C++内置的运算符有算数运算符、赋值运算符、比较运算符、逻辑运算符和位运算符等。
![](https://img-blog.csdnimg.cn/direct/d6eaf14d4c5d45f1b7551ea8722174f4.jpeg)
![](https://img-blog.csdnimg.cn/direct/b58c2b5a0d694eb480be7b12291646af.jpeg)
![](https://img-blog.csdnimg.cn/direct/1572263d78624b468b8756fc69f815c9.jpeg)
![](https://img-blog.csdnimg.cn/direct/f360cf6b8a4f495882ebc995339c9ef2.jpeg)
![](https://img-blog.csdnimg.cn/direct/c5fcef5faf7f42a8ab1c297d17b218a8.jpeg)
![](https://img-blog.csdnimg.cn/direct/da04b66400664587b740a8947e165c09.jpeg)
九、逻辑判断语句。
(1)多条件判断。
![](https://img-blog.csdnimg.cn/direct/4d4b219acbad4fd3b65acb07b9de5ea2.jpeg)
(2)嵌套判断。
![](https://img-blog.csdnimg.cn/direct/57e06cdb7c1f4032929d5b4609cd6475.jpeg)
十、switch控制语句。
![](https://img-blog.csdnimg.cn/direct/75489820d91941ba9653f3227f56d357.jpeg)
十一、枚举类型。
![](https://img-blog.csdnimg.cn/direct/77fd119cd6084d379daf2b83ad9ece88.jpeg)
十二、while 循环。
![](https://img-blog.csdnimg.cn/direct/ddbb5878212f44d6938119caf9237ba7.jpeg)
![](https://img-blog.csdnimg.cn/direct/815fc7d622d849af92bd31b1fca88b70.jpeg)
十三、do while 循环。
![](https://img-blog.csdnimg.cn/direct/99ceabeb0ef349ae85690ba55005cd38.jpeg)
十四、for 循环。
![](https://img-blog.csdnimg.cn/direct/21858e7c5c2c44f2a1ae0b8e65b63474.jpeg)
![](https://img-blog.csdnimg.cn/direct/72171835775342b886a16d3d5ab257ef.jpeg)
![](https://img-blog.csdnimg.cn/direct/0194ef0327b64c268acb4a9d6f5ec1cc.jpeg)
![](https://img-blog.csdnimg.cn/direct/806265c0124f4e95977baeb14af9f366.png)
十五、变量的作用域。
![](https://img-blog.csdnimg.cn/direct/80f5c234e7184a8e973fa82b7858f63e.jpeg)
十六、continue 和 break 关键字。
![](https://img-blog.csdnimg.cn/direct/0dc77cb8bb704bf3b4e3c69956d6dbf1.jpeg)
十七、goto 语句。
![](https://img-blog.csdnimg.cn/direct/95100a21af774bb7b4b713e27e77b415.jpeg)
![](https://img-blog.csdnimg.cn/direct/c1933e4122dc4b95a1646dab54ab792f.png)
输出的是 a b d,跳过了c。
![](https://img-blog.csdnimg.cn/direct/89435ecd91dc439794178529390c38b5.jpeg)
十八、数组。
![](https://img-blog.csdnimg.cn/direct/cd2ba5810f2b4600922a2c4708e70175.jpeg)
![](https://img-blog.csdnimg.cn/direct/5b59c5729bff456d8a86f6cada30de14.jpeg)
![](https://img-blog.csdnimg.cn/direct/1589c475d30a4befa02cd9017b997efe.jpeg)
![](https://img-blog.csdnimg.cn/direct/41664c96de444d3ba886693b0ecb7d76.jpeg)
![](https://img-blog.csdnimg.cn/direct/612ce9634a3e459780ad4e04f8e76105.jpeg)
![](https://img-blog.csdnimg.cn/direct/82368402d0744c3c87e439a95856efce.jpeg)
![](https://img-blog.csdnimg.cn/direct/1e879324aa994427a09dc43cd2935589.jpeg)
![](https://img-blog.csdnimg.cn/direct/f30ae77f2eb341c197a5c6d534a68b74.jpeg)
十九、字符数组。
![](https://img-blog.csdnimg.cn/direct/dd7a60c806a047cbac3fb1b7c171ce0c.jpeg)
![](https://img-blog.csdnimg.cn/direct/9866d86431fc41c1a9fbe849e6f5a3b8.jpeg)
二十、多维数组。
![](https://img-blog.csdnimg.cn/direct/789017f51b4741eea88fd0a3e945dfe0.jpeg)
![](https://img-blog.csdnimg.cn/direct/017814cb51954628938d71ccbb705618.jpeg)
![](https://img-blog.csdnimg.cn/direct/e2e4995f8f85472c8ba45904c363473d.jpeg)
![](https://img-blog.csdnimg.cn/direct/f5befcc728c34bd99f696127ae1b3659.png)
![](https://img-blog.csdnimg.cn/direct/ecfca0b215924ca997dd68b406c55134.png)
![](https://img-blog.csdnimg.cn/direct/e879218de91f4de9a2acb1a522de640d.jpeg)
![](https://img-blog.csdnimg.cn/direct/1c2b3418abd045b48bd1e85754db33b3.png)
二十一、指针。
![](https://img-blog.csdnimg.cn/direct/fdfdebd8a2b342b191f2d0bfd5aea7b8.jpeg)
![](https://img-blog.csdnimg.cn/direct/743f7f36df8147cfb8b12f96dfc71f94.jpeg)
![](https://img-blog.csdnimg.cn/direct/fbdb5609f86f4cf49eee2dcb042da357.jpeg)
![](https://img-blog.csdnimg.cn/direct/1dade90c581d494a92d623f081500fb3.jpeg)
![](https://img-blog.csdnimg.cn/direct/8a4f8c2647f44cfe920d8f1e3a7161d2.png)
二十二、野指针和空指针。
![](https://img-blog.csdnimg.cn/direct/9b66a40c239241a1bccf67c3ccfc8bdf.jpeg)
![](https://img-blog.csdnimg.cn/direct/414f20e4f6e64e9fbcf25151d98c4505.jpeg)
![](https://img-blog.csdnimg.cn/direct/0ac7777b411244deb53997156f6cc15a.jpeg)
二十三、指针运算。
![](https://img-blog.csdnimg.cn/direct/bebb31a5708c4d5f8d1f44cbc2300187.jpeg)
![](https://img-blog.csdnimg.cn/direct/fbfa878cc2864ceabddf7335f343c078.jpeg)
![](https://img-blog.csdnimg.cn/direct/a4fb56bcd6d649dea6423702be306e6b.jpeg)
![](https://img-blog.csdnimg.cn/direct/5858d690233f436ebdfbce6f56028ab3.jpeg)
![](https://img-blog.csdnimg.cn/direct/eb3cb63b2ac34220b5bda8f5bc4d4aba.png)
二十四、动态内存分配。
![](https://img-blog.csdnimg.cn/direct/590f6af27a5b4d7e9edbc9060d7c8512.jpeg)
![](https://img-blog.csdnimg.cn/direct/1cb14aef902f42029f0cff25d7756e8c.jpeg)
![](https://img-blog.csdnimg.cn/direct/5bda3d53b10c4c0ca92b462369732d13.jpeg)
![](https://img-blog.csdnimg.cn/direct/3515acdb54aa465dbcf2d0da2548ae41.jpeg)
![](https://img-blog.csdnimg.cn/direct/1918122529ab4e5a924ec7eafe1010e5.jpeg)
![](https://img-blog.csdnimg.cn/direct/ca39f50a28e74b118376eab5d13fd1b7.png)
![](https://img-blog.csdnimg.cn/direct/2e6dd058c7c64175a4c39777acee8cb8.jpeg)
二十五、数组元素的删除和插入。
![](https://img-blog.csdnimg.cn/direct/e3f4607f424f40f4860eeccfde7dc4b0.jpeg)
![](https://img-blog.csdnimg.cn/direct/4d7526a8568f499c8d0419a1bcb9ebaa.jpeg)
![](https://img-blog.csdnimg.cn/direct/474209eaa9b04d37be8a5cf6a362416b.jpeg)
![](https://img-blog.csdnimg.cn/direct/d6c0266b352948528fb14a60c781d80a.png)
![](https://img-blog.csdnimg.cn/direct/2b611699ba6449f0b6a115ba80872ff8.jpeg)
![](https://img-blog.csdnimg.cn/direct/fb60c190e4894c2eaae29411f1fee3df.png)
二十六、指针悬挂。
![](https://img-blog.csdnimg.cn/direct/e0bdb26fe5c9452f9ccd64e2fc3758b2.jpeg)
![](https://img-blog.csdnimg.cn/direct/935843085abe471288d8821ebd87b1e4.jpeg)
![](https://img-blog.csdnimg.cn/direct/09db6feefb2b40e7a7d335f0764cdf17.jpeg)
![](https://img-blog.csdnimg.cn/direct/e6d14708f73d41e4b79dbb3067a15188.jpeg)
二十七、常量指针。
![](https://img-blog.csdnimg.cn/direct/fa09056cfcc5493795f07e6ad851c7d6.jpeg)
![](https://img-blog.csdnimg.cn/direct/5180dbfdc2414476b8b2925476aab490.jpeg)
![](https://img-blog.csdnimg.cn/direct/7a75f73737574c8ca7c217f3fdb6b5ab.jpeg)
![](https://img-blog.csdnimg.cn/direct/d9f7a77c38d143f382488bb83e93022b.jpeg)
![](https://img-blog.csdnimg.cn/direct/26618eda29a5484a84e482f7383ae428.jpeg)
![](https://img-blog.csdnimg.cn/direct/e6ab88e2ad974d4693a17b79dd870463.jpeg)
![](https://img-blog.csdnimg.cn/direct/00329605390543a5919a863d2e795835.png)
二十八、结构体。
![](https://img-blog.csdnimg.cn/direct/c2f2eae3bbd74b2ca38c3cda4801063e.jpeg)
![](https://img-blog.csdnimg.cn/direct/2437fab5bbf44672b3814dab9dd67fdd.jpeg)
![](https://img-blog.csdnimg.cn/direct/f921cb56b48846ea85ef31f20648383e.png)
![](https://img-blog.csdnimg.cn/direct/aad57550e36f49e9937b522caa7abfb6.jpeg)
![](https://img-blog.csdnimg.cn/direct/282b682900c04a2eac5e0f73f9371add.jpeg)
![](https://img-blog.csdnimg.cn/direct/a7ebd51d773f40bfafe77948f4fe569f.jpeg)
![](https://img-blog.csdnimg.cn/direct/a955ff90afee4958bb20e565aa6386f8.png)
![](https://img-blog.csdnimg.cn/direct/6c8118fe18b0435abee900f5aad92157.jpeg)
![](https://img-blog.csdnimg.cn/direct/a8c695f05780458380c5dfa61be9c2c9.png)
二十九、结构体指针。
![](https://img-blog.csdnimg.cn/direct/3a6e2989458f458f880ecc9f41dbf863.jpeg)
![](https://img-blog.csdnimg.cn/direct/4e638d48e13044f58045be8e2940bda8.jpeg)
三十、结构体指针数组。
![](https://img-blog.csdnimg.cn/direct/ba1c6d254b7b4b89bd4ae68bbed4a864.jpeg)
![](https://img-blog.csdnimg.cn/direct/a0b2d2c5a3174435b0aaf008411788e8.png)
![](https://img-blog.csdnimg.cn/direct/645109b206ea42fdb9254e5473e61de3.jpeg)
![](https://img-blog.csdnimg.cn/direct/680b993ebe3d4937a0ca56d839116d3a.png)
三十一、函数。
![](https://img-blog.csdnimg.cn/direct/83d3cef956a34f6da5906e9f396be222.jpeg)
![](https://img-blog.csdnimg.cn/direct/79f00b59198a42d192ae2cf4636cf818.jpeg)
三十二、无返回值(void)函数和空参函数。
![](https://img-blog.csdnimg.cn/direct/a927afe03676438b8283e0ccbdee2a83.jpeg)
![](https://img-blog.csdnimg.cn/direct/669d75ea6ade4362b50a2859adac7573.jpeg)
![](https://img-blog.csdnimg.cn/direct/327ab0766cac42009a140433bd9c22db.png)
![](https://img-blog.csdnimg.cn/direct/0590a24f13124f37b8da87e56a91f7a2.jpeg)
三十三、函数嵌套调用。
![](https://img-blog.csdnimg.cn/direct/d5214280c3ca4698b04b1d2ccd9a5201.jpeg)
三十四、参数的值传递和地址传递。
![](https://img-blog.csdnimg.cn/direct/505d6229ca3c49ddbd144cbc4862865c.jpeg)
![](https://img-blog.csdnimg.cn/direct/df9937f1a01841c3ac268c628a438b79.jpeg)
![](https://img-blog.csdnimg.cn/direct/7833b653f7be496eaf9fb19c0aae0f43.jpeg)
![](https://img-blog.csdnimg.cn/direct/2b6a0a32b492410c985cf480932544f6.jpeg)
cpp
void query(int num) {
cout << "--------------------查询余额---------------------" << endl;
cout << "您的余额为:" << num << endl;
}
int add(int num){
cout << "--------------------存款---------------------" << endl;
int a;
cout << "请输入您要存款的金额:";
cin >> a;
int b = num + a;
cout << "存款成功! 您的余额为:" << b << endl;
return b;
}
int sub(int num){
cout << "--------------------取款---------------------" << endl;
int a;
cout << "请输入您要取款的金额:";
cin >> a;
int b = num - a;
cout << "取款成功! 您的余额为:" << b << endl;
return b;
}
void exit(){
cout << "已退出当前账户!" << endl;
}
void menu(int total, const string& name){
cout << "--------------------主菜单--------------------" << endl;
cout << name << ",您好!欢迎来到黑马银行ATM。" << endl;
cout << "查询余额 \t[输入1]" << endl;
cout << "取款 \t[输入2]" << endl;
cout << "存款 \t[输入3]" << endl;
cout << "退出 \t[输入4]" << endl;
int num;
cout << "请输入您的选择:";
cin >> num;
switch (num)
{
case 1:
query(total);
menu(total, name);
break;
case 2:
total = sub(total);
menu(total, name);
break;
case 3:
total = add(total);
menu(total, name);
break;
case 4:
exit();
break;
default:
cout << "输入错误!请重新输入!" << endl;
}
}
int main()
{
int total = 5000000;
string name;
cout << "请输入您的姓名:";
cin >> name;
menu(total, name);
return 0;
}
三十五、函数传入数组。
![](https://img-blog.csdnimg.cn/direct/8846cd1680ed46b8ad2f7d2fd0402469.jpeg)
![](https://img-blog.csdnimg.cn/direct/e378e6c654c64744aec39a94e003a60b.png)
![](https://img-blog.csdnimg.cn/direct/a5e11866ef284053ac49a62a7bd15133.png)
![](https://img-blog.csdnimg.cn/direct/718c7a686d984c7b81c53487ad43adb0.jpeg)
![](https://img-blog.csdnimg.cn/direct/0086c53067034216969de83833ad5b24.png)
三十六、引用和引用传参。
![](https://img-blog.csdnimg.cn/direct/58755773b2d74f50b9eaca5283bbb50c.jpeg)
![](https://img-blog.csdnimg.cn/direct/e762dd840a2b44938a48972b7090574c.jpeg)
![](https://img-blog.csdnimg.cn/direct/13102a29a4564288b9022a48ddca967c.jpeg)
![](https://img-blog.csdnimg.cn/direct/a3ff068516c94825b8f638f0ee4af801.png)
![](https://img-blog.csdnimg.cn/direct/81f6afdcdeec43a69b570e3fa2aba6e0.png)
![](https://img-blog.csdnimg.cn/direct/33bfb4adf6f64ed997b74bacb52c0889.jpeg)
![](https://img-blog.csdnimg.cn/direct/3ffda166f0734c6fa30dbb8bb1af4595.jpeg)
![](https://img-blog.csdnimg.cn/direct/e4b01bad6f4747ca95ae8fbaf181ffc5.png)
![](https://img-blog.csdnimg.cn/direct/2ac7f72001cb4e17bd63f9e5d32a2416.png)
![](https://img-blog.csdnimg.cn/direct/cc31286ba58049e09662d2ab58d4addc.png)
![](https://img-blog.csdnimg.cn/direct/1324726bf591433389eea2e3e63b3c62.jpeg)
三十七、返回指针的函数及局部变量的生命周期。
![](https://img-blog.csdnimg.cn/direct/babe06262c604eb4805ef2e7d1b37550.jpeg)
![](https://img-blog.csdnimg.cn/direct/d18840aef2734790bdfe36783f9c22dc.jpeg)
![](https://img-blog.csdnimg.cn/direct/315005397e534b5481b1cf7466c9a2e3.png)
![](https://img-blog.csdnimg.cn/direct/cb4f20c778694b1a80ac280962f05d92.png)
![](https://img-blog.csdnimg.cn/direct/1aa8b28229cd494687eb81877ed24b80.jpeg)
三十八、static关键字。
![](https://img-blog.csdnimg.cn/direct/716c12c23c084dbab595902e8694ddfb.jpeg)
![](https://img-blog.csdnimg.cn/direct/2db3b95d825c440db158600ba76dc2c7.jpeg)
![](https://img-blog.csdnimg.cn/direct/25473bb4e0a14b27be52d51d5b10532c.png)
![](https://img-blog.csdnimg.cn/direct/aa596f1a66de48e7992544efbb395fa5.png)
![](https://img-blog.csdnimg.cn/direct/a75e9129c493440e887e5e1b73df08b6.jpeg)
![](https://img-blog.csdnimg.cn/direct/a50ae98fb6f749748527986ba30adb1b.png)
![](https://img-blog.csdnimg.cn/direct/aa35d23581fe4aeeaf171fcc72037b0d.png)
三十九、函数返回数组。
![](https://img-blog.csdnimg.cn/direct/e91d1e423d614a4db0dd15afc86cba98.jpeg)
![](https://img-blog.csdnimg.cn/direct/b17f8bef34384aebbab845998b4b9755.jpeg)
![](https://img-blog.csdnimg.cn/direct/f392693ae3e744c29c4bf4723ee7f59a.png)
本笔记学自黑马程序员官方教程,如有钱全,联系删除。
2024新版黑马程序员C++零基础入门到精通全套视频教程,基于AI大模型的智能编码辅助编程,C++从基础到项目开发一套通关_哔哩哔哩_bilibili