C语言编程:建立班级通讯录程序
需积分: 0 79 浏览量
更新于2024-07-28
收藏 5.87MB DOC 举报
"2012计算机二级C上机题库答案.doc"
这个文档内容是关于2012年计算机二级C语言考试的一个上机题目,主要涉及文件操作和结构体数据类型的使用。题目要求考生完善一个C语言程序,该程序用于创建一个班级通讯录,将学生的信息(编号、姓名和电话)存储到一个二进制文件中,并在之后读取验证数据是否正确写入。
首先,程序定义了一个名为`STYPE`的结构体,包含了三个成员:`num`(学生编号),`name`(姓名,长度为10个字符),以及`tel`(电话号码,长度也为10个字符)。在`main()`函数中,预先定义了5个`STYPE`类型的实例`s[10]`,并填充了一些示例数据。
接下来,我们需要关注的是`fun()`函数。这个函数的目的是打开一个名为"myfile5.dat"的二进制文件,并将结构体数组`s`中的每个元素写入文件。在函数签名中,`___1___*std`需要填写正确的类型,这里应该是`STYPE*`,因为`std`是结构体数组的指针。
在`fun()`函数内部,`___2___*fp`需要声明为`FILE*`类型,因为`fopen()`函数返回的是指向文件的指针,`fp`将用于后续的文件操作。`fopen()`函数用于打开文件,参数"wb"表示以写入模式打开文件,如果文件不存在则创建,如果存在则清空原有内容。
在`fwrite()`调用中,`___3___`应替换为`fp`,因为我们要将结构体数组的元素写入到之前打开的文件`fp`中。`fwrite()`函数的参数分别是:要写入的数据(`&std[i]`,即结构体数组的当前元素),数据的大小(`sizeof(STYPE)`),以及要写入的数量(1,因为我们一次写入一个结构体)。
在`main()`函数的最后,如果`fun()`函数成功执行,会调用`check()`函数来验证文件写入是否成功。`check()`函数会尝试以读取模式重新打开"myfile5.dat"文件,然后读取数据并打印到屏幕上,以便于检查数据的完整性。
这个题目考察了C语言中结构体的使用,文件操作(包括`fopen()`, `fwrite()`, `fclose()`等函数的使用),以及指针和数组的概念。解答时需注意结构体指针的使用,以及文件操作的正确流程。
2022-11-30 上传
2021-10-14 上传
2023-09-20 上传
2023-09-26 上传
2023-10-27 上传
2023-07-22 上传
2023-12-11 上传
2023-07-28 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
yunjuanaabbyunshu
- 粉丝: 0
- 资源: 11
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命