C/C++学习路线


1 C/C++学习概述

1.1 C语言的基础知识

  • 关键字
  • 数据类型
  • 输入/输出/格式化
  • 运算符
  • 表达式
  • 语句
  • 判断
  • 循环
  • 数组
  • 结构体/共同体/枚举/位操作
  • 指针
  • 函数
  • 内存管理

1.2 C++的基础知识

除C语言的部分外,C++还有如下知识点:

  • 面向对象的特性:抽象、类、封装、继承、多态
  • 容器
  • 模板
  • 泛型
  • STL
  • RTTI
  • 元编程

C/C++基础学相关书籍:《C Primer Plus》《C和指针》《C专家编程》


2 C/C++编程学习四大件

2.1 数据结构和算法

常见数据结构:

  • 字符串
  • 数组
  • 链表
  • 队列
  • 哈希

  • 常见算法:
  • 排序算法
  • 查找算法
    相关学习书籍:《大话数据结构》《剑指offer》

2.2 操作系统

  • 内存管理和调度
  • 多任务:多线程/并发/锁
  • I/O管理
  • 文件管理
    相关学习书籍:《深入理解操作系统》

2.3 计算机网络

2.3.1 计算机网络分层

ISO七层模型:将计算机网络从上至下划分为应用层(Application Layer)、表示层(Presentation Layer)、会话层(Session Layer)、运输层(Transport Layer)、网络层(Network Layer)、数据链路层(Data Link Layer)、物理层(Physical Layer)。

TCP/IP四层模型:将计算机网络从上至下划分为应用层、运输层、网际层、网络接口层。

五层模型:将计算机网络从上至下划分为应用层、运输层、网际层、数据链路层、物理层。

C/S架构

2.3.2 典型协议(以TCP/IP四层模型举例)

  • 应用层:DNS协议、HTTP/HTTPS协议
  • 传输层:TCP协议、UDP协议
  • 网络层:IP协议、ICMP协议
  • 网络接口层:ARP协议
    相关学习书籍:《TCP/IP详解》

2.4 设计模式

相关学习书籍:《大话设计模式》


3 应用与编程实践

3.1 Linux操作系统学习

推荐学习书籍:《Linux就该这么学》

3.2 Linux平台的编译和调试

编译:GCC编译
调试:GDB调试
推荐学习书籍:GNU官网英文文档、《Debugging with gdb 》中文版、《跟我一起写makefile》(陈皓著)

3.3 Linux环境编程

推荐学习书籍:《Unix环境高级编程》、《Linux高性能服务器编程》、《Posix多线程程序设计》


C/C++学习路线
http://example.com/2021/07/25/C学习路线/
作者
DustWind
发布于
2021年7月25日
许可协议