怎么用
184 道 C 语言练习题。程序里的标识符和函数名保持英文,题目说明、提示和命令行
输出都是中文。两个包按自己的情况挑一个,解压到哪都行(中文、带空格的路径也在
验收清单里):
-full.zip(约 190 MB):自带编译器(w64devkit)和 Python,不用装任何开发
工具,也不需要管理员权限。-slim.zip(约 0.6 MB):只有练习,需要自己装 Python 3 和 MinGW-w64 GCC。
双击 clings.cmd 就开始:第一次运行先讲一遍用法(一共多少道题、要改哪个文件、
一开始不通过是正常的),然后编译并测试第一道题,跑完停在菜单上,窗口不会一闪
而过。菜单里 1 重跑、2 用 VS Code 打开、3 用浏览器里的内置编辑器打开、
4 看提示。做过的题记在 .clings\progress.json 里,下次双击接着做没做完的
那一道。
每道题发到手上时都是坏的,留了一处空,编译器或测试框架报的错就是题目本身。
第一次跑不通过属于正常流程;改完文件回到菜单按 1 重跑,通过之后它会告诉你
下一道题在哪。
只想用命令行的话,list、run、hint、solution、reset、verify、
doctor、open、web 都有,用法见包里的 README.md。练习名写成
00_basics/01_printf 这样的全名最省事。
关于这个包
- 练习内容和上游 clings 同步,
差异只有四处:平台变体、运行器的 Windows 适配、中英对照表,以及课程序列(主题
的教学顺序、不再重复的练习、补上的中间难度练习)。打包和真机验收由 CI 在
windows-latest上跑完才发布。 - 少数练习有 Windows 变体,清单和原因见
docs/portability.md。 - 已知问题:v0.3.0 及更早的
-full.zip里内置编辑器起不来(Python 找不到
studio模块,双击和clings.cmd web都受影响),clings.cmd run正常。
换这一版即可。
这一版动的是学习顺序和几道题的取舍,做题的人能感觉到三处。一是主题顺序:
02_macros 移到 03_types_variables 之后——先见类型宽度、有符号/无符号转换
和整型提升,再进宏,02_macros/05_x_macros 不再是没铺垫的坎。二是重复的题
各留一道:15_ub_safety 里与 03_types_variables/03_overflow、
07_pointers/06_dangling_wild、07_pointers/02_null_and_const 重复的三道不再
发出去,剩下的八道重新编号 01–08。三是 16_data_structures 补了两道中间
难度:01_stack_adt(比环形队列小一步)和 04_sorted_array_insert(在可增长
数组和二叉查找树之间),主题页的顺序随之重排。这三处都动了练习编号,而进度是
按练习名记在 .clings\progress.json 里的,所以被重新编号的那几道题会按「没做
过」重新算一遍。
另外,多文件练习跑失败时给的「要改的文件」改成真正留了空的那一个(以前指的是
入口文件),命令行和内置编辑器现在给的是同一个答案。
这一版具体改了什么,见下面的变更列表。
Full Changelog: v0.3.2...v0.4.0