很简单确很硬的标准:
别人用C/C++做东西,遇到了崩溃/泄漏他搞不定,来找你帮忙,就说明你精通了。
永远不要说你精通了什么。
怎么算精通?
学无止境,有太多的知识了。
我想你可能指的是熟悉C语言,而不是精通。
因为C语言的特性,决定了如果对计算机系统没有深入理解,是不可能精通C语言。所以除了C语言语法,数据结构,算法这些语言通用的知识,重要的是操作系统,计算机组成原理,编译原理和计算机网络。
阿里大佬强烈推荐的C语言学习路线熟悉C语言,这些知识储备你有嘛:
1. 掌握标准的语法。the c programming language。(楼主处于这个阶段,包括调试的手段都要掌握的,比如用断点调试,用printf调试,跟踪程序执行)
2. 学标准库和第三方库,系统api,并使用库来开发一款应用。代码规模在万行以上。(不熟练使用怎谈得上精通)
3. 写代码过程中,不断重构,让设计上逐渐完美。了解设计模式。(参看些设计模式的书)
4. 了解语言设计上的优势和劣质,了解语言上的缺陷和陷阱(C陷阱与缺陷)。写代码时,充分利用语言的特性,扬长避短。
5. 大量阅读优秀开源作品,汲取别人的精华设计,巧妙使用的方法。
6. 掌握语言底层运行机理,当然C已经足够底层,你可以看看汇编,从汇编角度上理解一下C。
7. 掌握多种其他语言,通过语言的对比,深入的了解C语言的优势和劣势。实际工作中,扬长避短,结合各个语言的优势来解决问题。
8. 熟悉不同平台编译器的一些常用特性(其实不写跨平台,用不着学这个)
以上过程搞定,那么C语言已经算精通了。我个人认为。
不过,光精通C是不够的。还得:
1. 原理类的书籍(数据结构,算法,操作系统,编译原理,网络,数据库)要掌握。
2. 开发方向上所有的常用工具,常用库都要熟练掌握。
3. 开发方向上的常用技术,常用算法要掌握,看最新的技术论文,等等。
来源:作者:crackhopper 链接:https://www.zhihu.com/question/19910787/answer/23786930 这就是为什么C语言能长盛不衰的原因!
从底层往上看,在冯诺依曼架构的机器上,用以内存地址和寄存器为操作单位的单条指令组成程序是非常自然的事情。
而如果你学过汇编,你就会发现,C语言是这个样子是非常自然的一件事情。它只是对汇编做了一些包装;就像汇编是对机器语言做了简单的包装一样(好吧还是有点不一样的,实现起来复杂得多,但的确很自然)。
所以呢,你觉得不自然的地方,是因为你是从数学,从顶层往下看。那么看到的就会是像haskell,lisp这样直观的语言。
如果从底层往上看,C语言也一样的直观。
C语言最佳学习路线:阿里大佬强烈推荐的C语言学习路线
最重要的是:
C 树立了正确的设计原则。第一是减法原则:Perfection is attained, not when there is nothing left to add, but when there is nothing left to take away. 第二是符合实际需求,C 的各种假定立刻被其设计者在实现 Unix 的实际工作中检验,而不是建立在盲目的假设上。有了这两条,其它语言都不再试图替代它。任何试图取得成功的语言都必须和 C 保持距离。
最近很多同学问我大厂面试的核心知识点,东哥熬夜整理出来了9大核心知识点,需要的自取:
校招进大厂,9大核心课程知识,熬夜整理成思维导图送给大家BAT大佬整理的进大厂必看秘籍!另外,我当初在准备各大公司技术笔试的时候刷了大量的算法题,其中就是参考了一本谷歌大神的LeetCode刷题笔记,帮我整理了解题思路,归纳了出刷题方法,非常不出错,转给需要的同学:
BAT大佬写的Leetcode刷题笔记,看完秒杀90%的算法题!mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rd最后给大家介绍一份计算机经典书籍,送大家一份硬核书籍资源:读大学跟工作期间,我买了很多书,大部分是一些技术书籍,也收集了这些书籍的电子版,都在这里,现在免费share给大家,包括了计算机类常用电子书,包括C,C++,Java,Python,Java,Linux,Go等,希望大家能认真阅读。点击下方链接直达获取:
计算机经典必读书单(含下载方式)mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rd码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励,给我 :
@码农出击
一个点赞,鼓励下我! |