C语言做的单词背诵测试器

单词学习测试器

一个用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() - 释放内存

结构体

  • 定义和使用结构体
  • 结构体数组

使用示例

  1. 首次运行程序会自动创建示例单词库
  2. 选择"开始随机测试",输入测试数量(如5)
  3. 记住显示的单词含义
  4. 选择回忆准确性等级(1-3)
  5. 查看测试结果和正确率
  6. 在错题本中查看错误过的单词
  7. 退出程序时数据会自动保存

注意事项

  • 程序使用自评方式判断准确性(1-3分制)
  • 错题本数据会在程序退出时自动保存
  • 可以手动编辑 word_library.txt 添加更多单词
  • 程序兼容Windows和Linux系统

扩展建议

  • 添加单词发音功能
  • 支持多种测试模式(英文到英文、含义到单词)
  • 添加学习进度跟踪
  • 支持导入/导出单词库
  • 添加图形用户界面
相关推荐
乌暮20 分钟前
Java 抽象类与接口详解:半成品图纸 vs 能力合同
java·开发语言·后端·学习
一条泥憨鱼27 分钟前
苍穹外卖【day12| 工作台,通过Apache POI导入/导出运营数据】
java·后端·苍穹外卖
IT_陈寒33 分钟前
Redis大key删除引发的服务雪崩,这次我真记住了
前端·人工智能·后端
牵猫散步的鱼儿35 分钟前
stride 图像步长
c语言
努力的小雨40 分钟前
10 个任务拆成 22 项能力,Seed 2.1 Pro 哪些方向值得用?
后端
刃神太酷啦1 小时前
前端入门第一课:HTML 基础语法 + 常用标签 + 实战全解
服务器·c语言·前端·javascript·css·c++·html
山下梅子酒2251 小时前
洛谷-入门-B2055
c语言
步行cgn1 小时前
Spring 基于 XML 的自动装配:byType 详解
java·后端·spring
步行cgn10 小时前
Spring c 命名空间注入详解
java·后端·spring
明月_清风10 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven