欢迎来到 C 语言训练营导学阶段实验!
本实验将帮助你熟悉 C 语言编程环境,以及如何使用 C 语言编写程序。
您必须报名 C 语言训练营

您必须在训练营个人中心完成 CNB 账号绑定

// I AM NOT DONE 注释。


# Ubuntu/Debian 安装依赖
sudo apt-get update
sudo apt-get install gcc python3 inotify-tools
# macOS 安装依赖(使用 Homebrew)
brew install gcc
# 使用 Makefile
make c-checker
# 或者手动编译
gcc -Wall -Wextra -std=c11 -o c-checker checker.c
./c-checker list
# 或者
make list
./c-checker hint 01_hello_world
# 或者
make hint EXERCISE=01_hello_world
编辑 exercises/ 目录下的 .c 文件,移除 // I AM NOT DONE 注释并实现代码。
./c-checker check 01_hello_world
# 或者
make check EXERCISE=01_hello_world
./c-checker check-all
# 或者
make check-all
./watch.sh
# 或者
make watch
./run.sh 01_hello_world
./clean.sh
# 或者
make clean
当运行所有测试时(check-all),系统会在项目根目录下生成一个总体的JSON格式测试报告:
# 运行所有测试并生成JSON报告
./c-checker check-all
# 查看总体JSON报告
cat test_results_summary.json
# 使用Python格式化显示JSON
python3 -m json.tool test_results_summary.json
JSON报告包含:
C-test/ ├── exercises/ # 练习题源码目录 │ ├── 01_hello_world.c │ ├── 02_count_fingers.c │ └── ... ├── tests/ # C语言测试用例目录 │ ├── test_01_hello_world.c │ ├── test_02_count_fingers.c │ └── ... ├── checker/ # C语言测试框架 │ ├── test_framework.h │ └── test_framework.c ├── checker.c # C语言检查器主程序 ├── c-checker # 编译后的检查器 ├── exercises.toml # 练习题配置文件 ├── Makefile # 构建配置 ├── watch.sh # 监控脚本 ├── run.sh # 运行脚本 ├── clean.sh # 清理脚本 └── README.md # 项目说明
./c-checker list 或 make list./c-checker hint [exercise_name] 或 make hint EXERCISE=[exercise_name]exercises/ 目录下编辑对应的 .c 文件// I AM NOT DONE 行./c-checker check [exercise_name] 或 make check EXERCISE=[exercise_name]# 1. 编译检查器
make c-checker
# 2. 查看练习题列表
./c-checker list
# 3. 查看第一题提示
./c-checker hint 01_hello_world
# 4. 编辑文件
vim exercises/01_hello_world.c
# 5. 在编辑器中:
# - 移除 "// I AM NOT DONE" 行
# - 添加 printf("hello, world.\\n");
# 6. 检查练习题
./c-checker check 01_hello_world
# 7. 如果通过,继续下一题;如果不通过,根据提示修改
编译错误
-lm)测试失败
// I AM NOT DONE 标记权限问题
chmod +x *.sh./run.sh [exercise_name] 单独运行程序查看输出gcc -Wall 启用更多警告信息欢迎提交问题和改进建议!
本项目采用 MIT 许可证。
Happy Coding! 🚀