分享

聊聊我是如何编程入门的

 C语言与CPP编程 2021-12-15

对于编程而言,可以做项目就算编程入门了,做到以下四点我觉得就可以入手做一些项目:

  • 需要掌握至少一门编程语言,例如,C/C++或者Java;
  • 需要学习数据结构与算法,至少掌握常见的数据结构与算法;
  • 需要学习数据库知识,因为做项目几乎离不开数据库,数据库必须掌握;
  • 掌握一门技能,例如后端开发、web开发、移动端开发、人工智能等;

当然上道后,还需要进一步精进,可以学习操作系统,计算机网络,计算机组织原理、汇编等相关专业课程。

程序员相关的海量资料,点击免费获取

就我个人而言,本科是电子信息专业,读研是通信与信息系统,在计算机学院,也不完全是计算机专业,读研的时候自学转计算机,现在做C++后台开发。

C语言

刚开始就是泡书,然后就是抄代码,上机调试,模仿修改,看n遍,量变引起质变就会培养出编程思维!!!

第一本书《C程序设计语言》,机械工业出版社,作者Brian W. Kernighan / (美)Dennis M. Ritchie。C语言之父写的,入门经典书籍,建议大家作为C语言入门的第一本书。

《C Primer Plus》 ,人民邮电出版社,作者Stephen Prata。
可以作为C语言工具书,也可以作为入门,内容循序渐进,能够锻炼编程思想。

《C和指针》
深入了解指针,看完以后对指针不再害怕。

《C陷阱与缺陷》
正如书上所说,“本书所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug”,看完后可以避免C语言开发的一些坑。

C语言入门视频:

  1. 《郝斌C语言自学教程》

https://www.bilibili.com/video/BV1os411h77o?from=search&seid=15026475169248378667

  1. 《程序设计入门——C语言》(浙大翁恺)

https://www.bilibili.com/video/BV1ME411h75N?p=45

Windows开发


《Windows程序设计(第5版 珍藏版)》这本书其实是工作后做项目的时候才开始看的,这本书主要介绍Window系统桌面软件的开发,作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,想了解和从事这方面开发的同学可以看看。看过这本书,你会对你电脑上用到的软件有一个更深的体会。窗口是怎么出来,菜单点击后是怎么处理的,动画是怎么绘制的,软件又是怎么和操作系统通信的,看完这本书你通通都会知道。

Linux

《Linux程序设计》是我的Linux编程入门书籍。本书以简单易懂、内容全面和示例丰富而受到广泛好评。

《鸟哥的Linux私房菜》,也是Linux入门书籍。是中国人写的,是一个中国人真正了解了这个系统,然后按照中国人的思维习惯写出来的书,所以容易理解。

C++

C语言->C with class -> C++;

由C++的演变可以看出来,C++刚开始就是带类的C语言,C语言和C++的关系到底是什么呢?

看过侯捷老师的视频或者《Effective C++》这本书就知道,现如今我们提到C++,都应该视其为一个庞大的「语言联邦」,最起码包含如下几个重要的组成部分:

  • 面向过程编程
  • 面向对象编程
  • 泛型编程
  • 元编程
  • 函数式编程
  • STL标准库

其中「面向过程编程」,正是C++提供的向后兼容C语言的部分。

C++演化(C++ 98 ->C++ 03 -> C++ 11 -> C++ 14 -> C++20 -> … )

C++由C++语言和标准库构成,随着演变,C++语言越来越复杂,标准库就尤其重要,因为使用标准库才更有生产力!

《C++ Primer中文版》本书面向C++语言的初学者,是一本很友好的自学教材。作者把C语言的基础概念和需要注意的编程细节说得很清楚,并且例程和习题丰富,相信认真读过之后,可以完成C语言入门这个目标。

《高质量程序设计指南》,墙裂推荐,这本书看得比较过瘾,书里面有一些编程规范的东西,对于写程序的人来说,还是不错的,可以培养好的编码习惯,加深了一些知识的巩固。比较实用,也适合面试前看看。

《Essential C++》是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C++编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到C++的函数和结构,也会学习到它们的设计目的和基本原理。


《More effective C++》,该书围绕55条准则,每一条都介绍了一个可让你写出更好的C++程序代码的方法,并以特别设计过的例子详加讨论。

《C++ Templates中文版》,深入了解现代c ++模板的实用书籍。本书不仅是对C ++模板的权威解释,而且本书还深入地介绍了其他一般的C ++思想。

《STL源码剖析》详细地了解STL的底层实现机制,同时也可以对常用数据结构,C++内存管理拥有更深的理解。

