初学者学习c语言看什么书最好,零基础小白学c语言该看什么书

笔者对做个稍稍的扩展一下,C语言新手入门有哪些方法,有哪些书籍或者教程可以参考。

本文的解答完全基于笔者大学时候的学习经历作出的自己的一些看法,本文适合那些真正想成为一个软件工程师或者说成为一个真正的程序员的同学,因为本文并不会推荐谭浩强老师那本销量超千万的异常惊人的《C程序设计》,因为笔者认为那更适合那些只是想考一个计算机等级证书的童鞋,而不适合想成为一名真正程序员同学的需求。当然这并不是说有抹黑谭浩强老师的意思,作为中国计算机科学界老一辈的计算机教育学家,老教授依然是值得我们尊重的德高望重的行业布道师,只是笔者觉得有更好的选择。所以,如果你只是想要学习C语言来考个计算机等级证书,仅此而已,出门左转,谭浩强老师那本《C程序设计》对于考级来说绝对是本好书。但是这本书的问题在于太纠结于语法细节,也就是说过于关注纠结于类似于文字游戏的东西,但是对于编程思想的培养做得不够,而且很多地方讲得不够深入,总感觉点到为止,没到精髓这种,而且代码风格也非常不好。

首先推荐如题所说C语言入门需要看什么新书,这里笔者拓展一下,推荐一本书和一个视频,当然书笔者是看完了,但是视频确实只是看了一点,因为视频是因为毕业工作以后当时觉得网易云课堂是个不错的平台看到的,随便看了一下,觉得老师讲课风格不错所以推荐了。这本书就是《C Primer Plus》,注意名字不要搞错了,因为还有两本名字跟这本书比较像的,不过都是C++的书。初学者学习c语言看什么书最好,零基础小白学c语言该看什么书图1这本书英文版中文翻译版都有,大家可以去买,当然如果你的英语不太差的话我建议去买英文版的来看,因为译本没办法原汁原味,有的地方翻译有一点费解。我相信普通的大学生还是有这个水平的,如果遇到少数不懂的,借助网络的力量,Google翻译、百度翻译,金山词霸、有道词典什么的都能很好的解决。这本书不纠结于抠字眼等语法细节上的问题,代码规范也较好,注重思想培养,但是书洋洋洒洒近700页,所以需要一些耐心来阅读这本书籍,但是就好想说学习就是攀登高峰,过程一定是艰难的,但是结果是美好的,等你攀上高峰以后,再回头,风景这边独好。

再一个推荐的入门的视频时网易云课堂上,浙江大学翁凯老师的C语言课程,当然笔者工作忙,再加上入门课程来说对我已经没有太大的作用,所以没听完,但是听了几个小节觉得老师的风格还是讲得很好的。虽然跟国外很多教授的课程比起来还有差距,但是在国内来说还是算不错的课程了,因为能看到思想上的东西。有了这两个课程,我相信你一定可以有一个较好的基础了,那么接下来应该做什么来提高自己呢?

笔者认为,既然讲到C语言,有一本书是不得不讲的,虽然随着时间的推移,C语言标准也在不断前进,但是这本书依然是一本非常好的书籍,她背后所蕴含的哲学,两位伟大的计算机科学家的伟大哲学思想,都是值得肯定的,并且这些学家还一手打造了unix操作系统,并用C语言重写了unix操作系统。这本书就是Dennis Ritchie和Brian W. Kernighan的《c programming language》(the second edition)。这两位科学家一位是参与了贝尔实验室的诸多关于unix和C语言的相关工作,另一位丹尼斯里奇则是和肯汤普森齐名的unix和C语言之父。初学者学习c语言看什么书最好,零基础小白学c语言该看什么书图2

如果你能坚持的把这两本书看完,你在C语言一定会有很好的收获,如果你还想学习到更多有关C语言的知识,你还可以看诸如《C陷阱与缺陷》、《C专家编程》、《C和指针》等等这些书籍来提升自己的理解力,更加全方位和深入的理解C语言这门编程语言,毕竟C语言是很多编程语言的原始模板,学好C语言对于以后学习其他编程语言也是非常有帮助的。

除此之外,要学好编程,良好的数学基础、数据结构、算法基础等等也是很重要的,你可能需要学习一些数学(尤其是离散数学)方面的知识,再就是学好算法等知识。这里笔者在推荐两门经典的课程,一门是MIT的《算法导论》这门课,在一个就是Stanford的《编程方法学》这两门课程,在网易公开课上都能找到。这两门课程笔者陪伴了几乎一个学年的大学时代,虽然到现在为止笔者都还没能全部消化掉,但是至今仍然觉得这是两门非常经典的课程,这些世界上最顶尖计算机院校的经典课程,老教授都是德高望重的顶尖教授、科学家,绝对值得你学习。

