您的位置:首页 > 编程语言 > C语言/C++

学习C语言从小白到专家你只需要这一篇博客-史上最全C语言学习资源整理

2020-05-10 04:16 961 查看

C语言资源整理

写在前面:这里是小王成长日志,一名普通在校大学生,想成学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人,平时博客内容主要是一些系统的学习笔记,项目实战笔记,一些技术的探究和自己的一些思考。欢迎大家关注,你们的每一个评论点赞关注我都会仔仔细细去看的。有任何问题欢迎交流,我会尽我所能帮助大家的,共创CSDN美好环境。

0.怎么去学C语言

很多人都说C语言很难很难,知乎还有各大论坛一大批劝退党,其实,你如果仔细去看看,啥都难,计算机网络难,数分难,高代难,我感觉只要还有人在学的学科,都会有劝退党,肯定有人学不好但也肯定有人学得好的,所以对待这种论调别理会当个屁放了就好了,为什么你不能是学的好的那个。

再来说说为什么有人学不好C语言,C语言中可能最让人头疼的点就是内存和指针这两块了,这两个概念本身很简单。但是通过这两个概念,它把很多底层操作系统的知识和体系结构的知识都暴露了出来。例如什么事栈,什么是堆,什么是代码区,什么又是静态区,他们各自又有什么特点,内存什么时候自动回收,手动回收,我们怎么管理内存,强转时什么情况会造成溢出一大堆事情。但是不要慌!跟着我来,这些都是小事情。

学习C语言或者说任何一门语言我的建议都是快速入门然后做一个新手项目,做完总结之后二次深入学习,再做项目总结,总共这样来个三四次你C语言基本就没有什么问题了。

我建议可以看下面的菜鸟教程或者C语言中文网上的入门教程,看得快的话两三天就结束了,你要喜欢看视频课也可以去看老九学堂的课程,或者慕课上的任意一门都差不多,反正第一次看完就忘的差不多的那种,没什么大的区别,快速入门之后做一两个新手项目,我的推荐是下面提到的后宫选妃系统和精忠报国文字游戏,不会做的话可以去看老九C语言里的视频教程,也可以看我当时的博客笔记,都整理在下面。

快速入门之后就可以开始深入了,这是我推荐看书,看好书!因为有的书里讲的乱七八糟,自己都把自己搞混了还来教别人,我当时在网上找了好久,下载了有十来本书吧,最后选定了5本,现在看了三本,资源也都整理在下面,当然你也不一定需要跟我一样,可以自己去找自己想看的书。
这个阶段完成后可以来做一个难一点的项目了,基本参照本科学期C语言设计作业来做吧,做个学生管理系统什么的,真的不是很难。

对于GITHUB一开始不太推荐,真想要接触的话可以去hellogithub找找项目,网站作者分门别类整理好了各个语言里经典的github项目。为什么不推荐,因为这些项目里大多涉及了图形化开发,计算机网络,socket很多的其他知识,而C语言又不像JAVA那样有直接的类库可以套用,不是你会C就可以开发的,这些点基本都需要你再去学习,很拖C语言节奏。

最后的最后,多看书,多看好书,少看培训视频,项目驱动,即时总结复盘,以上,冲吧,少年!

1.学习资源-自学网站

这套文字教程比较简单,适合需要从零开始了解 C 语言的同学,学完之后能够让你对 C 语言有足够的认识。同时菜鸟教程有自己的在线编辑器,可以边看边试,比较推荐。

这套C语言中文网的文字教程很全面,很多,目录基本就和上课一样,但是许多部分都需要开会员才能看,所以对于这一套教程我的建议就是作为一个补充,当遇到自己不会的或者比较困惑的点的时候,可以来这换个口味尝试一下,没准就可以了。

一个培训机构免费公开出来的课程,课程里面包含了两个项目,真的蛮有心的,但是不推荐看视频,效率太低而且许多点并不会讲的很透彻,书真的是个好东西。

慕课上也是有很多好的课程的,真的除了上课别的什么办法都没用的话,那还是取慕课上找C语言的课程吧。

2.C语言难点-推荐博文

注:以下博客都是我自己看过或者就是我自己写的,基本包含了C语言中迄今为止我认为的难点,质量有保障!如有推荐欢迎留言,我会一直更新的。有关作者如果不希望我放您的链接的话可以留言。
也可以关注或者我的C语言收藏夹,我会持续更新的。

  1. 让你不再害怕指针——C指针详解(经典,非常详细)