其实还有《The C++ standard library(C++标准程序库)》、《C++并发编程实战》、《Thinking in C++(C++编程思想)》等,介绍的这些书我都买了,不过说实话,后面的几本都是泛泛的看了下,都没有认真学完。最后推荐三本最近微信读书上正在看的书。


《提高C++性能的编程技术》,本书认为20%的性能缺陷将会占用我们80%的时间。因此我们把精力集中在最有价值的地方。本书详细讨论了临时对象、内存管理、继承、虚函数、内联、引用计数以及STL等一切有可能提升C++效率的细节内容。无论你是相关领域的从业人员,还是C++程序设计爱好者,或者是渴望突破编程瓶颈、大幅提升自我修为的程序设计爱好者,本书都必将使你获益良多。

《从缺陷中学习C/C++》从本质上来说,这就是一个C/C++的错题集。全书中包括63个问题引发的错误,即书名中的缺陷。也是避坑指南。

《用地图看懂世界格局》,这个有点跑题,不过我觉得这本书还不错,就推荐给有兴趣的小伙伴。

视频

  1. 清华大学-郑莉-C++语言程序设计(基础篇)

https://www.bilibili.com/video/BV1PA411b75a?p=92

  1. 侯捷老师的八部曲:

https://github.com/tangtangcoding/C-C-

  1. QT视频教程

https://www.bilibili.com/video/BV1jK4y1m7d4

数据结构与算法

比较系统地学习数据结构的话,推荐看《大话数据结构》、《算法(第4版)》和《数据结构与算法分析》。

如果刚接触数据结构的话,可以从《算法图解》、《我的第一本算法书》入手。

视频

  1. 郝斌数据结构

虽然比较老,但是讲的比较详细,容易理解,对初学者非常友好。

https://www.bilibili.com/video/BV1Ut411a7rN?from=search&seid=14411767501116137153

  1. 数据结构-浙江大学

课程是由陈越与何钦铭共同录制,b站与慕课网都有,慕课网比较清晰一些

https://www.icourse163.org/course/ZJU-93001?from=searchPage#/info

  1. 数据结构与算法基础

课程由青岛大学王卓老师录制,非常适合考研,讲的题比较多。

https://www.bilibili.com/video/BV1nJ411V7bd?p=1

多动手

动手去做,动手去做,动手去做。重要的话说三遍。

动手包括撸码,还包括"多画"

要边学习边画图。因为对于数据结构中的存储结构来说,尤其是树结构和图结构,存储结构确实比较复杂,仅靠空间想象难免会有披露,而通过亲手画图往往能避免很多“坑”,后面关于数据结构与算法的文章中,我也会加入一些动图。

把数据结构图形化,视觉化。在直觉上感受一个数据结构是什么样子的。使用它是什么感觉,抽象上和具体实现上是什么样子的。这就是最重要的事情。并且无论是对于简单的队列、栈还是平衡树都很重要而且有效。把数据结构画出来,在你的脑袋瓜里面就能想象出来,总之,你需要做的就是,直观的去了解这些数据结构。

在学习某些算法时,也可以借助画图来加深自己的理解。可以边阅读代码边画图,这样可以更快理清代码的实现逻辑。

在通过“多画”实现理解存储结构和实现逻辑的基础上,初学者还要“多撸码”编写实现代码。对于某一种存储结构或者算法,没有 3 遍以上自己独立的实现过程,是很难做到融会贯通的。

另外,可以在leetcode和牛客网多刷题。

数据库

MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷

https://www.bilibili.com/video/BV12b411K7Zu?from=search&seid=2779357081480449466

计算机网络

  1. 计算机网络微课堂

https://www.bilibili.com/video/BV1c4411d7jb?p=1

  1. 韩立刚计算机网络 谢希仁 第7版

https://www.bilibili.com/video/BV1gV411h7r7?p=1

计算机组成原理

  1. 计算机组成原理 清华大学刘卫东 全58讲 国家精品课程

https://www.bilibili.com/video/BV1c4411w7nd?p=1

  1. 计算机组成原理(哈工大刘宏伟)135讲(全)高清

https://www.bilibili.com/video/BV1t4411e7LH?p=1

操作系统

  1. 操作系统(哈工大李治军老师)32讲(全)超清

https://www.bilibili.com/video/BV1d4411v7u7?p=1

  1. 2020 南京大学 “操作系统:设计与实现” (蒋炎岩)

https://www.bilibili.com/video/BV1N741177F5?p=1

最后

最近发现的一个宝藏资源分享给大家,点击领取

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多