本项目是一个简易的C/C++编程指南,为南京大学计算机系问题求解课程2019级学生准备。往届的编程指南见problem-solving-class-programming-tutorial。
项目分为3个子项目:Code、Slides 和 Tutorial,使用cmake管理,可以用CLion打开查看。
教程所用到的示例代码。
oj: 提供了一个管理 OJ 的 CMakeLists.txt 模板。也可以下载这个压缩包。
redirect: 方便调试的输入输出重定向函数,使用样例 example_c。
pointer: 第三次线下辅导 用到的源代码,参考了 Pointers - C++ Tutorials。
my_malloc: 第四次线下辅导 的链表小实验, 实现malloc。
线下讲解程序设计的PPT源代码,使用了 beamer 的 mtheme 主题。目录内只有源代码没有pdf,pdf下载见下面的表格:
日期 | 主题 | 文件 |
---|---|---|
2019-10-25 | 环境搭建和C语言入门 | introduction.pdf |
2019-11-01 | 调试技巧, 函数和数组 | function_array.pdf |
2019-11-08 | 指针和动态内存 | pointer_memory.pdf |
2019-11-16 | 结构体和malloc实现 | struct_malloc.pdf |
2019-11-22 | 文件输入输出 | io.pdf |
使用markdown编写,可以用 gitbook-cli 生成 html。目录内只有 markdown 没有 html,可以直接在Github上浏览(目录),也可以打开 problemoverflow.top/c。
本工程使用了cmake,很方便编译 exe, pdf 和 html。
git clone https://github.com/tangruize/programming-tutorial-2019 # 需安装git
cmake -S . -B build # 初始化cmake,需安装cmake和make
cd build
make # 编译OJ的例子,需安装cc和c++编译器,比如gcc和g++
make -j4 # 同上,但同时使用4个线程编译
make -j4 slides # 编译latex,需安装texlive、latexmk 和 xelatex
make gitbook # 生成gitbook的html并在本地打开4000端口服务器,需安装gitbook-cli