写在开头
初衷:对于一个程序员/算法工程师来说,只会Python未免过于单薄了。出于未来找工作的需要,开始学习C++,并使用C++刷LeetCode。
背景:本科有C语言课程,甚至学过汇编,研究生阶段主要使用Python。
提醒:该系列文章以尽可能快地应用C++(刷题)为目的,暂以B站黑马程序员C++教程为教材,主要记录重点内容和对个人来讲不易理解或陌生的内容,具有较浓的个人笔记特点,因此,在全面性和权威性上不占优势,请谨慎参考。虽然如此,还是希望有内容能对你有所帮助。
参考资料:
PS:有讲义,在课程视频下方评论区能够找到,对于相对简单的内容,看讲义会比看视频更快些。
Hello World
基本流程
1.创建项目:Visual Studio 创建C++空项目
2.创建文件:解决方案资源管理器-源文件-新建项-选择C++文件并命名
3.编写程序:基本框架包括:
- #include
- using
- int main主函数:system(‘pause’) 和return 0;
4.运行程序
TODO解决方案是什么?
注释
单行注释:// …
多行注释:/…/
创建变量和常量
变量
- 数据类型 变量名 = 初始值
int a = 10;
常量
- 宏常量,#define 常量名 常量值
#define week 7
注意:在文件上方定义,末尾没有分号 - const修饰的变量,const 数据类型 常量名 = 常量值
const int week = 10
命名规则
- 标识符(变量、常量等)不能是关键字
- 只能由字母、数字、下划线组成
- 第一个字符必须为字母或下划线
- 区分大小写
关键字
诸如if、return、catch的单词,在定义变量或常量时不能使用关键字。
数据类型
整形
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^15 ~ 2^15-1) |
int(整型) | 4字节 | (-2^31 ~ 2^31-1) |
long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |
long long(长长整形) | 8字节 | (-2^63 ~ 2^63-1) |
实型(浮点型)
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
有效数字包括小数点前和小数点后的
因为编译器默认把小数当作double的,所以在声明float时常在数字后加上f
float 3.14f
在命令行中显示小数,默认显示六位有效数字,如何控制位数后面再讲。
获得数据类型所占的内存
Sizeof(数据类型/变量)
sizeof(int)
sizeof(a)
科学计数法
float f = 3e2;
字符型
占用1个字节,存储的是ASCII
注意:与字符串区分,只能是一个字符,且只能用单引号
char ch = 'a'
直接使用ASCII赋值(创建或修改)字符
char ch = 97
or ch1 = 97
(创建后重新赋值)
转义字符
不能直接输出的字符,如\n
、\t
、\\
等
字符串型
C风格: char 变量名[] = "字符串值"
C++风格:string 变量名 = "字符串值"
注意:双引号;使用C++风格要加入头文件#include\<string>
布尔型
占用1个字节,只有true或false,非零即真:bool flag = true
注意:在获取bool输入时,只要不是0,都会存储为1
从键盘输入数据
关键字:cin
语法: cin >> 变量
int a = 0; //初始化
cout << "请输入整型变量:" << endl; //提示
cin >> a; //
cout << a << endl; // 输出
== so far 3 运算符==
Tips:
- 每行的末尾要加上分号……我已经开始怀念python了
- 多个.cpp文件只能有一个main函数,否则会报错,TODO原理?