C++ 编程基础入门教程

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. 学习建议与资源

  1. 实践为主:多写代码,从简单程序开始,逐步增加复杂度。
  2. 理解原理:不仅要会用,还要理解背后的原理(如指针、内存管理)。
  3. 阅读优秀代码:学习开源项目中的 C++ 代码风格和设计模式。
  4. 参考资源 :
    • 书籍:《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;
}

下一步建议:

  • 可以补充「指针与内存管理」章节
  • 可以添加「文件操作」示例
  • 可以扩展「异常处理」内容
相关推荐
kloc11 小时前
聊天室项目入口网关子服务的实现
linux·c++
饮水桶_T12 小时前
JAVA IO流笔记
开发语言·数据结构·算法
csdn_aspnet14 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法
Felven14 小时前
C. Brr Brrr Patapim
c语言·开发语言
小七在进步15 小时前
string的使用(2)
c++
路溪非溪16 小时前
python标准库使用总结
开发语言·python
青少儿编程课堂16 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:折半搜索优化子集枚举(Meet in the Middle)解析
c++·python·算法·bfs·信息学竞赛
SomeOtherTime17 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
wo_jack17 小时前
C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?
数据结构·c++·面试·stl·list
zh_xuan17 小时前
kotlin常见面试题
开发语言·kotlin·面试题