C编程
入门
本书介绍并教授 C 编程语言的基础知识,并涉及一些高级主题。本节概述了您需要具备的技能和工具,以便从本书中获得最大的收获。
所需技能和先前经验
本书面向初学者,因此如果您没有正式的计算机培训或编程经验也不用担心。假设您知道如何打开计算机、启动和停止应用程序,以及执行其他基本操作,如安装软件。假设您还具备一定的通过终端窗口使用命令行界面与操作系统交互的经验。如果您不确定这是什么意思,可以寻找适合您所选平台的教程,帮助您熟悉如何使用命令行操作计算机。至少,您应该知道基本的命令,如何切换目录并执行简单的文件管理操作。本书将详细说明您需要从命令行运行的其他命令,以使您的 C 代码在计算机上正常工作。
所需软件
没有人仅通过阅读乐谱就能成为音乐家。音乐家必须不断地在乐器上演奏和练习,才能变得优秀。同样,成为程序员的唯一方法是编写并执行大量代码。为此,您将需要两种不同的软件:编译器和文本编辑器。两者都可以免费获得。
编译器
编译器是将您用文本编辑器编写的 C 源代码转换为机器代码的复杂软件,这些机器代码可以在计算机上执行。以下是一些流行的 C 编译器列表。请注意,以下列出的某些编译器是作为集成开发环境(IDE)的一部分提供的。然而,如果您是编程新手,最好从命令行而不是通过 IDE 安装并运行编译器。本书的示例使用的是 GNU C 编译器(GCC),因此我们建议您为本书安装该编译器。本章的下一部分将解释如何将 GCC 软件下载并安装到您的计算机上。
流行的 C 编译器/IDE 包括:
名称 | 网站 | 平台 | 许可证 | 详情 |
---|---|---|---|---|
Microsoft Visual Studio Community | Visual Studio | Windows | 专有,免费 | 强大且适合学生使用的行业标准编译器版本。 |
Xcode | Xcode | macOS, OSX | 专有,免费 | 可通过 Mac App Store 免费下载。 |
Tiny C Compiler (TCC) | tinycc | GNU/Linux, Windows | LGPL | 小巧、快速、简单的编译器。 |
Clang | clang | GNU/Linux, Windows, Unix, OS X | 伊利诺伊大学/NCSA 许可证 | 使用 LLVM 后端的免费、宽松许可前端。 |
GNU C Compiler | gcc | GNU/Linux, MinGW 或 mingw-w64(Windows), Unix, OS X | GPL | 实际标准,通常随大多数类 Unix 系统一起提供。 |
文本编辑器和 IDE
除了编译器,唯一需要的软件是文本编辑器,用于编写和保存您的 C 代码。请注意,文本编辑器与文字处理器不同,文字处理器是用于创建视觉效果吸引人的文档的软件。与文字处理器不同,文本编辑器主要用于创建纯文本文件。在 Windows 上,可以使用记事本编辑器,但它不提供语法高亮、代码补全等高级功能。市面上有成百上千种文本编辑器(见“文本编辑器列表”)。其中最流行的是适用于 Windows 的 Notepad++,以及 Sublime Text、gedit、Vim 和 Emacs,这些编辑器也可以在其他操作系统(跨平台)上使用。这些文本编辑器具有语法高亮和行号功能,可以让您快速阅读代码并发现语法错误。许多文本编辑器还有加速编程的功能,比如键盘宏和代码片段,您可以在编程技能提高时加以利用。
您也可能考虑使用集成开发环境(IDE)来帮助编写代码。IDE 是一套集成的工具和功能,通常通过图形用户界面提供。它们包括文本编辑器和文件浏览器,有时还包含一个易于访问的编译器。IDE 通常还包括调试器,调试器可以帮助您逐行执行程序,或者修改数据来查找和修正编程错误。
然而,许多 IDE 并不提供命令行界面来使用编译器,或者仅提供通过图形按钮或菜单来执行程序的功能。所以对于新手程序员来说,IDE 并不是理想的选择。相反,简单的文本编辑器和通过命令行执行简单命令的能力已经足够,帮助您更好地理解核心开发工具的使用。当然,如果您已有 IDE 使用经验,它仍然可能对您有用。但作为一般指导:除非您知道 IDE 为您做了哪些事情,否则不要使用它!
其他流行的编译器/IDE 包括:
名称 | 网站 | 平台 | 许可证 | 详情 |
---|---|---|---|---|
Eclipse CDT | Eclipse | Windows, Mac OS X, GNU/Linux | 免费/开放源代码 | Eclipse 的 C/C++ 开发 IDE,受欢迎的开源 IDE。 |
Netbeans | Netbeans | 跨平台 | CDDL 和 GPL 2.0 | 与 Eclipse 相似的成熟 IDE。 |
GNOME Builder | Builder | GNU/Linux | GPL | 适用于 GNOME 桌面环境的功能丰富但简单的 IDE。 |
Anjuta | Anjuta | GNU/Linux | GPL | 适用于 GNOME 桌面环境的可扩展 GTK+3 IDE。 |
Geany | geany | 跨平台 | GPL | 一个轻量级的跨平台 GTK+ 编辑器,具有基本的 IDE 功能。 |
KDevelop | KDevelop | 跨平台 | GPL | 适用于 KDE 项目的跨平台 IDE。 |
Little C Compiler (LCC) | lcc | Windows | 仅提供源代码,不开放 | 小巧的编译器。 |
Pelles C | Pelles C | Windows, Pocket PC | 专有,免费 | Windows 的完整 C 开发工具包。 |
Dev-C++ | Dev C++ | Windows | GPL | 以前流行的 Dev-C++ 更新版。 |
CodeLite | CodeLite | 跨平台 | GPL 2 | 免费的 C/C++ 开发 IDE。 |
Code::Blocks | Code::Blocks | 跨平台 | GPL 3.0 | 满足用户最苛刻需求的 IDE,具有极强的扩展性和完全配置能力。 |
在 GNU/Linux 上,GCC 通常是默认安装的。
在 Microsoft Windows 上,推荐初学者使用 Dev-C++,因为它易于使用、免费且简单安装。尽管最初的开发者(Bloodshed)自 2005 年以来没有更新该软件,但在 2011 年,独立程序员发布了新版本,并正在积极开发。对于只在 Windows 环境下工作的用户,另一个可选项是免费的专有软件 Microsoft Visual Studio Community,具有出色的调试器。
在 Mac OS X 上,Xcode IDE 提供了编译不同源文件所需的编译器。新版 Xcode 不再包含命令行工具,需要通过 Xcode->Preferences->Downloads 下载。