「C/C++学习+面试指南」一份涵盖大部分 C++ 程序员所需要掌握的知识。入门、进阶、深入、校招、社招,准备 C++学习 & 面试,首选 CppGuide!
目录
- 可能是最好的计算机编程学习刷题网站
- 在这里你能找到所有的计算机编程学习PDF电子书
- 一些你绝对用的上的编程资源汇总
- 知名大学计算机系开源课程收录(清华、北大、浙大、上交等)
- 可能是最好的C语言学习路线
- C语言相关书籍(附赠PDF资源)
- C语言干货文章
- C语言视频推荐
- C语言开源项目推荐
- 入门教程(阿里云大学)
- 可能是最亲民的C++学习路线
- C++相关书籍(附赠PDF资源)
- C++学习笔记
- C++干货文章
- C++视频推荐
- C++开源推荐
良心推荐一个计算机学习网站,可能是我用过最好的计算机学习网站,可以刷算法、C/C++、Java、硬件、前端等,还有大厂面经、面试真题等。
下面是一些我用过的其中一些比较好的在线题库:C语言练习题库、C++练习题库、算法-面试必刷101、计算机基础语法练习
现在是免费注册的,据我所知后面注册可能要收费了,如果你有类似的需要建议你现在注册一个,正所谓:不白嫖就是亏!!!
- 速来!牛客网大佬的互联网面试总结经验PDF文件!
- 离线版C语言速查手册!免费分享!
- 开发必备!C++离线版参考手册!免费分享!
- 谷歌高级研发工程师出品!支持Java、C++、Go三种语言的Leetcode刷题笔记~
- 《Pro Git 中文版》PDF,带你学会git的骚操作~
- 10套程序员最适合的简历模板!Word格式,白嫖可用~
- 后端必备!SQL语法速成手册免费分享!~
- 图解操作系统、网络、计算机组成PDF下载!那些让你起飞的计算机基础知识~
- 分享一下Github 上爆火的各种硬核技术学习路线思维导图~
- 快来白嫖!腾讯字节阿里美团等一二线互联网大厂真实面经!
- 速来!浙江大学计算机本科课程已开源!附赠离线版资源!
- 大格局!清华大学计算机系课程攻略共享计划!附赠离线版资源!
- C语言源码免费分享!超级玛丽、贪吃蛇、学生管理系统等
C 语言可以零基础入门,它的语法是很多高级编程语言的基础,比如说 Java、C++;并且起到承上启下的作用,向上可以学习高级编程语言,向下可以学习计算机组成原理、操作系统等等偏基础的计算机基础知识。
推荐书籍:
-
第一本书《阿哈C语言》的写书风格个人认为比较风趣幽默,对于培养兴趣,基础学习还是很不错的
-
《C程序设计语言》,机械工业出版社,作者Brian W. Kernighan / (美)Dennis M. Ritchie。C 语言之父写的,入门经典书籍。
-
《C Primer Plus》 ,人民邮电出版社,作者 Stephen Prata。 可以作为 C 语言工具书,也可以作为入门,内容循序渐进,能够锻炼编程思想。
-
《C和指针》 深入了解指针,看完以后对指针不再害怕。
-
《C陷阱与缺陷》 正如书上所说,“本书所揭示的知识,至少能够帮助你减少 C 代码和初级 C++ 代码中 90% 的 Bug”,看完后可以避免 C 语言开发的一些坑。
需要下载下面电子书的话,直接点击书名,输入提取码!
- 征服C指针 提取码:wwcd
- 经典C程序100例 提取码:t8oe
- C专家编程 提取码:uso7
- C语言指针经验总结 提取码:ibjw
- C语言深度解剖 提取码:6qho
- C语言深度解剖 解开程序员面试笔试的秘密 提取码:ffh1
- c语言入门经典(第5版) 提取码:lzro
- C语言解析教程 提取码:mfgv
- C语言函数大全 提取码:ir2d
- C语言的科学和艺术 提取码:zm88
- C语言答疑解惑与典型题解 提取码:8cw5
- C语言从入门到精通 第2版明日科技 提取码:4s8h
- C语言程序设计_现代方法 提取码:t4vn
- C语言常见问题集(问题提高版) 提取码:xto5
- C语言参悟之旅 提取码:5h1t
- C语言参考手册第五版 提取码:t3g1
- C语言编程精粹 提取码:5oai
- C陷阱与缺陷 提取码:nejz
- C和指针(中文版) 提取码:1gvd
- C程序设计语言(英文第2版)及其课后题答案 提取码:wzky
- C程序设计语言(第2版 新版)及课后答案 提取码:rowl
- C 程序设计语言(第2版) 提取码:4s98
- C Primer Plus 中英版 提取码:um90
- C Primer Plus 第6版 中文版 提取码:n30r
- 21天学通C语言 第7版 提取码:8fuj
- [学通C语言的24堂课].刘彬彬&孙秀梅 提取码:f44n
- [C语言必须知道的300个问题].明日科技.扫描版 提取码:bn80
- C语言最全入门笔记
- C语言书籍、软件、60个源码
- 一文带你学C/C++,详细知识点思维导图!
- 10W+ 字C语言从入门到精通保姆级教程(2021版上)
- 10W+字C语言从入门到精通保姆级教程(2021版下)
- 熬夜整理的C/C++万字知识总结(一)
- 熬夜整理的C/C++万字知识总结(二)
- 熬夜整理的C/C++万字知识总结(三)
- 熬夜整理的C/C++万字知识总结(四)
- 熬夜整理的C/C++万字知识总结(五)
- 聊聊我是如何编程入门的
- C语言中三块难啃的硬骨头
- C语言/C++基本语句编程风格
- C语言C++中assert的用法
- 字符串操作的全面总结
- C/C++ 位操作详解
- C/C++基础之sizeof使用
- C语言常用标准库解读
- C/C++ 头文件 “ 细节 ”
- 详细剖析 extern "C"
- 头文件防卫式声明
- 长文详解:C语言预处理命令
- C语言最常用的贪心算法就这么被攻克了
- 干货|手把手教你写单片机的C语言结构体
- 常见的C语言内存错误及对策
- C语言实现面向对象的原理
- 一步步分析-C语言如何面向对象编程
- C语言字符串详解
- 干货 | 深度剖析C语言的main函数
- C语言头文件组织与包含原则
- C 语言怎么可能被淘汰呢?
- 数组越界及其避免方法,C语言数组越界详解
- 看完这篇你还能不懂C语言/C++内存管理?
- C语言/C++ 堆栈工作机制
- 关于堆栈的讲解(我见过的最经典的)
- C/C++ 基础栈溢出及保护机制
- C语言指针详解
- 再谈指针:大佬给你拨开 C 指针的云雾
- C语言函数指针之回调函数
- C语言高效编程与代码优化
- C语言之结构体就这样被攻克了!值得收藏!
- 原码, 反码, 补码 详解
- 浮点数的秘密
- 浮点数比较的精度问题
- 简述C语言宏定义的使用
- 一些值得被定义为常用C语言头文件库的漂亮宏定义(值得收藏,以备使用参考)
- c语言之共用体union、枚举、大小端模式
- C语言文件操作
- C语言常用的一些转换工具函数!
- 几种特殊的函数宏封装方式
- C/C++程序员的编程修养
- 编写可移植 C/C++ 程序的一些要点
- C语言干货分享|更高层次编写嵌入式C代码
- C语言编程规范 clean code
- C语言代码优化方案(深度好文)
- C语言执行效率如何保证,看这一文就够了!
- 关于可重入函数
- 听说有人不了解柔性数组
- 一文读懂C语言与C++动态内存
- OOP 面向对象编程:由 C语言到 C++
- C语言与C++常见面试题
- 难得啊,C语言/C++基础面试知识大集合
- 面试中常见的C语言与C++区别的问题
- C/C++ 八股文
- 熬夜整理,五万字长文总结 C/C++ 知识点
- 面试大全 | C语言高级部分总结
- 两万字带你狙击嵌入式笔试面试题
- 面试:C/C++常见库函数实现
- 学生成绩管理系统案例
- 二叉树操作详解
- 字符串之正则表达式
- 熬夜总结14个秒杀算法题的套路!
- 深拷贝与浅拷贝到底是什么
- 十大经典排序算法(动态演示+代码)
- C 语言实现一个简单的 web 服务器
- 400 行 C 代码实现一个虚拟机
- C/C++ 套接字通信类的封装
- C/C++ 服务器并发
- 手写线程池 - C语言版
- C语言线程库的使用
- C/C++动态检测内存错误利器 - ASan
- C/C++ 关于 cJson 库的使用
- 60个好玩的C语言程序,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言
- The Algorithms - C
- C语言PAT练习
- Learn-Algorithms
- C语言单元测试框架
- CJson:json解码器,C文件只有500行
- EasyLogger-一款轻量级高性能的日志库
- 小型Lisp解释器,不超过1000行代码
- PAT实验辅助平台
- cwebsocket:一款轻量级websocket库
- C语言:斗地主的发牌器
- C 语言实现通讯录
- C 语言实现 2048 游戏
- Tinyhttpd,一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质
- db_tutorial,用 C 从零创建一个简单的数据库
- 分享10个适合初学者学习的C开源项目代码
- C++ 教程
- C++ 简介
- C++ 环境设置
- C++ 基本语法
- C++ 注释
- C++ 数据类型
- C++ 变量类型
- C++ 变量作用域
- C++ 常量
- C++ 修饰符类型
- C++ 存储类
- C++ 运算符
- C++ 循环
- C++ 判断
- C++ 函数
- C++ 数字
- C++ 数组
- C++ 字符串
- C++ 指针
- C++ 引用
- C++ 日期 & 时间
- C++ 基本的输入输出
- C++ 数据结构
- C++ 类 & 对象
- C++ 继承
- C++ 重载运算符和重载函数
- C++ 多态
- C++ 数据抽象
- C++ 数据封装
- C++ 接口(抽象类)
- C++ 文件和流
- C++ 异常处理
- C++ 动态内存
- C++ 命名空间
- C++ 模板
- C++ 预处理器
- C++ 信号处理
- C++ 多线程
- C++ Web 编程
- C++ STL 教程
- 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++ 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++编程思想(两卷合订本)》等,介绍的这些书我都买了,不过说实话,后面的几本都是泛泛的看了下,当作工具书。
其他文档:
需要下载下面电子书的话,直接点击书名,输入提取码!
- 第二套、侯捷老师全系列八部曲 - 手把手教你进阶系列 提取码:rb16
- 00 - 侯捷系列-全部课件 提取码:poo3
- 01、C++面向对象高级编程(上) 提取码:51rd
- 01、C++面向对象高级编程(下) 提取码:0869
- 00 - 侯捷系列-全部课件 提取码:poo3
- 03 - 侯捷-C++设计模式 提取码:zn8n
- 04 - 侯捷-C++新标准C++11&14 提取码:5jl1
- 05 - 侯捷-C++内存管理机制_60_侯捷 提取码:b8b3
- 06 - 侯捷-C++ Startup 揭密:C++ 程序的生前和死后 提取码:adro
- 07、算法原理与实践(选修) 提取码:7548
- 08、系统设计与实践(选修) 提取码:697b
- 第三套、Linux CC++网络编程实践-陈硕 提取码:wv79
- 陈硕 - C++实践工程学 提取码:blou
- 易学C++ 提取码:yiwo
- 提高C++性能的编程技术.左飞 提取码:anft
- 深入理解C++11 提取码:py26
- 深度探索C++对象模型 提取码:0v2p
- 侯捷STL课件 提取码:fuuh
- 跟我一起写makefile 提取码:k090
- 大话设计模式C++ 提取码:r1wi
- 陈硕 - C++实践工程学 提取码:dgy4
- STL源码剖析+源码 提取码:nkcl
- Modern C++ Design 提取码:t1kk
- Effective-C++-第二版 提取码:vy1b
- Effective STL中文版 提取码:t3gy
- Effective C++ 第三版 高清PDF 提取码:bd36
- C++设计新思维-泛型编程与设计之应用 提取码:7gew
- C++工程实践经验课 提取码:o5v4
- C++对象模型 提取码:azv9
- C++大学教程 提取码:012g
- C++程序设计语言 提取码:abu1
- C++沉思录中文第2版 提取码:o88v
- C++并发编程实战 提取码:fuj8
- C++标准程序库 提取码:318m
- C++编程调试秘笈 提取码:8ool
- C++编程思想(两卷合订本) 提取码:ekkz
- C++编程规范-101条规则准则与最佳实践 提取码:0o6k
- C++Primer 5th 英文版 提取码:cxmu
- C++ Primer习题集 提取码:lvmx
- C++ Primer-第4版 提取码:8gyu
- C++ Primer(第5版)_带书签_高清完整版 提取码:x6rl
- C++ Primer Plus 提取码:i0p7
- 一、基础知识
- 1、goto 语句(不建议使用)
- 2、一维数组
- 3、二维数组
- 4、函数中的值传递
- 5、函数的声明
- 6、函数的分文件编写
- 7、指针
- 7.1 指针的基本概念
- 7.2 指针变量的定义和使用
- 7.3 指针所占内存空间
- 7.4 空指针和野指针
- 7.5 const修饰指针
- 7.6 指针和数组
- 7.7 指针和函数
- 7.8 指针、数组、函数
- 8、结构体
- 8.1 结构体基本概念
- 8.2 结构体定义和使用
- 8.3 结构体数组
- 8.4 结构体指针
- 8.5 结构体嵌套结构体
- 8.6 结构体做函数参数
- 8.7 结构体中 const使用场景
- 二、核心编程
- 1、内存分区模型
- 1.1 程序运行前
- 1.2 程序运行后
- 1.3 new操作符
- 2、引用
- 2.1 引用的基本使用
- 2.2 引用注意事项
- 2.3 引用做函数参数
- 2.4 引用做函数返回值
- 2.5 引用的本质
- 2.6 常量引用
- 3、函数
- 3.1 函数默认参数
- 3.2 函数占位参数
- 3.3 函数重载
- 1、内存分区模型
- 一文让你学完C++,干货收藏!!!
- 2022最稳C/C++学习路线
- 呐,这不就是你要的C++后台开发学习路线吗?
- 这才是你需要的C语言、C++学习路线!
- 校招| C++ 后台开发学习路线
- STL总结与常见面试题+资料
- 一定用得到的免费C++资源集合,值得收藏
- 两万字总结《C++ Primer》要点
- 深度探索C++对象模型笔记
- Effective C++学习笔记
- C/C++框架和第三方库汇总
- 万字长文系统梳理C++函数指针
- 学过 C++ 的你,不得不知的这 10 条细节!
- 值得收藏的几个 C/C++ 学习网站
- 假如C++是一只箭,你会用它来射哪只雕?| 就业岗位分享
- 如何优雅地利用C++编程从1乘到20?
- C/C++ 中的 #pragma once 作用是什么?
- C++ Best Practices (C++最佳实践)翻译与阅读笔记
- 防御性编程技巧
- 五万字读懂c++
- 看完这 7 条,模拟 C++ 新功能只是一个小目标!
- 硬核 | C++ 基础大全
- C++模板总结
- C++ 读取 UTF-8 及 GBK 系列的文本方法及原理
- C++ 日期和时间编程
- C++ 编程习惯与编程要点
- C++ 内存模型
- 编程5分钟,命名2小时!聊聊命名规则!
- C++ 与正则表达式
- 手写线程池 - C++版
- C++ 线程的使用
- C++ 八股文(一)
- C++ 使用 chrono 库处理日期和时间
- 硬核 | 50 家企业 C++ 面经分享
- C++编译期多态与运行期多态
- C++ 并发编程(C++11 到 C++17 )
- C++内存管理(建议收藏)
- 两万字长文,见过最好的模板元编程文章!
- C++虚函数表原理浅析
- C++函数调用过程深入分析
- 动图演示:如何彻底理解红黑树?
- C++性能优化
- 万字长文|深入 C++ 内存管理
- 一个程序员的C++学习之路
- C++异常机制概述
- 这些课堂上不教的 C++ 的基本特性你都知道吗?
- C++ 如何避免内存泄露?
- C++11 中的左值、右值和将亡值
- C/C++函数指针与指针函数
- delete 和 delete [] 的真正区别
- C++ 学习笔记
- 一起探索C++类内存分布
- 【最佳实践】C++陷阱与套路
- 泛型Lambda,如此强大!
- 架构思维:如何让写程序像搭积木一样轻松?
- 打工人万字讲清软件性能优化
- C++按值返回对象那些事
- 哪个程序经得起这样的优化?
- C++ 的门门道道
- 线程安全代码到底是怎么编写的?
- 内存管理:程序是如何被优雅的装载到内存中
- 简单!代码原来是这样被CPU跑起来的
- 600 条最强 Linux 命令总结
- C++对象的底层原理都在这儿了,还敢说学不会?
- C++是如何从代码到游戏的?
- if-else和switch-case哪个效率更高?看这四张图。
- 谈谈 C++ 单例模式
- 亲身体验!后端工程师学习路径、书籍、视频推荐
- C++常见的三种内存破坏的场景和分析
- 你踩过几种C++内存泄露的坑?
- 内存池设计与实现
- 打开线程 | 进程 | 协程的大门
- 深度好文|面试官:进程和线程,我只问这19个问题
- 效能优化实践 | C/C++单元测试万能插桩工具
- 手写线程池 - C++版
- C++ 线程的使用
- C++学到什么程度可以面试工作?
- C++ 内存管理(一)
- std 源码剖析及 C++ 内存管理(二)
- C++代码简化之道
- 揭开高性能服务器底层面纱
- windows程序崩溃调试终极武器
- 长文预警!C语言与C++常见问答题
- 提升 C++ 开发效率的几个小技巧
- 书单:拓展对C++的认知层次
- 和各种诡异 Bug 打交道 13 年,我总结了 18 个经验
- 去银行写代码是什么样的体验
- 谈谈C++新标准带来的属性(Attribute)
- 百度C++工程师的那些极限优化(并发篇)
- 百度C++工程师的那些极限优化(内存篇)
- 图解|从武侠角度探究STL排序算法的奥秘
- C++中是如何调用C接口的?
- C++编码优化之减少冗余拷贝或赋值
- 计算机为什么要用补码?
- 生成随机数的方式你选对了吗?
- 总结了24个C++的大坑,看你能躲过几个?
- 这些知识点你都知道吗,测试你的C++入门程度
- 超硬核 | 2 万字+20 图带你手撕 STL 序列式容器源码
- 浅析C++智能指针和enable_shared_from_this 机制
- 经典永不过时!重温设计模式
- 全网首发!!C++20新特性全在这一张图里了
- C++的最后一道坎|百万年薪的程序员
- C++模版的本质
- 10 个内存引发的大坑,你能躲开几个?
- C++内存管理全景指南
- 9个提高代码运行效率的小技巧你知道几个?
- 精选 30 个 C++ 面试题(含解析)
- 腾讯 C++ 笔试/面试题及答案
- C++ 万字长文第一篇---拿下字节面试
- 《逆袭进大厂》之C++篇49问49答(绝对的干货)
- 《逆袭进大厂》第二弹之C++进阶篇59问59答(超硬核干货)
- 《逆袭进大厂》之C++提高篇79问79答
- 自己动手实现一个malloc内存分配器 | 30图
- 现代C++之手写智能指针
- 10张图22段代码,万字长文带你搞懂虚拟内存模型和malloc内部原理
- 面试系列之C++的对象布局【建议收藏】
- c++代码整洁之道
- 源码分析C++的string的实现
- 23种设计模式的通俗解释,看完秒懂
- 一位大佬对于 Qt 学习的最全总结(三万字干货)
- 3万字Linux总结
- 加密与解密
- TCP数据粘包的处理
- FreeNOS:深入理解C++,以及操作系统原理。FreeNOS(Free Niek的操作系统)是一个基于C++的基于微内核的学习操作系统。这是一个用C++实现的微内核的操作系统,各种宏内核中的服务作为一个独立的services在微内核中,基于消息的通信方式,这点其实跟mac内核中的mach那部分机制相似。
- Boost:Boost 库是一个经过千锤百炼、可移植、提供源代码的C++ 库,作为标准库的后备,是C++ 标准化进程的发动机之一。 Boost 库由C++标准委员会库工作组成员发起,在C++ 社区中影响甚大,其成员已近2000 人。 Boost 库为我们带来了最新、最酷、最实用的技术,是不折不扣的“ 准” 标准库。
- muduo:一个基于 Reactor 模式的现代 C++ 网络库,它采用非阻塞 IO 模型,基于事件驱动和回调,支持多核多线程,适合编写 Linux 服务端多线程网络应用程序。
- libevent:一个是轻量级的网络库.
- log4cpp:日志库, 支持多线程, 日志重定向到网络等都有, 反正你能想到的日志的功能, 都有。
- OpenSSL:OpenSSL 包含一个命令行工具用来完成OpenSSL 库中的所有功能,更好的是,它可能已经安装到你的系统中了。
- wfrest:简单高效的c++11异步restful网络框架。
- workflow:当前最火最简洁好用的c++异步网络库workflow。
- modern-cpp-tutorial:modern-cpp-tutorial 是现代 C++ 教程,它的目的是提供关于现代 C++(2020 年前)的相关特性的全面介绍。
- MyTinySTL:用 C++11 重新复写了一个小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合 C++ 新手来实践一番。
- Tinytetris:Tinytetris 是一个用 C++ 编写的终端版俄罗斯方块游戏。它提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习。