对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。
文章篇幅较长,大家一定要耐心看完。读完本文,能彻底搞清楚以下几个问题:
2、C语言到底能做什么?
3、C语言能找什么工作?能拿多少钱?
4、程序员必须要学习C语言吗?
5、学编程难吗?多久能入门?
6、C语言和C++到底是什么关系?
1、C语言究竟是一门怎样的语言?
和 Java、Python、Go 等高级编程语言相比,C 语言是一门低级的语言,它没有面向对象的概念。
学习 C 语言,除了让为我们入门编程,带大家走进编程的大门,还能搞清楚程序运行的底层逻辑,比如:
1) 计算机的各个部件是如何交互的;
2) 程序在内存中是一种怎样的状态;
3) 一个程序究竟是如何执行的;
4) 操作系统和应用程序之间有着怎样的爱恨情仇。
这些底层知识决定了你的发展高度,也决定了你的职业生涯。如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手,7 天了解一门新语言不是神话。
C语言概念少,词汇少,只包含了基本的编程元素,所以它相对比较简单。对初学者来说,学习C语言的成本小,时间短,结合本教程,可以快速掌握基本的编程技能。
想快速入门 C 语言的小伙伴,这里我给大家推荐一套之前看过的教程,语言非常通俗移动,没有那种“学院派”的味道,知识点全面、详细,非常适合 0 基础、想快速入门编程的人。
C语言教程
2、C语言到底能做什么?
根据世界编程语言排行榜(TIOBE)的统计,能叫得上名字来的编程语言大概有 300 多种,其中常用的有 50 种,也就是榜单里面的前 50 名。
从应用范围上来说,这些编程语言大致可以分为两种:
1) 一种是专用型语言,也就是针对某个特定领域而设计出来的语言,比如 PHP 是专门用来开发网站后台的,SQL 是专门操作数据库的语言;
2) 另一种是通用型语言,它们可以开发多种类型的应用程序,而不是局限在某个特定的领域。比如 Python、Java、Go 等。
C语言也是一门通用性的语言,并没有针对某个领域进行优化,就目前而言,它可以进行以下几种类型的开发:
1) 单片机/嵌入式开发:这是目前使用C语言最广泛的一个领域,尤其是单片机开发,基本被C语言霸占了。
2) 桌面软件开发:也叫 GUI 开发或者 PC 软件开发。在实际应用中,C语言通常用来开发某些关键模块或者效率模块,而不是开发一个完整的软件。这些模块一般对性能有着很高的要求,同时也关注资源消耗情况,除了C语言也没有其它更好的选择了。
3) 系统组件开发:基础组件、核心算法、硬件驱动、通信协议的实现,都离不开C语言。
4) 开发操作系统:这是C语言的初衷,它就是为开发操作系统而生的,UNIX、Linux、Windows 的内核就大量使用C语言。
5) 开发其它编程语言:有些编程语言的编译器(解释器)和标准库就使用C语言开发,比如 Python、PHP、Rust、Perl。
6) 信号处理:C语言在电气工程领域也有很多用途,它可以使用信号处理算法来管理微处理器、微控制器等集成电路。
7) 音视频处理:C语言的速度非常快,能够快速地对音频和视频数据进行处理。C语言提供了丰富的底层库和工具,如 FFmpeg、OpenCV 等,这些库和工具可以方便地对音频和视频数据进行编码、解码、剪辑、处理和转换等操作。
8) 数据库开发:使用C语言开发的数据库有:MySQL、SQLite、PostgreSQL、Oracle Database、Microsoft SQL Server。
总结一下,C语言的开发场景看起来很多,但是如果总结一下的话,无非就是:底层/系统开发 +关键组件/模块的开发 + 贴近硬件的开发,这些开发场景非常关注运行效率,或者响应时间,或者硬件资源。
这里,我只是给大家大概介绍了几个开发方向,如果想更详细地了解每个方向,可以去看我之前阅读过的一篇文章,所有的灵感就来源于它。
C语言到底能做什么?我列举了8种经典案例
3、C语言能找什么工作?能拿多少钱?
虽然C语言有很多开发方向,但很多初学者学完C语言以后仍然非常迷茫,只能编写没有界面的控制台程序。
这是因为,C语言仅仅是一个工具,它的标准库也很简单,只提供了最基本的功能,如果希望开发出实用的程序,往往还需要学习其他方面的知识。例如:
1) 开发硬件驱动要学习数字电路,了解 Windows 或 Linux 内核,阅读硬件厂商的接口说明书;
2) 从事嵌入式开发要学习数字电路、模拟电路、ARM、Linux、Qt等;
3) 开发PC软件要学习Windows编程,了解 GTK。
直白地说,只会C语言基本上是找不到工作的,大家必须选定一个方向继续学习其他知识。C语言不过是冰山一角,程序员要学习的东西还很多。
另外,学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。
并且,C语言能够让你更加深刻的认识内存和编译原理,了解程序的每一个细节,夯实基本功,站得“低”才能望的远,所以优秀的程序员都会学习C语言。
想快速入门 C 语言的小伙伴,这里我给大家推荐一套之前看过的教程,语言非常通俗移动,没有那种“学院派”的味道,知识点全面、详细,非常适合 0 基础、想快速入门编程的人。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。