单词学习测试器
一个用C语言实现的单词学习测试程序,支持从文件加载单词库、随机测试、错题本等功能。
功能特点
- 📚 文件加载:从文本文件加载英文-英文单词库
- 🎲 随机测试:随机抽取单词进行测试
- 📊 统计功能:记录测试次数、正确率等统计信息
- 📝 错题本:自动保存错误次数多的单词
- 💾 数据持久化:测试数据自动保存到文件
编译和运行
简单GCC指令(推荐)
bash
# 编译程序
gcc word_test.c -o word_test.exe
# 运行程序
word_test.exe
其他编译选项
bash
# 带警告标志
gcc -Wall -Wextra -std=c99 word_test.c -o word_test.exe
# 带优化
gcc -O2 word_test.c -o word_test.exe
文件说明
word_test.c
- 主程序源代码word_library.txt
- 单词库文件(程序会自动创建示例)wrong_words.txt
- 错题本文件(程序自动生成)
单词库文件格式
单词库文件 word_library.txt
的格式如下:
hello greeting
world earth
computer machine
programming coding
每行一个单词,英文单词和含义用空格分隔。
程序功能
1. 开始随机测试
- 输入要测试的单词数量
- 程序随机抽取单词进行测试
- 显示单词和含义,然后询问回忆准确性
- 自动记录错误次数
2. 查看统计信息
- 显示总单词数、测试次数、正确次数
- 计算并显示正确率
- 显示错误次数最多的单词
3. 查看错题本
- 显示所有错误过的单词
- 按错误次数从高到低排序
- 帮助重点复习薄弱单词
C语言知识点
本程序涉及以下C语言知识点:
文件操作
fopen()
- 打开文件fscanf()
- 格式化读取fprintf()
- 格式化写入fclose()
- 关闭文件
随机数生成
srand()
- 设置随机数种子rand()
- 生成随机数time()
- 获取当前时间作为种子
字符串处理
strcpy()
- 字符串复制strcmp()
- 字符串比较strstr()
- 字符串查找strcspn()
- 查找字符位置
内存管理
malloc()
- 动态内存分配free()
- 释放内存
结构体
- 定义和使用结构体
- 结构体数组
使用示例
- 首次运行程序会自动创建示例单词库
- 选择"开始随机测试",输入测试数量(如5)
- 记住显示的单词含义
- 选择回忆准确性等级(1-3)
- 查看测试结果和正确率
- 在错题本中查看错误过的单词
- 退出程序时数据会自动保存
注意事项
- 程序使用自评方式判断准确性(1-3分制)
- 错题本数据会在程序退出时自动保存
- 可以手动编辑
word_library.txt
添加更多单词 - 程序兼容Windows和Linux系统
扩展建议
- 添加单词发音功能
- 支持多种测试模式(英文到英文、含义到单词)
- 添加学习进度跟踪
- 支持导入/导出单词库
- 添加图形用户界面


