C语言学习指南:从规范编程到专业级开发
上QQ阅读APP看书,第一时间看更新

1.3.1 编辑

程序需要根据文本文件来生成,这种文本文件的扩展名都是预先约定好的。这样的文本文件叫作源文件(source file)或源代码文件(source code file)。对于C语言来说,普通的源代码应该写在扩展名为.c的文本文件中。扩展名为.h的文本文件指的是C语言的头文件(header file),早前的Hello, world!程序代码中就提到了这样的头文件。编译器会根据自己遇到的.c与.h文件来编译程序,由于.c文件与.h文件的用途不同,因此编译器对待这两种文件的方式也不同。其他编程语言也有各自约定的文件扩展名,源文件的内容必须按照所使用的编程语言及编译器的要求来写。

在创建并修改C语言的文件时需要用到纯文本编辑器。这种编辑器能够开启、修改并保存纯文本文件,也就是那种没有字体大小、字体系列与字体样式等附加格式的文本文件。例如,对于Windows操作系统来说,Notepad(记事本)就属于纯文本编辑器,而Word程序则不是。用来开发C程序的纯文本编辑器应该具备下列功能:

操作文件:开启并编辑文件;保存开发者对文件所做的修改;把修改后的内容存放到另一个文件中[1]

浏览文件:例如向上、向下、向左、向右查看文件内容;跳转到某一行的开头或结尾;跳转到整个文件的开头或结尾等。

操作文本:例如插入或删除文本;插入或删除整行文字;选取、剪切、复制并粘贴文字;撤销/重做等。

搜索与替换:例如寻找文本与替换文本等。

如果还有下面几项功能就更好了,但这几项并不是必备的:

□自动缩进。

□针对特定的编程语言,采用不同的颜色来显示不同的语法要素。

□自动保存(每隔一段时间就自动保存一次)。

任何一个纯文本编辑器几乎都具有上述四种必备功能。你不应该过分依赖某种文本编辑器所提供的特殊功能。有些编辑器可能确实比另一些要好用。有的编辑器是免费的,有的需要付费购买,但目前可能并不值得买(或许以后值得,但当前可能还没有必要花这个钱)。无论哪种编辑器,都不太可能跟你的期望百分百相符。

下面列出一些你可以考虑安装试用的纯文本编辑器:

所有操作系统都支持的编辑器:Nano。这款编辑器运行在命令行界面[2]中,学起来不是很难。

适用于Linux/UNIX系统的编辑器:

Vim或vi:运行在命令行界面中,比较容易学。这是每一种Linux/UNIX系统都支持的编辑器,你应该花些时间学习它的基本功能。

gedit:一款功能强大的通用编辑器。

Emacs:一款功能全面的编辑器;要学的东西比较多。

适用于Windows系统的编辑器:

Notepad:一款非常简单的编辑器(对于编程来说,它的功能或许有点少)。每个版本的Windows系统都自带该程序。

Notepad++:增强版的Notepad,提供了许多适合在编程时使用的功能。

仅适用于macOS的编辑器:BBEdit(免费版)。这是一款功能完备的文本编辑器,带有图形用户界面,而且适合编程。

文本编辑器有许多种,每一种都有自己的优点和缺点。选择一款并坚持使用,时间久了,你就会很自然地用它去编写代码了。

[1] 这种功能叫作“另存为……”(Save as...)。——译者注

[2] 原书为Terminal(终端;终端机),此外泛指各种操作系统中输入命令行的界面。——译者注