C语言同C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。
C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件。
借用我一个朋友的名言:“现在的程序员,不掌握好几门语言都不好意思跟别人打招呼。”
就目前的企业的岗位设置来说,只会C语言的话(当然,能达到深究算法、操作系统、数据库、网络协议的C语言工程师除外),基本上是找不到工作的。首先我们要选定一个方向,继续学习其他知识,后面就会发现,C语言不过是冰山一角,是一项基本求生技能而已,除此以外,程序员要学习的东西还有很多。
对于很多C语言初学者,都会存在如下误区:学习C语言之后今后就要在C语言这条路上走到黑。其实学习C语言并不一定要从事与C语言有关的开发工作。
C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。或者也可以这么理解,学好C语言,可以奠定我们今后学习其他编程语言(类C语言)的基础。
如果你是零基础学习C语言的小白,我建议大家先想明白以下几个问题:
▌未来从业方向:学习C语言能干什么?
C语言既有高级语言的特点,又有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。
一句话概括:如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言
▌需要掌握哪些技能才能满足企业用人需求?
C语言常规岗位职责:
1、服务器软件开发;
2、负责项目架构设计,TCP/IP协议定义;
3、负责系统的架构设计、性能瓶颈分析、性能调优工作;
4、负责技术难点的攻破。
C语言常规岗位任职要求:
1、3年以上服务器相关开发经验,熟悉TCP/IP协议,及制定和规范协议;
2、熟练TCP、UDP协议编程,熟练socket网络通讯编程;
3、熟练C语言编程,熟悉C++编程;
4、熟悉Linux系统编程,多线程和多进程编程;
5、熟悉epoll、select等服务器端异步高并发模式,libevent或者libev等应用;
6、熟悉Mysql数据库,及API编程。熟悉SQL语言;
7、能处理数据库连接池性能瓶颈优先考虑。
▌零基础学习C语言,怎么入门?
能接受枯燥学习法的初学者,啃书效果肯定是奏效的,基础入门书籍吃透一本,收获颇丰。
推荐几本入门书籍:
—————————
1、《C程序设计语言》
推荐理由:
全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,《C程序设计语言》是一本必读的程序设计语言方面的参考书。
—————————
2、《C primer plus》
推荐理由:
本书全面讲述了C语言编程的相关概念和知识。
适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。
—————————
3、《C陷阱与缺陷》
推荐理由:
结合自己的工作经验,创作了这本对C程序员具有珍贵价值的经典著作。
出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。
—————————————
- End -
不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~
【值得关注】我的 编程学习交流俱乐部 !【点击进入】
C语言入门资料(网盘链接免费分享):
C语言推荐书籍(PDF免费分享):