温馨提示×

ubuntu c++怎么学习入门

小樊
41
2026-08-02 03:44:12
栏目: 编程语言

这是一个非常经典且实用的问题。在 Ubuntu 下学习 C++ 是很多开发者的必经之路,因为 Linux 环境对 C++ 支持非常友好,也是服务器开发的主流环境。

以下是一份针对 Ubuntu 系统的 C++ 零基础到入门 的学习路线和实操指南:


第一阶段:环境搭建(磨刀不误砍柴工)

在 Ubuntu 下写 C++,你需要两个核心工具:编译器 (GCC)编辑器/IDE

1. 安装编译器 (Build-essential)

Ubuntu 默认可能没有安装 C++ 编译器,打开终端 (Ctrl+Alt+T) 执行:

sudo apt update
sudo apt install build-essential
  • build-essential 包含了 gcc (C编译器), g++ (C++编译器), make 等基础工具。

验证安装:

g++ --version

2. 选择编辑器/IDE

根据你的情况选择:

  • 新手推荐:VS Code (Visual Studio Code)
    • 轻量级,插件丰富,界面友好。
    • 安装:sudo snap install code --classic
    • 必装插件:搜索并安装 “C/C++” (由 Microsoft 发布)。
  • 进阶/传统:Vim / Emacs
    • 纯键盘操作,在服务器上很有用,但学习曲线陡峭。
  • 工程开发:CLion
    • JetBrains 出品,非常智能,需要付费(学生可免费申请)。
  • 经典:Code::Blocks / Eclipse
    • 比较老牌的 IDE,配置简单。

建议: 先用 VS Code 配合终端,既能熟悉 Linux 命令,又有图形界面辅助。


第二阶段:Hello World 与编译流程

C++ 从编写到运行,通常经历四个步骤:预处理 -> 编译 -> 汇编 -> 链接

1. 编写代码

创建一个文件 hello.cpp

#include <iostream>

int main() {
    std::cout << "Hello, Ubuntu C++!" << std::endl;
    return 0;
}

2. 编译与运行

在终端中进入文件所在目录,执行:

# 编译(将 cpp 生成可执行文件 a.out)
g++ hello.cpp

# 运行
./a.out

常用编译参数(非常重要):

# -o: 指定输出文件名
# -std=c++11 (或 14, 17, 20): 指定 C++ 标准
# -Wall: 开启所有警告(建议开启,能发现很多错误)
g++ hello.cpp -o hello -std=c++11 -Wall

# 运行
./hello

第三阶段:学习 C++ 基础语法

你需要一本好的教程或书籍。

推荐资源

  1. 书籍(首选):
    • 《C++ Primer》(第5版):被誉为“C++ 圣经”,内容详实,适合系统学习(注意:这本书很厚,适合当字典查,前几章是入门)。
    • 《C++ Primer Plus》:比 Primer 更啰嗦一点,更适合零基础。
    • 《Accelerated C++》:如果你想快速上手,这本书很薄,讲得很快。
  2. 在线教程:
    • 菜鸟教程 (Runoob):中文,适合快速查阅语法。
    • LearnCpp.com:英文,目前公认最好的免费在线 C++ 教程,非常现代。

核心知识点(按顺序学)

  1. 基本结构: main 函数,头文件 (#include)。
  2. 变量与类型: int, float, double, char, bool
  3. 运算符: 加减乘除,逻辑运算 (&&, ||)。
  4. 流程控制: if/else, switch, for, while, do-while
  5. 函数: 定义,声明,参数传递(值传递 vs 引用传递),重载。
  6. 数组与字符串: C风格数组,以及 C++ 的 std::string (重点用这个)。
  7. 指针与引用(难点): 这是 C++ 的灵魂,也是最容易晕的地方。理解内存地址。
    • int* p;
    • int& ref = a;
  8. 面向对象 (OOP):
    • 类 (Class)对象 (Object)
    • 构造函数、析构函数。
    • 封装、继承、多态。
  9. 标准模板库 (STL) - 极其重要:
    • 容器: vector (动态数组), map (字典), set (集合), list (链表)。
    • 算法: sort, find
    • 迭代器。

第四阶段:Linux 系统编程(Ubuntu 特色)

既然在 Ubuntu 下,就要利用好 Linux 的特性。C++ 在 Linux 下常用于系统开发。

  1. 文件操作: 使用 fstream 读写文件。
  2. 进程与线程:
    • 学习 fork() (创建进程)。
    • 学习 pthread 或多线程库 std::thread (C++11 自带)。
  3. Makefile: 当项目有多个 .cpp 文件时,手动敲 g++ 很麻烦。学习写简单的 Makefile 来自动化编译。
  4. GDB 调试: 学会用 gdb 调试程序(打断点、查看变量)。
    • 编译时加 -gg++ -g main.cpp -o main
    • 调试:gdb ./main

第五阶段:实战练习

光看不练假把式。

  1. 刷题:
    • LeetCode (力扣): 用 C++ 刷算法题,练习 STL 的使用。
    • 洛谷 / HDU OJ: 练习基础语法。
  2. 小项目:
    • 通讯录管理系统: 控制台程序,练习结构体/类、增删改查。
    • 简单 HTTP 服务器: 使用 Socket 编程(进阶)。
    • 贪吃蛇: 使用 Ncurses 库(图形库)做终端游戏。

总结:给新手的快速上手清单

如果你现在想立刻开始,请按这个顺序操作:

  1. 安装环境: sudo apt install build-essentialVS Code
  2. 写第一个程序: 复制上面的 Hello World,用 g++ -std=c++11 hello.cpp -o hello 编译。
  3. 看书: 找一本《C++ Primer》或看 LearnCpp.com,每天看一章。
  4. 练习: 遇到不懂的语法(比如指针),立刻写一个小 demo 测试它。
  5. 进阶: 当代码变多时,学习写 Makefile

避坑指南:

  • 不要纠结于 C 语言的历史细节(如 scanf/printfcout 的区别),直接用 C++ 的 std::cinstd::cout
  • 不要试图一次性学会所有东西,C++ 是个巨大的语言,先学会用,再深入原理。

祝你学习顺利!如果有具体的报错,随时可以把代码和错误信息贴出来问。

0