1. 什么是 C++?
C++ 是一种通用编程语言,由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始开发。它最初被称为 "C with Classes"(带类的 C),旨在为 C 语言增加面向对象编程的特性。C++ 继承了 C 语言的高效和底层控制能力,同时引入了类、对象、继承、多态等现代编程概念,使其成为系统编程、游戏开发、高性能计算等领域的首选语言之一。
2. 第一个 C++ 程序
让我们从一个经典的 "Hello, World!" 程序开始:
cpp
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
代码解析:
#include <iostream>:引入输入输出流库,使我们能使用cout和endl。int main():程序的主函数,是程序执行的入口点。std::cout << "Hello, World!":将字符串输出到控制台。std::endl:输出换行符并刷新缓冲区。return 0;:表示程序正常结束。
3. C++ 基本语法要素
3.1 变量与数据类型
C++ 是静态类型语言,变量在使用前必须声明其类型。
cpp
// 基本数据类型示例
int age = 25; // 整数
double price = 99.99; // 双精度浮点数
char grade = 'A'; // 单个字符
bool is_valid = true; // 布尔值
std::string name = "Alice"; // 字符串(需要 #include <string>)
3.2 控制结构
条件语句:
cpp
int score = 85;
if (score >= 90) {
std::cout << "优秀" << std::endl;
} else if (score >= 60) {
std::cout << "及格" << std::endl;
} else {
std::cout << "不及格" << std::endl;
}
循环语句:
cpp
// for 循环
for (int i = 0; i < 5; i++) {
std::cout << i << " ";
}
// while 循环
int count = 0;
while (count < 3) {
std::cout << "循环中..." << std::endl;
count++;
}
4. 函数
函数是执行特定任务的代码块,可以提高代码的复用性和可读性。
cpp
#include <iostream>
// 函数声明
int add(int a, int b);
int main() {
int result = add(5, 3);
std::cout << "5 + 3 = " << result << std::endl;
return 0;
}
// 函数定义
int add(int a, int b) {
return a + b;
}
5. 面向对象编程基础
5.1 类与对象
cpp
#include <iostream>
#include <string>
// 定义一个类
class Student {
private:
std::string name;
int age;
public:
// 构造函数
Student(std::string n, int a) : name(n), age(a) {}
// 成员函数
void display() {
std::cout << "姓名:" << name << ", 年龄:" << age << std::endl;
}
};
int main() {
// 创建对象
Student stu1("张三", 20);
stu1.display();
return 0;
}
5.2 继承
cpp
// 基类
class Animal {
public:
void eat() {
std::cout << "动物在吃东西" << std::endl;
}
};
// 派生类
class Dog : public Animal {
public:
void bark() {
std::cout << "汪汪!" << std::endl;
}
};
int main() {
Dog myDog;
myDog.eat(); // 继承自 Animal
myDog.bark(); // Dog 自己的方法
return 0;
}
6. 标准模板库(STL)简介
STL 提供了丰富的容器、算法和迭代器,是 C++ 编程的重要部分。
cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
// 使用 vector 容器
std::vector<int> numbers = {5, 2, 8, 1, 9};
// 排序
std::sort(numbers.begin(), numbers.end());
// 遍历输出
for (int num : numbers) {
std::cout << num << " ";
}
return 0;
}
7. 学习建议与资源
- 实践为主:多写代码,从简单程序开始,逐步增加复杂度。
- 理解原理:不仅要会用,还要理解背后的原理(如指针、内存管理)。
- 阅读优秀代码:学习开源项目中的 C++ 代码风格和设计模式。
- 参考资源 :
- 书籍:《C++ Primer》、《Effective C++》
- 网站:cplusplus.com、cppreference.com
- 在线平台:LeetCode、牛客网(用于练习)
8. 常见错误与调试
cpp
#include <iostream>
int main() {
// 常见错误1:未初始化变量
int x; // 警告:未初始化
// int x = 0; // 正确做法
// 常见错误2:数组越界
int arr[3] = {1, 2, 3};
// std::cout << arr[5]; // 错误:越界访问
// 使用调试技巧
#ifdef DEBUG
std::cout << "调试信息:" << __LINE__ << std::endl;
#endif
return 0;
}
下一步建议:
- 可以补充「指针与内存管理」章节
- 可以添加「文件操作」示例
- 可以扩展「异常处理」内容