对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。
C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。
如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手,7 天了解一门新语言不是神话。
C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。
正是由于C语言的简单,对初学者来说,学习成本小,时间短,结合本教程,能够快速掌握编程技术。
在世界编程语言排行榜中,C语言、Java 和 C++ 霸占了前三名,拥有绝对优势,如下表所示:
| 2015年01月榜单 | ||
|---|---|---|
| 排名 | 语言 | 占有率 |
| 1 | C | 16.703% |
| 2 | Java | 15.528% |
| 3 | Objective-C | 6.953% |
| 4 | C++ | 6.705% |
| 5 | C# | 5.045% |
| 6 | PHP | 3.784% |
| 7 | JavaScript | 3.274% |
| 8 | Python | 2.613% |
| 9 | Perl | 2.256% |
| 10 | PL/SQL | 2.014% |
| 2015年06月榜单 | ||
| 排名 | 语言 | 占有率 |
| 1 | Java | 17.822% |
| 2 | C | 16.788% |
| 3 | C++ | 7.756% |
| 4 | C# | 5.056% |
| 5 | Objective-C | 4.339% |
| 6 | Python | 3.999% |
| 7 | Visual Basic .NET | 3.168% |
| 8 | PHP | 2.868% |
| 9 | JavaScript | 2.295% |
| 10 | Delphi/Object Pascal | 1.869% |
| 2018年01月榜单 | ||
| 排名 | 语言 | 占有率 |
| 1 | Java | 14.215% |
| 2 | C | 11.037% |
| 3 | C++ | 5.603% |
| 4 | Python | 4.678% |
| 5 | C# | 3.754% |
| 6 | JavaScript | 3.465% |
| 7 | Visual Basic .NET | 3.261% |
| 8 | R | 2.549% |
| 9 | PHP | 2.532% |
| 10 | Perl | 2.419% |
2017年,由于小型软件设备的蓬勃发展以及汽车行业底层软件的增加,C语言还拿下了「年度编程语言」的桂冠,成为 2017 年全球增长最快的编程语言。下表列出了最近 10 年的“年度编程语言”:
| 年份 | 优胜者 |
|---|---|
| 2017 |
C |
| 2016 |
Go |
| 2015 |
Java |
| 2014 |
JavaScript |
| 2013 |
Transact-SQL |
| 2012 |
Objective-C |
| 2011 |
Objective-C |
| 2010 |
Python |
| 2009 |
Go |
| 2008 |
C |
C语言诞生于20世纪70年代,年龄比我们都要大,我们将在《C语言的三套标准:C89、C99和C11》一节中讲解更多关于C语言的历史。
当然,C语言也不是没有缺点,毕竟是70后老人,有点落后时代,开发效率较低,后来人们又在C语言的基础上增加了面向对象的机制,形成了一门新的语言,称为C++,我们将在《C语言和C++到底有什么关系》中讲解。
和 Java、C++、Python、C#、JavaScript 等高级编程语言相比,C语言涉及到的编程概念少,附带的标准库小,所以整体比较简洁,容易学习,非常适合初学者入门。