一、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++内置的运算符有算数运算符、赋值运算符、比较运算符、逻辑运算符和位运算符等。
九、逻辑判断语句。
(1)多条件判断。
(2)嵌套判断。
十、switch控制语句。
十一、枚举类型。
十二、while 循环。
十三、do while 循环。
十四、for 循环。
十五、变量的作用域。
十六、continue 和 break 关键字。
十七、goto 语句。
输出的是 a b d,跳过了c。
十八、数组。
十九、字符数组。
二十、多维数组。
二十一、指针。
二十二、野指针和空指针。
二十三、指针运算。
二十四、动态内存分配。
二十五、数组元素的删除和插入。
二十六、指针悬挂。
二十七、常量指针。
二十八、结构体。
二十九、结构体指针。
三十、结构体指针数组。
三十一、函数。
三十二、无返回值(void)函数和空参函数。
三十三、函数嵌套调用。
三十四、参数的值传递和地址传递。
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;
}
三十五、函数传入数组。
三十六、引用和引用传参。
三十七、返回指针的函数及局部变量的生命周期。
三十八、static关键字。
三十九、函数返回数组。
本笔记学自黑马程序员官方教程,如有钱全,联系删除。
2024新版黑马程序员C++零基础入门到精通全套视频教程,基于AI大模型的智能编码辅助编程,C++从基础到项目开发一套通关_哔哩哔哩_bilibili