加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

C 语言与 C++ 学习路线、书籍、视频推荐和资料,值得收藏!

发布时间:2022-12-08 13:34:50 所属栏目:Unix 来源:网络
导读: C 语言
有人说:“C 生万物,编程之本”,这一点都没有错!
C 语言是最接近计算机的语言,很多时间,我们都会发现,C 语言是非常有必要学习的。
刚开始就是泡书,然后就是抄代码,上机调试

C 语言

有人说:“C 生万物,编程之本”,这一点都没有错!

C 语言是最接近计算机的语言,很多时间,我们都会发现,C 语言是非常有必要学习的。

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

数据类型、变量、内存布局、指针基础;字符串、一维数组、二维数组;一级指针,二级指针,三级指针,N 级指针概念,指针数组和数组指针;结构体、文件的使用;动态库的封装和设计;函数指针回调函数;.....看完这个刷题笔记与代码规范,距大厂又近了一步!值得收藏!60个适合练手的C语言/C++项目,值得收藏!书

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

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

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

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

C 语言入门视频:《郝斌 C 语言自学教程》

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

C++

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

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

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

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

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

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

面向对象编程思想:

类的封装,构造和析构、静态成员、对象管理;类的构造(有参构造函数、无参构造、拷贝构造、默认构造函数)和析构;对象动态管理、友元函数、友元类、操作符重载;C++编译器对象管理模型分析;类对象的动态管理(new/delete);友元函数和友元类;运算符重载(一元运算符、二元运算符、运算符重载难点、项目开发中的运算符重载);类的继承、多继承及其二义性、虚继承;多态(概念、意义、原理剖析、多态案例);虚函数、纯虚函数、抽象类(面向抽象类编程思想案例);函数模板、类模板,模板的继承;C++类型转换;C++输入输出流(标准 I/O 文件 I/O 字符流 I/O);C++异常处理(异常机制、异常类型、异常变量、异常层次结构、标准异常库);C++核心编程_打造你的核心编程技能

C/C++开发进阶这一阶段的目标才是达到 C/C++软件工程师开发行业的基本要求,这个阶段是我们走向 C/C++开发的进阶之路,更是一个让自己找份薪水比较体面的工作的筹码。

如果在此部分遇到不懂的或者没有见过的知识点和名词,可先将本文收藏,供以后细细研读。

那么这个阶段,我们又应该掌握什么呢,继续往下看:

1.C++进阶之 STL

STL = Standard Template Library,即标准模板库。这是提高开发效率的极品工具。通过学习此阶段,应掌握泛型编程技巧,理解容器类在 C++语言中的应用模式,以及熟练掌握全部 STL 类的使用方法。

2.C++进阶之设计模式

决定一个项目成败最重要的因素是项目总体的设计,通过本阶段的学习,可掌握面向对象编程中重要的一环,是编码前建模的技巧所在。单例模式;工厂模式;代理模式;迭代模式等,这些都是你要掌握的哦。

3.C++进阶之数据结构基础

这是所有编程语言中最应该学习的部分,程序组成的基础之一。顺序存储、链式存储、循环链表;双向链表、栈(顺序和链式)、队列(顺序和链式);栈的应用、树基本概念及遍历、二叉树;排序算法、并归算法、选择、插入、快速、希尔。

4.C++进阶之 UI 界面开发

掌握 QT 类库构架,图形界面开发模型;掌握 QT 开发技巧,消息机制,图形处理;掌握 QT 网络编程,UDP,TCP 使用方式;掌握 QT 文件处理方式,序列化;掌握 QT 在 windows,linux,ios,android 不同平台下的移植技术。

5.C++进阶之 Unix/Linux 网络服务器

掌握 Unix/Linux 平台开发方式;熟练使用系统调用;熟练 Unix/Linux 内存管理,进程,线程调度;熟悉网络服务器开发方式,熟练编写 TCP,UCP 网络服务程序;掌握同步/异步 IO 模型在网络编程中的使用方式。

6.C++进阶之数据库开发

掌握 SQL 语言的实用技巧。Oracle,MySQL 数据库的使用方式。

如果你能熟练掌握以上列出的技能,具备解决复杂问题和技术难点的能力,而且你能独立开发一些比较复杂的功能模块,那么很荣幸地告诉你,你已经达到中级水平,薪资过万对你来说简直是小菜一碟。

C++开发高级

读到此处的你,相信你有更高的目标。即是当下炙手可热的全栈开发工程师,既晓前端,又通后台。快速定位问题,解决问题对他们来说已是小菜一碟unix入门经典,就是人们常说的神秘大牛,只在公司技术攻关的时候才会才看到他们的身影。

此阶段软件开发工作所需的知识和技能相对较难,高级软件工程师编码熟练度和规范性需要达到一定要求;具备一定的项目能力(包括调试能力、文档编写能力、测试能力等)和综合技术素质(包括对软件生命周期的理解、对设计模式的理解、必备的行业知识和经验等);.了解主流的后台技术和前后端协作方式,能从全局角度理解项目的整个生命周期。

如果你能熟练掌握以上三个阶段的知识技能,那么你就可以满足 C++开发行业的高级需求。

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

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

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

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

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

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

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

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

其实还有《C++标准库(第 2 版)》、《C++并发编程实战》、《C++编程思想(两卷合订本)》等,介绍的这些书我都买了,不过说实话,后面的几本都是泛泛的看了下,当作工具书。

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

侯捷老师的八部曲:

侯捷老师的八部曲:

QT 视频教程:

QT 视频教程

最后

这个宝藏Github整理的资料,爱了爱了

「超全!」谷歌大神 LeetCode 刷题笔记 PDF 分享

字节跳动「50道高频算法题」

无意间发现 Google 代码模板,分享给大家!

需要学习的东西还多,该收心学习和上班了,愿每个努力奋斗的小伙伴都会被时光温柔以待!

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章