IE盒子

搜索
查看: 196|回复: 20

C语言学习路线

[复制链接]

5

主题

14

帖子

30

积分

新手上路

Rank: 1

积分
30
发表于 2022-12-5 12:00:53 | 显示全部楼层 |阅读模式
很多评论指出谭浩强的《C程序设计》一书缺陷很多,我重新翻了翻这本书,另外看了看知乎问题【为什么这么多人黑谭浩强的C语言教材】,发现自己也被这本书带坏了不少(惭愧,当年自学完全没发现),所以推荐书目做了点修改。
<hr/>半年来的学习,也算有了初学者对C语言的一些感悟,我在此做个总结,对初学者给予一定的引导,少踩一些坑,提高学习效率。
从基础开始

C语言的学习资料有很多,网上随处可见,但这些资料对没有方向的初学者来说很不友善。我列出了自己学习C语言的过程和资料。
精读这几本书:

  • KennethA.Reek的《C和指针》:这本书不仅对C语言相关知识的全面和深入讨论,还针对C语言的难点“指针”进行了专门的分析。(评论中发现的一本好书,值得推荐)
  • Stephen Prata的《C Primer Plus》:国际上基本是以这本书为C语言入门书籍,有中文版。这本书既简单易懂,又有一定的深度。
略读这几本书:

  • K(Kernighan)&R(Ritchie)的《The C Programming Language》:这本书是C语言创始人写的C语言入门书籍,虽然有点老,但是读一读对C语言的精髓有更好的理解。
  • 《the standard C library》:这是C语言进阶书目了,如果你想深入了解C语言库的具体实现,这本书值得一读。
跟完教学视频:

  • C程序设计上/下:李凤霞教授的授课,中国大学慕课网上可以免费观看,如果觉得看书有点难以理解,那么这些视频就毫无难度可言了,只要认真跟完这期视频,完成相关练习,C语言轻松拿下。
多做OJ题:
编程不敲代码是不行的,我推荐几个online judge系统方便初学者做题:

  • 北大的OpenJudge
  • 浙大的ZOJ
经典C语言题目:
个人整理了一些遇到的经典C语言题,不多,但都足够经典。如果这些题都能做出来,C语言也就掌握的差不多了。(对于有价值的题目我也会写上一些文章来专门介绍)

  • 求解一元二次方程:掌握基本语法,流程控制
  • 数组排序:掌握七大排序算法

  • 贪吃的猴子 :掌握递归算法
  • 汉诺塔问题:掌握递归算法

  • 小蜜蜂 :掌握迭代算法
  • 分数的四则运算 :掌握分子分母的结构处理
  • 零钱换整钱 :掌握暴力循环
  • 数制转换 :掌握数制原理,数制之间关系
  • 扫雷 :掌握数组用法,基本数组数据处理方法
  • 求最大公约数 :掌握常用算法:辗转相除法
  • 拱猪计分 :综合应用题,熟练编程的多情况分支处理,结构体运用,函数调用
  • 链表排序 :掌握指针以及其应用链表
C语言练手小程序:
C语言的命令行不适合写游戏,但下面的几个小游戏可以尝试下,可以参考参考我的源码,互相交流
贪吃蛇:获取程序和源码


五子棋:获取程序和源码


扫雷小游戏:获取程序和源码


飞机大战
2048:获取程序和源码


推箱子
坦克大战
读一读计算机概论

在学C语言的同时可以看看计算机概论相关的书籍,这类知识对计算机小白非常重要,好好理解里面的概念对今后学习有很大的帮助。
推荐这几本书:

  • 布鲁克希尔的《计算机科学概论》
  • 佛罗赞和莫沙拉夫的《计算机科学导论》
数据结构和算法

这部分知识相当于C语言的进阶知识啦,而且这些知识对所有语言是通用的,把它比作编程语言的灵魂毫不为过。
推荐这几本书:

  • 彭军和向毅的《数据结构与算法》
  • 程杰的《大话数据结构》
跟完教学视频:

  • 数据结构:浙江大学的国家精品慕课视频,里面的配套练习非常丰富,对小白也非常友好。
多做OJ题:
有关数据结构和算法的Online Judge都是有一定的难度的,想要搞ACM的话推荐几个Online Judge系统。

  • 北京大学的Online Judge
  • 杭州电子科技大学的OJ
经典数据结构和算法题:

  • 逆波兰算术表达式 :栈的运用
  • 二叉树前序/中序/后序遍历:二叉树的遍历
  • 合并果子 :堆(二叉树的一种)的运用
  • 贪吃蛇最短路径寻食:广度优先搜索算法(用到队列)
  • 贪吃蛇最快路径选择:深度优先搜索算法(用到栈)
  • 遗传算法计算函数零点:用到遗传算法的思想
安利几个实用网站和工具


  • 鸠摩搜索:电子版书籍下载网站,找不到资料的小伙伴们注意了
  • BooKSC:免费论文、书籍下载网站
  • 在线Matlab:在线版的Matlab,很实用
  • DevCpp:简易C语言编译器
  • 在线编程网站:支持多种语言的在线编译器
  • pixabay:免费的图片素材下载网站
<hr/>长期更新,共同进步。
所有的相关书籍、游戏代码、算法代码、编程工具都已经放到群里面了,有需要的话自提。
QQ群:725438145(该群用来探讨最佳的编程学习路线,有什么学习经验大家都可以畅所欲言)
回复

使用道具 举报

2

主题

12

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2022-12-5 12:01:36 | 显示全部楼层
刚刚简单看了下目录,这两本书也很不错的。对初学者来说,一本易懂详尽的入门书很重要,我列的几本书都是业界比较认同,有时间积累的,而且本人也是从这几本书开始入门的,觉得非常适合。欢迎有不同意见•ᴗ•
回复

使用道具 举报

4

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-12-5 12:02:28 | 显示全部楼层
萌新正在啃Cpp...已经啃了一半了,看到这条评论感觉有点凉凉,不过还是决定继续认真啃完...
回复

使用道具 举报

2

主题

12

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2022-12-5 12:03:08 | 显示全部楼层
谭浩强的我不推荐。
回复

使用道具 举报

1

主题

10

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2022-12-5 12:03:50 | 显示全部楼层
请问字符数组指针这一块怎么学,感觉好乱啊…
回复

使用道具 举报

1

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-5 12:04:16 | 显示全部楼层
谭浩强在哪哪(尤其知乎)都被黑惨了..咋还推荐呢
回复

使用道具 举报

3

主题

8

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-12-5 12:05:10 | 显示全部楼层
啃cpp总比谭浩强好,可以啃的
回复

使用道具 举报

1

主题

6

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-12-5 12:05:26 | 显示全部楼层
已经做了修改
回复

使用道具 举报

2

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-12-5 12:05:32 | 显示全部楼层
已经做了修改
回复

使用道具 举报

0

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-12-5 12:06:21 | 显示全部楼层
二刷C primer plus...
C++ primer plus刷到类的应用那一块。
数据结构的话能完全靠自己实现链表栈队列。
算法的话刚开始学bfs...
感觉算法挺难学的,我想请教一下如果考虑以后就业的话(虽然我才大一...但是未雨绸缪),我应该继续啃算法还是学学别的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表