有块砖头 发表于 2023-10-13 01:24:12

如何学习C语言

本文主要有三部分,第一部分:如何学习C语言,第二部分:学习C语言常用的网站,第三部分:学习C语言书籍
对于C语言的学习,不同的人有不同的经历和不同的方法,当中许多方法都具备相对完整的步骤和不错的功效。然而事过境迁,多年以后回头看看走过的路,却很难理顺当初所留下的痕迹。发现很多新人学习C语言由于缺乏适当的引导,最终会很长一段时间陷入不必要的泥潭之中。写下这篇文章的出发点,希望能让新手学习C语言的时候不再那么迷惘和彷徨。掌握一个好的学习方法,往往可以事半功倍。
想窥探神秘的代码世界?最好的入口无疑就是C语言。
C语言是计算机体系结构的基础,向下可以操作硬件(包括ARM,DSP,单片机等各种微处理器),还可以写驱动,写OS,写编译器。向上可以进一步的学习C++,JAVA等面向对象语言,再学习一些图形用户界面框架,比如Qt,MFC,就可做出类似于计算器、QQ等Window桌面应用,再比如Android,就可以做出微信等Android应用,再比如Unity3D,就可以做出类似王者荣耀、刺激战场等手游。想想是不是就有点小激动呢!
那我们就脚踏实地,一步一步的走下去吧。先从如何学习C语言开始,后面的详细学习方法之后也会分享的哦。学会了C语言,就进入了计算机领域的大门,对于以后学习C++、Java等面向对象语言都大有益处。
那我们就脚踏实地,一步一步的走下去吧。先从如何学习C语言开始,后面的详细学习方法之后也会分享。学会了C语言,就进入了计算机领域的大门,对于以后学习C++、Java等面向对象语言都大有益处。
总结了学习C语言的几个步骤,其他编程语言学习方法基本类似,希望对你有所帮助。
1.看书
学习一门编程语言首先学习基本语法。
C语言的基础语法包括数据类型、运算符、表达式、数组、逻辑运算、函数、指针等。学习这些先买一本入门书籍,个人还是推荐经典的《The C programming language》,这本书是C语言之父写的,很经典的一本书。这本书对知识点的介绍都比较全面,涵盖面比较广。边学语法便敲案例,看着代码在计算机上运行起来是不是也有点小激动。这样便有了继续学习下去的动力。
C语言深入的话推荐《c primer plus》,你会发现有些地方晦涩难懂,不要被疑问绊住脚步,浪费太多时间在细枝末节的地方。C语言只是你进入新世界的第一步而已,而编程的世界远比你想象的更广阔,更有意思。《c primer plus》更适合作为一本字典使用,放在电脑旁,方便随时查阅。
我也推荐通过教学视频入门,老师会讲解重难点知识,并且进行演示,相对于看书会更容易。现在网络这么发达,有很多优质的教学视频可供利用。
2.写代码练习
想学好一门编程语言,仅仅是看书而不动手去练习是远远不够的,一定要把书里的代码搬到电脑里。
大多数人是使用Windows系统,那么就先下载一个Visual Studio吧,推荐使用VS2015。喜欢Linux的朋友,可以下载一个VMWare虚拟机,在再虚拟机中安装Ubuntu等基于Linux内核的操作系统,然后再安装gcc,gdb。
安装好开放环境之后,就可以开始愉快的敲代码了
试着写一些简单而有趣的代码,比如 Hello World,文件读写,逻辑运算、常用算法等等。推荐的做法是把书中的例子,完全自己手动敲一遍,找找感觉,这个很重要。
3.总结心得体会
把自己觉得抽象难懂的程序放到VS中跑一跑,调试一番,会有很多发现。很多代码在调试之后就能理解,会有一种恍然大悟的快感。我以前电脑里就经常会有一个Test工程文件夹,哪里有疑惑,就把代码放进去,一Debug,全部疑惑就解开了。
然后把这些总结整理起来,这样知识就变成自己的了。推荐使用印象笔记进行记录,很方便,随时可以查阅。
4.写一个小作品
基本知识掌握的差不多了,试着写个小程序。比如:计算器、打字游戏、图书管理系统等。
看着人生第一个自己开发的程序,会有很大的成就感。而且在写程序的过程中,你的编程能力也会得到很大的提升。
计算器、打字游戏、图书管理系统控制台程序我都写过,当时是作为课程设计,真的是成就感满满。
最后总结:
写代码练习,写代码练习,写代码练习,重要的事情说三遍。
C语言编程学习必备的一些网站
国外的:
1.https://www.google.com 基本上所有的问题都可以在这上面找到答案,但是访问需要点技巧。
2.http://stackoverflow.com 有干货的地方。代码遇到相关问题经常被导到这个网站去,回答质量很高,排版简洁清晰。
3.http://github.com 最大的开源中心,项目五花八门,从华贵绚丽的界面到低调实用的小类库,应有尽有。需要睁大眼睛慢慢挑,适合英语好的。Ruby和Javascript的项目尤其多。
4.http://codecanyon.net 初次看到这个网站,小伙伴们表示都惊呆了。原来代码也可以放在网上卖的?!!很多coder上传了各种代码,每个代码都明码标价。看了下销售排行,有的19刀的卖了3万多份,额di神啊。可以看到代码的演示效果,真的很漂亮。代码以php、wordpress主题、Javascript、css为主,偏前台。
5.https://www.lintcode.com/ 算法学习网站,上去每天刷两道算法题,走遍天下都不怕。
6.https://www.freecodecamp.org/ 这是国外发起的一个 Web 开发学习的网站,从简单到深入,一步一步带你学习 Web 开发。就像一本练习册,并且当你完成相应的内容后,会得到相应的资格认证。
7.https://www.codecademy.com/ 包含在线编程练习和课程视频。
8.https://www.reddit.com/ 包含有趣的编程挑战题,即使不会写,也可以查看他人的解决方法。
9.https://ideone.com/ 在线编译器,可运行,可查看代码示例。
10.http://it-ebooks.info/ 大型电子图书馆,可即时免费下载书籍。