很详细也很好的一篇文章,但是文章里面直接把一些不同的概念等同了,需要自己注意一点,总的来说看这篇文章利大于弊,毕竟60分都没有的时候就不要去想90分之后的事情了。

  1. 我们该如何对付花里胡哨的运算符优先级©

论如何对付花里花哨的运算符优先级,表格加助记顺口溜。

  1. 原码,反码,补码,到底是个啥? -?,你来这看看吧。
  2. 别看了!C语言里的unsigned int/char 看我就够了
  3. C语言实现动态数组
  4. C语言动态数组

众所周知,在C语言里数组的大小是固定的,要么用常量定义长度要么手动输入一个数字作为长度,那么我们怎么实现动态数组呢,即随着数据的增加动态的扩容数组的长度,具体请看上面两篇文章。

  1. NULL,(void*)0,(void)0,nullptr区别
  2. C语言之大小端详解

你一定得知道的东西,如果你连这都不晓得该好好学C语言了。

  1. C/C++——程序的内存分配
  2. 十大排序算法基本思想,动画演示及其C语言实现

有些博客里里的代码是有问题的,我看的时候真的好无语,但这篇是我自己写的,经过测试,可以放心食用。

  1. C语言常见问题集锦【你必须知道的495个C语言问题】

3.C语言经典必读书籍

注:下面三本书是我看过的最好的三本C语言里的书,超级推荐,我感觉看这三本就够了!如果百度盘失效可以留言或者私聊我补发

  • The C programming language

C语言圣经级著作,但如你所想,这是本大大大部头,反正我是只看了一大半就看不下去了,建议身边备一本,电子版也得,当工具书用。

  • C专家编程

吹爆的一本C语言书籍,里面对指针,数组,内存,编译这些点的讲解真的让人醍醐灌顶,但如其书名,不适合小白入门使用,如作者在书序里说的,适合当做第二本C语言书籍,真的超棒!

  • C语言常见问题集

书中从声明、结构体等几乎C语言涉及的方面分门别类地罗列了一大堆可能出现的问题,基本是以问题加解析的形式,有时间的时候可以看看。

注:以下提到的书籍我自己并没有看过或者只是试看过部分,是根据知乎和简书上的讨论整理出来比较经典的关于C语言的书,如果是选书的话基本可以从这选了。

  • C程序设计语言
  • C和指针
  • C陷阱与缺陷
  • C Prime Plus
    百度云:链接:https://pan.baidu.com/s/1V3AFfxlRCQFT929U23EUQg 提取码:ko31
    上面的书基本都在里面了,如果失效请私聊。

4.C语言项目资源

关于项目在网上可以找到很多,但大多数都要付费,这里放几个免费的项目,项目一二个是我做过的,源码可以找到,其余的是其他平台的免费项目,可以跟着做,很不错的。

项目资源

这两个项目在下面的百度云链接里可以找到源码,如果不会可以去看 老九学堂 里关于这两个项目的讲解的那一部分,个人感觉很适合新手,加油。

这四个项目都是平台实验楼上的免费课程,可以跟着课程一起完成。

  • 贪吃蛇

基本说到C语言项目都会说到的一个小游戏项目,比较简单,主要是数组的妙用,源码也在百度云链接里可以找到。

项目笔记(系列博客)

下面是我当时做项目时写下的博客笔记,里面有一些常见的坑可以供参考,如果有问题也可以私信我。加油。

百度云:链接:https://pan.baidu.com/s/1EO9UEKY5LJGXhz2osU04uQ 提取码:rwvi
我有的项目源码都在里面了,如果失效请私聊。

问:学习C语言最重要的是什么?
答:是坚持,是行动。不是你存满一个收藏夹的文章,放满一个硬盘的资源就结束了的,那反而会加大一个人的焦虑,所以时常清理一下自己的收藏夹,做事,做少事,但要做精!这也是我这里并没有像其他教程那样给你推个几十个课程,几十本书,那没有意义,沉淀下来,别被现在的浮夸风给影响了,克服一下自己的松鼠症,千里之行始于足下,心怀大志但要脚踏实地,各位,加油!

都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
有事没事进来看看吧 : 小王的博客目录索引

北海以北没有小王 原创文章 32获赞 861访问量 3万+ 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: