Skip to main content

C语言基础

C与C++

在很大程度上,C++是C的超集,这意味着一个有效的C程序也是一个有效的C++程序。

C和C++的主要区别是,C++支持许多附加特性。但是,C++中有许多规则与C稍有不同。

这些不同使得C程序作为C++程序编译时可能以不同的方式运行或根本不能运行。

方向语言说明
嵌入式开发C使用C编写嵌入式系统,如嵌入式操作系统、嵌入式设备等
系统、内核、驱动C使用C编写系统、内核、驱动,如Linux、Windows等
高性能计算C使用C编写高性能计算,如OpenCL、CUDA等
跨语言绑定APIC使用C编写跨语言绑定API,如Python、Java等
Python性能优化C使用C为Python编写高性能扩展模块
Python-C互操作CPython调用C库、C调用Python函数
游戏开发C++使用C++编写游戏引擎,如Unity、Unreal Engine等
人工智能C++使用C++编写人工智能算法,如TensorFlow、PyTorch等
桌面应用开发C++使用C++编写桌面应用,如微信、QQ等
大型软件系统C++使用C++编写大型软件系统,如操作系统、数据库等

教材选择

C语言诞生于 1972 年,至今已经涌现出诸多教程和教材,其内容基本一致,但讲述方式和分类排版不同。以下是常见的入门教材与推荐说明:

教材名作者页数豆瓣评分说明
《C Primer Plus》(第6版)Stephen Prata7309.4全球众多高校和自学者用作入门教材的经典之作
《C语言程序设计 : 现代方法》(第2版)K. N. King6009.4被哈佛、MIT等名校采用,适合大学课程
《C语言程序设计》(第5版)谭浩强3706.5中国C语言教材鼻祖,国内高校广泛使用,但只讲规则,不讲原因。对初学者不友好。
《C程序设计语言》(第2版)Brian W. Kernighan & Dennis M. Ritchie2589.4掌握C核心思想和标准库,由C语言发明者亲自撰写,被誉为"C语言圣经"
info

本教程基于《C Primer Plus》,目标是压缩其50%的体积,按知识点重排同时保持其核心内容。

环境安装

推荐使用WSL2安装Ubuntu24.04,然后使用apt安装gcc、g++、gdb等编译器。

# 首先更新包列表(需要网络畅通)
sudo apt-get update

# 安装编译和调试工具(需要网络畅通)
sudo apt-get install build-essential gdb

# 测试 GCC(如果安装成功,终端会显示 GCC 的版本信息)
gcc --version

# 测试 G++(如果安装成功,终端会显示 G++ 的版本信息)
g++ --version

# 测试 GDB(如果安装成功,会显示 GDB 的版本信息)
gdb --version

编辑器

Vscdoe 官网下载网址

  • VSCode(Visual Studio Code)是一款通用跨平台的编辑器

它不会运行程序,它需要安装相应的语言包才能运行程序。它可以编辑任何语言的程序,支持几乎所有主流的开发语言的语法高亮、智能代码补全等。安装过程全部勾选。

  • 注意与 Visual Studio 区别

推荐扩展

使用 VSCode 或 Cursor,安装以下扩展:

扩展名称功能描述
Remote - SSH通过SSH连接远程服务器,在本地编辑远程文件
C/C++为 C/C++ 语言提供代码高亮、智能感知(自动补全)、代码格式化和调试等核心功能。
Python提供Python语言基础支持,包括语法高亮、代码补全和格式化
Pylance高性能Python语言服务器,提供类型检查和智能提示
Python Debugger支持Python代码的断点调试、变量监控和单步执行
Ruff Formatter自动格式化Python代码,保持一致的代码风格
Jupyter提供Jupyter Notebook支持,支持在VSCode中编辑和运行Jupyter Notebook
Error Lens直接在代码行内展示错误和警告信息,无需悬停鼠标
Office Viewer在VSCode中直接预览Word、Excel等Office文档并附赠IDE主题
Markmap以思维导图的形式展示markdown结构
Markdown All in One提供Markdown编辑、预览、导出等功能
SQLite Viewer提供SQLite数据库的可视化界面,支持数据浏览和查询
Hex Editor提供十六进制编辑器,支持编辑二进制文件
Live Server提供本地开发服务器,支持实时预览和自动刷新网页
Git History提供Git历史记录的可视化界面,支持查看文件的修改历史
Gitmoji在VSCode中使用Gitmoji,支持在提交时使用Gitmoji
Docker管理Docker容器,支持创建、运行和调试容器化应用

易用性配置

  • 推荐颜色主题:Dark Modern
  • 推荐图标主题:office material
  • 推荐字体:Fira Code(可选连字符显示)
  • Cursor侧边栏方向修改:workbench.activityBar.orientation,改为vertical