最后,笔者要再次强调的是,写代码这件事情,最重要的是实践,一定要多学习多实践,没事多逛逛GitHub、stack overflow等等站点,国内例如开源中国,segmentfault、CSDN等等站点,有时间也关注一下开源论坛,以及类似于Google的开源AI学习框架TensorFlow等等众多新技术趋向,如果你愿意跟我一样熬夜看三巨头Google I/O、Microsoft build以及apple WWDC等等开发者大会,增长自己的见识。坚持就是胜利,养成独立解决问题的习惯,还能随时关注技术动向,我相信你一定能成为一个优秀的程序员的。

入门,如果选书的话,应该选择简单易懂的书,最好薄一点,通常大学里面C语言教程都比较适合入门。一上来就《C Primer Plus》这些大部头是非常不建议的,这种书不建议通读,作为工具书反而比较合适。

学习一门语言应该是先从大体上对它有点认识,然后逐步深入。入门不要死扣细节钻牛角尖。

关键还是多练习,平时可以试想是否可以开发一些小工具来辅助工作和学习,培养程序员的思维方式。

当你能对基本语法熟悉的时候,可以阅读操作系统原理有关的书,毕竟C和操作系统是息息相关的,同时可以看看别人写的代码,自己试着调试,不明白的可以翻翻大部头或者网上搜索一下。

最后提醒,有些程序员喜欢用一些偏僻冷门的语法来表示自己的高深,请不要这样子做,第一,这样容易露怯,真正高手不需要这样的伎俩;第二,你的同事和上司会很不喜欢,这样的代码不易读,就不容易维护,甚至过了若干时间,你自己都不明白什么意思就尴尬了。高级编程语言能出现,其中一个原因就是为了避免晦涩难懂,简洁干净易懂的程序才是程序员应该写的。

本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/it/41382.html

(0)
上一篇 2023-08-31 11:53
下一篇 2023-08-31 12:07

相关推荐

  • 第三方抢票软件被限制吗,买火车票用什么软件抢票最快

    有用 最初的售票网站,一到节假日就卡爆了,那个时候外挂还不多,因为无论是人还是外挂,只要你敢频繁访问,搞得我压力大,我就404(找不到页面/宕机) 但抵不过网上售票带来的便捷,和庞…

    2023-03-09
  • 红色背景的ppt适合用什么颜色字体

    1、就中国人而言,红意味着“喜”,意味着“大吉大利”,意味着“生命、活力、热情”,意味着“胜利和收获”。红色可以对人的情绪产生强烈的冲击,引起视觉上的扩张和压迫,因此红色也有警示的…

    2023-06-22
  • 学电脑简单吗(学装电脑系统)

    简单的,为什么这么说,电脑是一个工具,电脑产生原因就是帮助你更快更好更有效的完成工作,同时电脑上有大量的娱乐内容供你玩耍!这是入门,如果电脑要学精通,那我说需要花费你很多的时间精力…

    电脑教程 2023-01-15
  • 手机拍的电脑图片怎么处理更清晰

    从题主的问题来看,照片是已经存在电脑上了,目的是想把照片再传到手机上,那方法有很多种,没必要拿手机直接对着屏幕拍,这样拍是会有“水波纹”的。现在来讲二个方法: 一、通过QQ传送: …

    2023-07-07
  • 绝地求生刺激战场训练场手雷在哪

    在刺激战场上线之初就加入了“训练场”这个特殊的玩法。玩家可以在训练场里练习枪法和驾驶技术。问题中问到的的信号枪在训练场中是不存在的,不过训练场里面还有一些其他有意思的彩蛋,我来介绍…

    2023-03-07
  • 一套鼠标和键盘怎么操控两台电脑

    一套鼠标和键盘要操控两台电脑,如果不想用因为sharemouse、Synergy等软件,那么目前只有利用一些配件来辅助完成。 其中目前最常用的办法应该是切换器和对拷线了。 首先切换…

    2023-06-28
  • 求职简历一定要有封面吗

    小白最近在修改简历的时候发现,许多同学都附有一张“个人简历”的封面,并且在上面配了各种各样的背景图片。 其实这并不意外,回忆起当年小白第一次面试的时候也给简历附上了一张可爱温馨的封…

    2023-01-22
  • 学it有什么用(学it有什么用途)

    IT这个行业太广泛了,但你要问“学IT有没有用?”我可以很负责任的告诉你,非!常!有!用! 近年来IT行业一直是一个很火的行业,如今IT行业呈现出一个明显的趋势:业内薪酬丰厚,技术…

    2023-01-26
  • 怎么把excel信息变成二维码

    条形码,我会。 先来说一下条形码的权威定义: 条形码是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条…

    2023-07-15
  • 目前阿里芯片研究团队招聘,阿里最新招聘芯片应届生

    阿里最近积极招聘芯片研发人才,你觉得阿里的芯片事业发展有前景吗?阿里的芯片目前与阿里集团的事业是紧密结合起来的,除了阿里本身的众多业务需要,阿里投资的企业同样需要。随着大数据、云服…

    2023-09-04