零基础学C语言(第4版)
上QQ阅读APP看书,第一时间看更新

1.1 为什么选择C语言

为什么要选择C语言?这是每个读者应该问的问题。如果掌握了C语言之后,还是不能满足读者的需求,那么学习C语言就是一件浪费时间的事情了。笔者在本节尝试回答这个问题,如果笔者的回答不能令读者满意,也许读者应该选择另外一门编程语言。

1.在计算机领域,C语言“大小通吃”

C语言的应用极其广泛,不论是网站后台还是底层操作系统,多媒体应用还是大型网络游戏,均可使用C语言来开发。

(1)C语言可以写网站后台程序。用C语言编写CGI(Common GateWay Interface,通用网关接口,使浏览器能与用户交互的一种方法)程序,然后在HTML页面中嵌入CGI,即可完成强大的功能,至于连接数据库,查询、插入数据等常规操作,当然也不在话下。对于有大量连接的网站,比如大型论坛、社区、游戏,用C语言编写的CGI,比起用其他语言编写的后台程序,速度更快、性能更优。

(2)C语言可以写出绚丽的GUI界面。无论在Windows平台还是Linux平台上,用C语言都可以写出绚丽华美的GUI窗口界面来。类似QQ等软件的GUI界面,都可以通过C语言实现。

(3)C语言可以专门针对某个主题写出功能强大的程序库,然后供其他程序使用,从而节省其他程序的开发时间。比如常用的压缩、解压缩软件,就有专门的zlib库;mp3解码软件,有libmad库。有了各种各样的程序库后,程序员开发软件时,就可以把这些库拿来直接使用,组装成自己所需的软件。而这些库一般都是用C语言写成的,既高效又稳定。上面提到的很多库都有C语言源代码供读者学习研究。

(4)用C语言可以写出大型游戏的引擎。游戏中需要处理的事情繁多,很多游戏对实时的要求比较高,C语言运行高效、快捷,能满足这些需求。

(5)用C语言可以写出另一个语言。很多语言的编译器或者解释器就是用C语言编写出来的。比如风靡全球的网站后台程序语言PHP,再如服务器端脚本语言Ruby等。

(6)用C语言可以写操作系统和驱动程序,并且这些只能用C语言编写。例如使用C语言编写的Linux操作系统,该系统的全部源代码都可以从网上得到。Windows操作系统虽然无法获取到源代码,但是一批开源运动者用C语言编写了一个Windows克隆版本的操作系统ReactOS,与Windows几乎一模一样,它的代码也是开源的,可以通过访问网站www.reactos.org获取相关信息。

(7)任何硬件设备只要配置了微处理器,就都支持C语言。从微波炉到手机,都是由C语言技术来推动发展的。

2.掌握了C语言,其他类似语言不学自通

当掌握了C语言后,再去学习其他面向过程的语言,可能只需要一个星期就能学会。因为万变不离其宗,其他语言只是在语法上有些许更改,而思想却没有更改。

3.C语言久经考验,有现成的大量优秀代码和资料

因为C语言已经存在很多年了,它有广泛的使用团体,并且有大量的样例代码可以利用。这就使读者能在过去程序的基础上,快速和高效地编写新的算法和函数。C语言是一个开源组织的语言,在全球著名的开源组织网站www.sourceforge.net上,能找到任何想要的开源代码。C语言使用者众多,讨论者也就众多,开发出了数不尽的资料可供学习。

4.简洁、紧凑,使用方便、灵活,功能强大,执行效率高

C语言包括简洁、紧凑,使用方便、灵活,功能强大,执行效率高等优点。C语言仅有32个关键字,9种控制语句,却能完成无数的功能。在某些方面C语言可能确实不如其他语言优秀,比如在字符串处理方面就不如Perl语言;在数值计算方面就不如Fortran语言;在人工智能方面就不如Lisp语言。可是这些语言在其他方面却远远不及C语言。而且C语言其他的诸如表达力强、移植性好的特点,也许现在读者还无法理解,随着时间的推移,将会慢慢了解到。

如果上面的回答还是不能满足读者的需求,那么最后一条一定可以满足:精通C语言,工作不用愁!