国内的:
1.http://csdn.net 国内的程序员入门级网站,内容很多很杂,包括论坛、资源下载、博客、各种资讯等等。经常只在这个网站找到稳定的资源下载。
2.http://oschina.net 国内最好的开源社区,在这里讨论问题的氛围挺不错的。创始人红薯也很热心,更新很即时,经常看到新出的开源项目在这里有翻译介绍。
3.https://cnblogs.com 个人觉得国内比较好的技术博客网站,总体质量比 CSDN 好。
4.https://zhihu.com 有一些编程的专题还是不错的,还多牛人在上面分享编程经验及个人长大。
5.http://segmentfault.com 国内版的stackoverflow,90后的作品,已经积累了不少中文问答,人气还有待提高。
6.https://www.runoob.com 自己的网站,内容丰富,新手可以作为入门指引,高手可作为手册使用,支持移动版,地址为:https://m.runoob.com
7.https://www.infoq.cn/infoQ 内容比较有技术深度,很多大公司的架构上面都有介绍,很多实战经验非常值得借鉴。
8.https://juejin.im掘金,一个高质量的技术社区,从 Swift 到 React Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。
9.https://www.v2ex.com/V2EX 是一个关于分享和探索的地方,上面有很多各大公司的员工,程序员。你想要的应有尽有。
10.https://www.nowcoder.com 面经和刷面试题,各个公司的面试题和面经分享,找工作前认真刷一刷,一定会有很大收获!拿到心仪的 offer!
11.https://www.proginn.com/ 程序员客栈是领先的程序员自由工作平台,如果你是有经验有资质的开发者,都可以来上面注册成为开发者,业余的时候做点项目,赚点零花钱。
C语言从入门到精通所需的7本书
1. C Primer Plus


http://pic1.zhimg.com/v2-e335c153a76b1e0ec0e76dad01e077a8_r.jpg
C Primer Plus作为一本被人推崇备至的c入门经典,C primer plus绝非浪得虚名。应该算得上C教材里最好的入门书了。

在知识广度上,很少有书能匹及。它能为你系统学习c提供一个良好的平台。作者对c的见解精辟。在娓娓叙述的同时,作者辅以大量程序以分析。它让我对C有了更加系统的全新认识。决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。书很厚,近700页,却不没有让我觉得任何的烦琐。甚至是兴趣盎然。我把上面所有的课后题目都做了。

