
1.1.3 规范书写C程序
C语言语句精练、简洁,语义丰富,格式灵活。为了提高程序的可读性,应该养成良好的书写习惯。
C程序的书写格式通常有如下要求:
①每行通常写一条语句,每条语句结束时加分号“;”作为语句结束符。
②C程序书写格式自由,即一行中可以有多条语句,一条语句也可以占用多行,语句之间必须用分号“;”分隔。当一条语句没有结束时,一定不要加分号。
③C程序的语句通常不加语句标号(只有goto语句中要转向的语句才加语句标号)。
④花括号内的语句通常向右缩进两个字符或一个水平制表符。适当采取缩进格式会使程序更加清晰易读。
⑤在程序中适当使用注释信息,以增强程序的可读性。
读者在学习C语言编程时,从一开始就要养成良好的书写习惯,按照人们的约定和习惯来书写C程序,这样有助于提高程序的可读性。一个C程序如果书写不规范,虽然可以通过编译,并输出正确结果,但是阅读程序很困难,有时会因书写不当而引起误解,造成分析上的错误。所以,读者一定要注意C程序的书写格式。
相关知识1
1.C语言的由来
C语言诞生于1972年,是由贝尔实验室的Dennis M.Ritchie(见图1-1)设计,并首先在一台UNIX操作系统的DEC PDP-11计算机上实现的。C语言诞生至今已有40多年。事实上,一种较好的高级语言的出现,往往要经历一个长期的演变过程。

图1-1 C语言创始人Dennis M.Ritchie
C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL进行了简化,于是产生了BCPL(basic combined programming language)。
1970年,美国贝尔实验室的Ken Thompson以BCPL为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且,他用B语言编写了第一个UNIX操作系统。
1972年,美国贝尔实验室的Dennis M.Ritchie在B语言的基础上设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
1977年,Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年,由贝尔实验室正式发表了C语言。Dennis M.Ritchie被称作C语言之父(UNIX之父)。1978年他与Brian W.Kernighan一起出版了名著《C程序设计语言》(The C Programming Language),对C语言做了详细的描述。后来的程序设计语言如C++、VC++、Java、C#都是在C语言基础上产生的。
2.C语言的双重特性
高级语言往往是在人们的某种期盼之下出现的。C语言就是在人们期盼寻找到一种既具有一般高级语言的特征,又具有低级语言特征的情况下应运而生的。因此,C语言具有高级语言和低级语言的双重特性。
3.C语言的应用
C语言具有很多方便编程的特点,因此许多编程人员都喜欢使用这种语言,其广泛应用于系统软件和应用软件的开发研制之中。C语言功能强大,可完成以下功能:
①可以编写网站后台,诸如百度、腾讯后台。
②可以写出功能完美、绚丽的GUI(图形用户接口)界面,如苹果界面。
③可以写出大型游戏的引擎。
④可以写出操作系统和各种驱动程序。比如Windows操作系统。
⑤可以写出各种功能强大的程序及程序库、各种日常生活中的硬件设备驱动,如手机、微波炉、电视等,还可编写出专家系统,广泛应用于人工智能、云计算、物联网等领域。
4.C语言的特点
C语言是一种出现比较晚的高级语言,它吸取了早期高级语言的长处,克服了其中的某些不足,形成了自己的风格和特点。总体来说,C语言是一种简洁明了、功能强大、可移植性好的结构化程序设计语言。C语言具有如下特点:
①C语言简洁、紧凑。
②C语言是一种结构化的程序设计语言。
③C语言具有丰富的数据类型。
④C语言提供了丰富的运算符。C语言共有44种运算符,分为15个优先级和两种结合方向(参看附录C)。这些运算符是编程的基础,必须尽快掌握。
⑤C语言可以直接对部分硬件进行操作。
⑥C语言的可移植性较好。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。
5.C语言与C++
C++是从C语言发展来的,它是建立在C语言之上的,称为“带类的C语言”,C语言是C++的子集。C语言是结构化的语言,C++增加了面向对象的概念,成为一种流行的面向对象的语言,其功能更加强大。但由于C语言是C++的基础,它的基本概念和设计方法相对比较容易理解,所以建议初学者从C语言入手,先把C语言学好。