C++ 入门导引
C++ 是一门兼具面向过程和面向对象的高性能编程语言,广泛应用于游戏开发、系统编程、嵌入式、高性能计算等领域。本导引从零基础出发,带你快速掌握 C++ 核心基础,建立入门认知。
一、前置准备:环境搭建
在写代码前,需要搭建 C++ 编译运行环境,推荐两种方式:
1. 轻量级选择(新手首选)
- 编译器:MinGW(Windows)/ GCC(Linux)/ Clang(macOS)
- 编辑器:VS Code(跨平台),安装「C/C++」插件、「Code Runner」插件(一键运行)
- 配置:VS Code 需配置编译器路径(如 MinGW 的 g++.exe),新手可直接用 Code Runner 自动适配。
2. 集成开发环境(IDE,更省心)
- Windows:Dev-C++(极简)、Visual Studio 2022(专业,需安装「桌面开发 C++」组件)
- macOS:Xcode(需安装 Command Line Tools)
- Linux:Code::Blocks / CLion
二、第一个 C++ 程序:Hello World
先从经典的「输出 Hello World」开始,理解程序基本结构:
cpp
运行
// 1. 头文件:引入输入输出功能(cout/endl 需要)
#include <iostream>
// 2. 命名空间:避免命名冲突,std是C++标准库的命名空间
using namespace std;
// 3. 主函数:程序入口,所有C++程序必须有且仅有一个main函数
int main() {
// 4. 输出语句:cout是输出流,<<是流插入符,endl是换行
cout << "Hello, C++ World!" << endl;
// 5. 返回值:main函数返回0表示程序正常结束
return 0;
}
运行步骤:
- 将代码保存为
hello.cpp(C++ 源文件后缀为.cpp); - 编译:终端执行
g++ hello.cpp -o hello(生成可执行文件); - 运行:Windows 执行
hello.exe,Linux/macOS 执行./hello; - 输出:
Hello, C++ World!。
核心解释:
#include <iostream>:预处理指令,引入标准输入输出头文件;using namespace std:使用标准命名空间,否则需写std::cout、std::endl;int main():主函数,int表示返回值类型为整数;return 0:告诉操作系统程序正常退出。
三、核心基础语法
1. 变量与数据类型
变量是存储数据的容器,使用前需声明「类型 + 名称」,C++ 常用数据类型:
| 类型 | 说明 | 示例 |
|---|---|---|
int |
整数(4 字节) | int age = 18; |
float |
单精度浮点(4 字节) | float pi = 3.14f; |
double |
双精度浮点(8 字节) | double salary = 9999.99; |
char |
字符(1 字节) | char ch = 'A'; |
bool |
布尔值(true/false) | bool flag = true; |
示例代码:
cpp
运行
#include <iostream>
using namespace std;
int main() {
// 变量声明与赋值
int a = 10;
double b = 3.1415926;
char c = 'z';
bool is_ok = false;
// 输出变量
cout << "整数:" << a << endl;
cout << "浮点数:" << b << endl;
cout << "字符:" << c << endl;
cout << "布尔值:" << boolalpha << is_ok << endl; // boolalpha 输出true/false
return 0;
}
2. 输入输出
- 输出:
cout << 内容(可连续输出,如cout << a << " " << b;); - 输入:
cin >> 变量(从键盘读取数据到变量)。
示例:
cpp
运行
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:";
cin >> num; // 读取键盘输入的整数
cout << "你输入的整数是:" << num << endl;
return 0;
}
3. 运算符
和数学运算符逻辑一致,核心分类:
- 算术运算符:
+ - * / %(% 是取模,仅整数可用,如7%3=1); - 赋值运算符:
= += -= *= /=(如a += 5等价于a = a + 5); - 比较运算符:
== != > < >= <=(返回 bool 值); - 逻辑运算符:
&&(与)、||(或)、!(非)。
示例:
cpp
运行
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 3;
cout << "a + b = " << a + b << endl; // 13
cout << "a % b = " << a % b << endl; // 1
cout << "a > b ? " << (a > b) << endl; // 1(true)
cout << "!(a < b) ? " << !(a < b) << endl; // 1(true)
return 0;
}
4. 流程控制
(1)条件判断:if-else
cpp
运行
#include <iostream>
using namespace std;
int main() {
int score;
cout << "输入成绩:";
cin >> score;
if (score >= 90) {
cout << "优秀" << endl;
} else if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}
return 0;
}
(2)循环:for /while
- for 循环(适合已知循环次数):
cpp
运行
#include <iostream>
using namespace std;
int main() {
// 输出1-5
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
cout << endl;
return 0;
}
- while 循环(适合未知循环次数):
cpp
运行
#include <iostream>
using namespace std;
int main() {
int i = 1;
// 输出1-5
while (i <= 5) {
cout << i << " ";
i++;
}
cout << endl;
return 0;
}
5. 数组
存储一组相同类型的数据,下标从 0 开始:
cpp
运行
#include <iostream>
using namespace std;
int main() {
// 定义数组并初始化
int arr[5] = {1, 2, 3, 4, 5};
// 遍历数组
for (int i = 0; i < 5; i++) {
cout << arr[i] << " "; // 输出:1 2 3 4 5
}
return 0;
}
6. 函数
封装可复用的代码块,结构:
返回值类型 函数名(参数列表) { 函数体 }cpp
运行
#include <iostream>
using namespace std;
// 定义函数:计算两数之和
int add(int x, int y) {
return x + y;
}
int main() {
int a = 10, b = 20;
// 调用函数
int sum = add(a, b);
cout << "和为:" << sum << endl; // 30
return 0;
}
四、C++ 核心特性:面向对象(入门)
C++ 最核心的特性是面向对象,核心概念:类(Class)、对象(Object)、封装、继承、多态。
1. 类与对象
类是「数据 + 行为」的抽象,对象是类的实例:
cpp
运行
#include <iostream>
#include <string> // 字符串头文件
using namespace std;
// 定义类:Person
class Person {
// 访问权限:public 表示外部可访问
public:
// 成员变量(属性)
string name;
int age;
// 成员函数(行为)
void introduce() {
cout << "我叫" << name << ",今年" << age << "岁" << endl;
}
};
int main() {
// 创建对象(实例化)
Person p1;
// 给对象的属性赋值
p1.name = "张三";
p1.age = 20;
// 调用对象的方法
p1.introduce(); // 输出:我叫张三,今年20岁
return 0;
}
五、入门进阶方向
- 基础巩固:学习指针(C++ 核心难点)、引用、结构体、枚举、异常处理;
- 标准库:熟练使用 STL(标准模板库),如
vector(动态数组)、string(字符串)、map(映射); - 面向对象深入:学习构造函数 / 析构函数、访问控制(private/protected)、继承、多态、虚函数;
- 实战练习:写小项目,如计算器、学生成绩管理系统、猜数字游戏。
六、学习建议
- 多敲代码:入门阶段「手写 > 看懂」,哪怕是抄代码,也要理解每一行的含义;
- 调试优先:遇到报错先看编译器提示(如语法错误、变量未定义),学会用 IDE 的调试功能(断点、逐行执行);
- 避坑指南:
- 忘记加分号
;(C++ 语句必须以分号结尾); - 变量未初始化就使用;
- 数组下标越界(如
arr[5]访问长度为 5 的数组,下标最大为 4); - 混淆
=(赋值)和==(比较)。
- 忘记加分号

浙公网安备 33010602011771号