最为重要的是,看完这本书后,我再也不觉得c很高深枯燥无味了。如果你问我,你最大收获是什么。 我会告诉你,兴趣!
2. The C programming language

http://pic4.zhimg.com/v2-fec2281ba172c59448303e7ebf5d5557_r.jpg

拿到这本薄薄的书,很多人开始怀疑,C语言是这么几百页能讲清楚的么。看完这本书,我想答案已经很明了,却真的让人感到震憾。什么是好书?无法删减的书才是真正的好书。K&R的书一如C语言的设计理念:简单而高效 里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux 相关的 计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统。

3. C和指针

http://pic1.zhimg.com/v2-5b0489ce717c7c20c696bf1922b8b030_r.jpg

这本书最大的特点就是和指针结合在一起进行讲解,通过一些经典的C例题对所学的知识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解C语言,还有明白C的存储机制。我之前买了《C语言详解》和《C Primer Plus》结合这本书一起学习,可以说是完美的,希望每个热爱C语言的人能够拥有这本书。
我在这里推荐给所有想学好C语言的朋友!

4.C专家编程

http://pic1.zhimg.com/v2-2b55f157d76bd4ce035ad6cdf66bc2fc_r.jpg

感觉这本书的特色:

a.全书如一部优美的故事,但听作者娓娓道来.

b.语言风趣活泼,除了c语言,还教会了我们很多做人做事的道理.

c.作为Sun公司的工程师,内功极深,不迷信任何权威,还经常调侃下 ANSI C委员会,ISO组织和GNU的作品(如GCC).

d.把c讲解到了一个很高的层次,深入剖析了其他书上没有提到过的好东西.
5. C缺陷与陷阱

http://pic3.zhimg.com/v2-440b70b01e01e57ebba6d3dc182d950a_b.jpg

很好的书,不是初级读物,但也不过于艰深,而且厚度刚刚好,让人在热情高涨阶段读完,不致于到了一半时间就气馁。

对于C程序员来说,特别是对于入门没多久,有过一段时间编程经验的新手来说,是本很少的书。告诉你在c语言编程时常常可能会遇到到问题。例如老的库函数中字符串处理函数中存在的一些问题,如何规避。指针越界,野指针等带来的问题等等。非常值得阅读。

6. C标准库


http://pic2.zhimg.com/v2-2073a7ee6f0de85028d5ce0d3bc1139d_r.jpg

C标准库“圣经”,提供完整源代码,全面深入阐述库函数的实现与运用。C程序员必备参考书。本书是由世界级C语言专家编写的C标准库经典著作。英文版已经重印十多次,影响了几代程序员。
本书结合C标准的相关部分,精辟地讲述了每一个库函数的使用方法和实现细节,这正是一个真正的C程序员所必须掌握的。更重要的是,书中给出了实现和测试这些函数的完整源代码。可以让你更深入地学习C语言。不仅如此,本书还讨论了一些即使是最有经验的C程序员通常也不熟悉的知识,比如国际化和独立于区域设置的程序的编写、与构建库相关的概念和设计思想。

7. C语言解惑

http://pic4.zhimg.com/v2-12c1b5a0a499964b017956fe41dc0537_r.jpg

就内容而言,本书不深,适合初学者加深一下,或者作为学习的辅助资料。内容也不多,不会引起恐惧。学编程语法是必须,更重要的内容是学会语法以后要多读别人的思想。而且本书的编排比较有趣,虽然内容不多,但处处精华,需要多想想才能体会作者深意。

im286user 发表于 2023-10-13 01:24:45

这个学习路线很赞同[赞同]

duck25 发表于 2023-10-13 01:25:08

关注一下,后面持续会分享技术文章。

pasu 发表于 2023-10-13 01:25:31

mark

senholy 发表于 2023-10-13 01:26:25

感谢感谢

扇公子 发表于 2023-10-13 01:27:09

给力

IAM0 发表于 2023-10-13 01:27:58

感谢感谢

xhymqe 发表于 2023-10-13 01:28:54

很详细,[赞一个]

初吻献给了奶头 发表于 2023-10-13 01:29:42

一起加油。

呵呵! 发表于 2023-10-13 01:30:05

不错,先收藏了
页: [1] 2
查看完整版本: 如何学习C语言