C语言编程:建立班级通讯录程序
需积分: 9 192 浏览量
更新于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 上传
2021-10-14 上传
2021-11-25 上传
2022-12-15 上传
2022-11-03 上传
2008-10-05 上传
2022-10-27 上传
yunjuanaabbyunshu
- 粉丝: 0
- 资源: 11
最新资源
- d3graphTheory:使用d3.js制作的互动式和彩色图论教程
- arcticseals:与NOAA海洋哺乳动物实验室合作进行的深度学习项目,用于对航空影像中的北极海豹进行检测和分类,以了解北极海豹如何适应不断变化的世界
- 61IC_S4282.rar_OpenCV_Visual_C++_
- FramerBasics
- A+InfoPower 2011(good).zip
- tableone:用于创建“表1”的R包,描述具有或不具有倾向得分加权的基线特征
- Discreet Links-crx插件
- NagiosCFG-开源
- ANFIS-Design.rar_matlab例程_matlab_
- matlab代码续行-UWPFlow:UWContinuationPowerFlow(c)1992、1996、1999、2006C.Caniz
- CSS3横向手风琴风格菜单
- leetcode:收集LeetCode问题以使编码面试更上一层楼! -使用[LeetHub](https
- ekpmeasure:用于各种实验的计算机控制代码存储库
- vue+node+mongodb完成的拼多多移动端仿站(练习项目).zip
- 查找:查找R的完整功能定义,包括编译后的代码,S3和S4方法
- CONTROLLER.zip_单片机开发_C++_