2012年计算机二级C语言上机题库:覆盖更新学生数据方法
5星 · 超过95%的资源 需积分: 3 103 浏览量
更新于2024-07-28
5
收藏 1.52MB DOC 举报
本题是关于全国计算机二级C语言的上机参考题库中的一个编程练习,涉及到了结构体、文件操作以及指针的使用。题目背景是设计一个名为`fun`的函数,该函数的目标是读取一个名为`student.dat`的文件,找到最后一个已存储的学生数据,然后用一个新的学生数据`STUn`替换该数据,同时保持其他学生数据不变。整个过程包括了文件的读写操作。
1. 定义结构体`STU`:首先,我们定义了一个结构体`STU`,用于表示学生信息,包含学号`sno`(long类型)、姓名`name`(字符数组,最大长度为10)和三门课程的成绩`scores`(浮点型数组,长度为3)。
2. 文件操作:
- `fun`函数中,通过`fopen`打开文件`filename`(在这个例子中是`"student.dat"`),模式为`"rb+"`,这意味着文件以二进制模式打开,并允许读写。`__1__`处应填入`filename`。
- 使用`fseek`函数定位到文件末尾,这里的参数是`(long)sizeof(STU)`,表示从文件末尾向前移动`STU`的大小个字节。`__2__`处应填入`fp`(文件指针)。
- `fwrite`函数用于将`STUn`中的数据写回文件,第一个参数是需要写入的地址(&n,这里假设`n`是指向`STUn`的指针),第二个参数是每个元素的大小(`sizeof(STU)`),第三个参数是写入的元素个数(1,因为只写入一个`STU`),第四个参数是目标文件指针`__3__`,即`fp`。
3. `main`函数中的操作:
- 初始化`STU`数组`t`,存储了5个学生的信息。
- 将`t`数组的内容写入到`student.dat`文件中。
- 再次打开文件,读取数据到`ss`数组。
- 使用循环打印原始数据,显示每个学生的学号、姓名和成绩。
通过这个题目,考生需要掌握如何使用结构体、文件操作以及指针来处理和更新二进制文件中的数据。理解并正确填写`fun`函数中的代码片段是解题的关键,特别是文件指针的使用和文件定位。同时,需要理解文件操作的基本流程,如打开、读写和关闭文件。在实际考试中,这类题目考察了对C语言基础操作的理解和实践能力。
点击了解资源详情
2021-10-01 上传
2021-10-06 上传
2021-10-18 上传
2021-11-01 上传
最骚的就是你
- 粉丝: 1090
- 资源: 193
最新资源
- 稳定瓶:使瓶子或容器可以单手打开
- 重现经典的ibatis示例项目jpetstore,采用最新的springMVC+mybatis+mysql.zip
- coreos_on_ec2:一组 bash 脚本,用于在 EC2 上轻松启动 CoreOS 集群
- UseGDI绘图 vc++
- computer-database:我在Excilys实习期间进行的培训项目
- 73958319:关于我
- generic-serial-orchestrator
- 这是mysql的学习笔记.zip
- HPC-project:openMP,MPI和CUDA中生命游戏的并行化
- RealReactors:我的世界关于React堆的mod
- PetFlow
- even-odd-game
- jquery.fcs:使用 ENTER 键移动焦点、向前、向后和分组任何元素的 jQuery 插件
- Unal-Class-Chalenge
- 重新学习MySQL,不浮躁.zip
- winshop:一个受Microsoft Windows 10启发的小型轻量级Web桌面应用程序